Skip to content

Commit b14784e

Browse files
committed
Add EpsMonoid for epsilon is recognizable
1 parent db0d45a commit b14784e

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

TraceTheory/TraceTheory/Ochmanski.lean

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,22 @@ theorem recognizable_image_of_regular_finite_rank {X : Language α}
133133
lemma recognizable_zero : IsRecognizable (∅ : Set (Trace I)) :=
134134
⟨PUnit, inferInstance, inferInstance, inferInstance, 1, by simp⟩
135135

136+
inductive EpsMonoid
137+
| one
138+
| dead
139+
deriving DecidableEq, Fintype
140+
141+
instance : Monoid EpsMonoid where
142+
one := .one
143+
mul
144+
| .one, x => x
145+
| .dead, _ => .dead
146+
mul_one x := by cases x <;> rfl
147+
one_mul x := by cases x <;> rfl
148+
mul_assoc x y z := by cases x <;> cases y <;> cases z <;> rfl
149+
136150
lemma recognizable_epsilon : IsRecognizable ({ 1 } : Set (Trace I)) := by
151+
use EpsMonoid, inferInstance, inferInstance, inferInstance
137152
sorry
138153

139154
lemma recognizable_char (a : α) : IsRecognizable ({ ⟦[a]⟧ } : Set (Trace I)) := by

0 commit comments

Comments
 (0)