Skip to content

Commit e150e6a

Browse files
committed
Fix Theorem 4.1 (iii) => (iv)
1 parent 80914b6 commit e150e6a

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

TraceTheory/TraceTheory/Language.lean

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -530,9 +530,9 @@ def matches_cstar_trace (I : Independence α) : RegularExpression α → Set (Tr
530530
| 0 => {}
531531
| 1 => {⟦[]⟧}
532532
| RegularExpression.char a => {⟦[a]⟧}
533-
| P + Q => (matches_trace I P) ∪ (matches_trace I Q)
534-
| P * Q => {t | ∃ p : (matches_trace I P), ∃ q : (matches_trace I Q), t = p * q}
535-
| RegularExpression.star P => kstar (connectedComponents (matches_trace I P))
533+
| P + Q => (matches_cstar_trace I P) ∪ (matches_cstar_trace I Q)
534+
| P * Q => {t | ∃ p : (matches_cstar_trace I P), ∃ q : (matches_cstar_trace I Q), t = p * q}
535+
| RegularExpression.star P => kstar (connectedComponents (matches_cstar_trace I P))
536536

537537
/-- Interpreting this RegularExpression as operating on Trace Languages gives the same matching set
538538
as interpreting (as usual) on String Languages and then projecting to Traces.
@@ -911,16 +911,15 @@ theorem starConnected_is_cRational (X : RegularExpression α) (h : RegularExpres
911911
| zero => simp [RegularExpression.matches_trace, RegularExpression.matches_cstar_trace]
912912
| epsilon => simp [RegularExpression.matches_trace, RegularExpression.matches_cstar_trace]
913913
| char _ => simp [RegularExpression.matches_trace, RegularExpression.matches_cstar_trace]
914-
| plus _ _ _ _ => simp [RegularExpression.matches_trace, RegularExpression.matches_cstar_trace]
915-
| comp _ _ _ _ => simp [RegularExpression.matches_trace, RegularExpression.matches_cstar_trace]
914+
| plus P Q ihP ihQ => simp [RegularExpression.matches_trace, RegularExpression.matches_cstar_trace, ihP h.1, ihQ h.2]
915+
| comp P Q ihP ihQ => simp [RegularExpression.matches_trace, RegularExpression.matches_cstar_trace, ihP h.1, ihQ h.2]
916916
| star P ih =>
917-
replace ih := ih h.left
918917
unfold RegularExpression.matches_trace RegularExpression.matches_cstar_trace
919-
simp
918+
simp [ih h.left]
920919
unfold RegularExpression.isStarConnected at h
921-
have hP_conn : (∀ t ∈ RegularExpression.matches_trace I P, t.isConnected) := by
920+
have hP_conn : (∀ t ∈ RegularExpression.matches_cstar_trace I P, t.isConnected) := by
922921
intro t ht
923-
rw [RegularExpression.matches_toTrace] at ht
922+
rw [<- ih h.left, RegularExpression.matches_toTrace] at ht
924923
rcases t with ⟨w₀⟩
925924
have ⟨w, hw, hw₀⟩ := ht
926925
simp at hw₀

0 commit comments

Comments
 (0)