Equations
- «term_~>_» = Lean.ParserDescr.trailingNode `«term_~>_» 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ~> ") (Lean.ParserDescr.cat `term 81))
Instances For
Equations
- «term_~>*_» = Lean.ParserDescr.trailingNode `«term_~>*_» 81 82 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ~>* ") (Lean.ParserDescr.cat `term 82))
Instances For
Equations
- «term_~s>_» = Lean.ParserDescr.trailingNode `«term_~s>_» 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ~s> ") (Lean.ParserDescr.cat `term 81))
Instances For
Equations
- «term_~s>*_» = Lean.ParserDescr.trailingNode `«term_~s>*_» 81 82 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ~s>* ") (Lean.ParserDescr.cat `term 82))
Instances For
Equations
- «term_~p>_» = Lean.ParserDescr.trailingNode `«term_~p>_» 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ~p> ") (Lean.ParserDescr.cat `term 81))
Instances For
Equations
- «term_~p>*_» = Lean.ParserDescr.trailingNode `«term_~p>*_» 81 82 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ~p>* ") (Lean.ParserDescr.cat `term 82))
Instances For
Equations
- «term_~ps>_» = Lean.ParserDescr.trailingNode `«term_~ps>_» 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ~ps> ") (Lean.ParserDescr.cat `term 81))
Instances For
Equations
- «term_~ps>*_» = Lean.ParserDescr.trailingNode `«term_~ps>*_» 81 82 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ~ps>* ") (Lean.ParserDescr.cat `term 82))
Instances For
Equations
- ParRed.complete ((:λ[a] b) :@ t) = ParRed.complete b[%(ParRed.complete t)::LeanSubst.I]
- ParRed.complete (f :@ a) = ParRed.complete f :@ ParRed.complete a
- ParRed.complete (:λ[A] t) = :λ[A] ParRed.complete t
- ParRed.complete (Term.var x_1) = Term.var x_1
Instances For
Equations
- ParRed.instHasTriangleTerm = { complete := ParRed.complete, triangle := ⋯ }
theorem
Red.pars_action_lift
{t t' : Term}
:
LeanSubst.Star ParRed t t' → LeanSubst.Star ParRedSubstAction %t %t'
theorem
Red.seqs_action_lift
{t t' : Term}
:
LeanSubst.Star Red t t' → LeanSubst.Star RedSubstAction %t %t'
theorem
Red.seqs_action_destruct
{a : LeanSubst.Subst.Action Term}
{t' : Term}
:
LeanSubst.Star RedSubstAction a %t' → ∃ (t : Term), a = %t ∧ LeanSubst.Star Red t t'
theorem
Red.confluence
{s t1 t2 : Term}
:
LeanSubst.Star Red s t1 → LeanSubst.Star Red s t2 → ∃ (t : Term), LeanSubst.Star Red t1 t ∧ LeanSubst.Star Red t2 t