Mercurial > hg > Members > kono > Proof > automaton
diff agda/regular-language.agda @ 69:f124fceba460
subset construction
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 06 Nov 2019 17:18:58 +0900 |
parents | 293a2075514b |
children | 702ce92c45ab |
line wrap: on
line diff
--- a/agda/regular-language.agda Thu Oct 31 21:41:54 2019 +0900 +++ b/agda/regular-language.agda Wed Nov 06 17:18:58 2019 +0900 @@ -44,6 +44,14 @@ Star : {Σ : Set} → ( A : language {Σ} ) → language {Σ} Star {Σ} A = split A ( Star {Σ} A ) +test-split : {Σ : Set} → {A B : List In2 → Bool} → split A B ( i0 ∷ i1 ∷ i0 ∷ [] ) ≡ ( + ( A [] /\ B ( i0 ∷ i1 ∷ i0 ∷ [] ) ) \/ + ( A ( i0 ∷ [] ) /\ B ( i1 ∷ i0 ∷ [] ) ) \/ + ( A ( i0 ∷ i1 ∷ [] ) /\ B ( i0 ∷ [] ) ) \/ + ( A ( i0 ∷ i1 ∷ i0 ∷ [] ) /\ B [] ) + ) +test-split {_} {A} {B} = refl + open RegularLanguage isRegular : {Σ : Set} → (A : language {Σ} ) → ( x : List Σ ) → (r : RegularLanguage Σ ) → Set isRegular A x r = A x ≡ contain r x @@ -58,6 +66,11 @@ } } +-- closed-in-union' : {Σ : Set} → (A B : RegularLanguage Σ ) +-- → ( M : Automaton {!!} Σ ) → ( astart : {!!} ) +-- → ( x : List Σ ) → (Union (contain A) (contain B) x) ≡ true → accept M astart x ≡ true +-- closed-in-union' = {!!} + closed-in-union : {Σ : Set} → (A B : RegularLanguage Σ ) → ( x : List Σ ) → isRegular (Union (contain A) (contain B)) x ( M-Union A B ) closed-in-union A B [] = lemma where lemma : aend (automaton A) (astart A) \/ aend (automaton B) (astart B) ≡