@@ -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