NF weak partition development: NominalAlphaTransport.
Proof-relevant alpha certificates for the direct syntactic replay.
The semantic replay's AlphaVar/AlphaWff/AlphaClass live in Prop, so
Lean may not eliminate them into the proof-object type Fol.prf. These
parallel Type-valued certificates retain the same constructor shapes. Their
eliminator proves that paired nominal binders lower to identical de-Bruijn
formulas; the public handlers then reduce alpha transport to reflexivity.
Paired nominal binders, nearest binder first.
Equations
Instances For
Proof-relevant correspondence of variable occurrences.
- here (env : TBinderEnv) (x y : SemanticCore.Var) : TAlphaVar ((x, y) :: env) x y
- there {env : TBinderEnv} {x y a b : SemanticCore.Var} (ha : a ≠ x) (hb : b ≠ y) (h : TAlphaVar env a b) : TAlphaVar ((x, y) :: env) a b
- free {env : TBinderEnv} {x : SemanticCore.Var} (hl : x ∉ List.map Prod.fst env) (hr : x ∉ List.map Prod.snd env) : TAlphaVar env x x
Instances For
Proof-relevant alpha equivalence of nominal classes.
- cv {env : TBinderEnv} {x y : SemanticCore.Var} (h : TAlphaVar env x y) : TAlphaClass env (SemanticCore.Class.cv x) (SemanticCore.Class.cv y)
- cab {env : TBinderEnv} {x y : SemanticCore.Var} {p q : SemanticCore.Wff} (h : TAlphaWff ((x, y) :: env) p q) : TAlphaClass env (SemanticCore.Class.cab x p) (SemanticCore.Class.cab y q)
Instances For
Proof-relevant alpha equivalence of nominal formulas.
- falsum {env : TBinderEnv} : TAlphaWff env SemanticCore.Wff.falsum SemanticCore.Wff.falsum
- imp {env : TBinderEnv} {p p' q q' : SemanticCore.Wff} (hp : TAlphaWff env p p') (hq : TAlphaWff env q q') : TAlphaWff env (p.imp q) (p'.imp q')
- all {env : TBinderEnv} {x y : SemanticCore.Var} {p q : SemanticCore.Wff} (h : TAlphaWff ((x, y) :: env) p q) : TAlphaWff env (SemanticCore.Wff.all x p) (SemanticCore.Wff.all y q)
- objEq {env : TBinderEnv} {x x' y y' : SemanticCore.Var} (hx : TAlphaVar env x x') (hy : TAlphaVar env y y') : TAlphaWff env (SemanticCore.Wff.objEq x y) (SemanticCore.Wff.objEq x' y')
- objMem {env : TBinderEnv} {x x' y y' : SemanticCore.Var} (hx : TAlphaVar env x x') (hy : TAlphaVar env y y') : TAlphaWff env (SemanticCore.Wff.objMem x y) (SemanticCore.Wff.objMem x' y')
- classEq {env : TBinderEnv} {A A' B B' : SemanticCore.Class} (hA : TAlphaClass env A A') (hB : TAlphaClass env B B') : TAlphaWff env (SemanticCore.Wff.classEq A B) (SemanticCore.Wff.classEq A' B')
- classMem {env : TBinderEnv} {A A' B B' : SemanticCore.Class} (hA : TAlphaClass env A A') (hB : TAlphaClass env B B') : TAlphaWff env (SemanticCore.Wff.classMem A B) (SemanticCore.Wff.classMem A' B')
Instances For
The two de-Bruijn environments agree on every paired occurrence.
Equations
- NFChoice.DirectNominalPrf.Nominal.TRhoAgree env rho sigma = ∀ ⦃x y : NFChoice.SemanticCore.Var⦄ (a : NFChoice.DirectNominalPrf.Nominal.TAlphaVar env x y), rho x = sigma y
Instances For
Alpha-equivalent classes lower to the same candidate predicate.
Alpha-equivalent formulas lower to the same de-Bruijn formula.
Proof-translation construction identified upstream as neg.
Equations
Instances For
Proof-translation construction identified upstream as conj.
Instances For
Proof-translation construction identified upstream as biimp.
Instances For
Proof-translation construction identified upstream as ex.
Instances For
Freshness condition used by mechanically emitted reflexive subtrees.
Equations
- NFChoice.DirectNominalPrf.Nominal.TEnvFresh env support = ∀ ⦃x y : NFChoice.SemanticCore.Var⦄, (x, y) ∈ env → x ≠ y → x ∉ support ∧ y ∉ support
Instances For
Every binder environment is fresh for an empty support.
Extend a fresh binder environment by two fresh endpoints.
Proof-translation construction identified upstream as TAlphaVar.refl_of_fresh.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Proof-relevant reflexivity for every free variable in a support.
Equations
- NFChoice.DirectNominalPrf.Nominal.TReflOn env support = (⦃u : NFChoice.SemanticCore.Var⦄ → u ∈ support → NFChoice.DirectNominalPrf.Nominal.TAlphaVar env u u)
Instances For
Proof-translation construction identified upstream as TReflOn.mono.
Instances For
Proof-translation construction identified upstream as TEnvFresh.reflOn.
Equations
Instances For
Proof-translation construction identified upstream as TReflOn.extend_same.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reflexive class certificate from exact semantic free-variable support.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reflexive formula certificate from exact semantic free-variable support.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Drop-in fv-based reflexivity expected by the frozen AlphaEmitter.
Equations
Instances For
A closed nominal class is alpha-reflexive in every binder environment.
Equations
Instances For
Drop-in fv-based reflexivity expected by the frozen AlphaEmitter.
Equations
Instances For
Reflexive class certificate under externally fresh renamed binders.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reflexive formula certificate under externally fresh renamed binders.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Direct syntactic transport for Wff-valued alpha definitions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Direct syntactic transport for class-valued alpha definitions.
Equations
- One or more equations did not get rendered due to their size.