Documentation

RegexCorrectness.NFA.Semantics.ProofData.Cast

theorem Regex.NFA.Compile.ProofData.Group.castToExpr [Group] {s : String} {pos pos' : s.ValidPos} {update : List ( × s.ValidPos)} {lb j : } (wf : nfa.WellFormed) (next_lt : next < nfa.nodes.size) (path : nfa'.Path lb nfaExpr.start pos j pos' update) :
nfaExpr.Path lb nfaExpr.start pos j pos' update
theorem Regex.NFA.Compile.ProofData.Alternate.castTo₁ [Alternate] {s : String} {pos pos' : s.ValidPos} {update : List ( × s.ValidPos)} (wf : nfa.WellFormed) (next_lt : next < nfa.nodes.size) (path : nfa'.Path nfa.nodes.size nfa₁.start pos next pos' update) :
theorem Regex.NFA.Compile.ProofData.Alternate.castTo₂ [Alternate] {s : String} {pos pos' : s.ValidPos} {update : List ( × s.ValidPos)} {lb : } (wf : nfa.WellFormed) (next_lt : next < nfa.nodes.size) (path : nfa'.Path lb nfa₂.start pos next pos' update) :
nfa₂.Path lb nfa₂.start pos next pos' update
theorem Regex.NFA.Compile.ProofData.Concat.castFrom₂ [Concat] {s : String} {pos pos' : s.ValidPos} {update : List ( × s.ValidPos)} (path : nfa₂.Path nfa.nodes.size nfa₂.start pos next pos' update) :
theorem Regex.NFA.Compile.ProofData.Concat.castTo₂ [Concat] {s : String} {pos pos' : s.ValidPos} {update : List ( × s.ValidPos)} (wf : nfa.WellFormed) (next_lt : next < nfa.nodes.size) (path : nfa'.Path nfa.nodes.size nfa₂.start pos next pos' update) :