Documentation

LeanPool.NFWeakPartition.SemanticCore.PartialLowering

NF weak partition development: SemanticCore.PartialLowering.

Shift every mapped variable under a new de Bruijn binder.

Equations
Instances For

    Shift the old mappings and bind x at de Bruijn index zero.

    Equations
    Instances For

      Partial class-predicate lowering; failure means an unmapped free name.

      Equations
      Instances For

        Partial nominal lowering, usable at depth zero with the empty environment.

        Equations
        Instances For
          def NFChoice.SemanticCore.PartialLowering.MappedAgreement {S : Type u_1} {n : ℕ} (rho : Var → Option (Fin n)) (xs : DVec S n) (v : Var → S) (support : Finset Var) :

          The partial environment supplies the values of all names in support.

          Equations
          Instances For

            An empty partial environment, available even at de Bruijn depth zero.

            Equations
            Instances For
              def NFChoice.SemanticCore.PartialLowering.assignNames {S : Type u_1} :
              List Var → (Var → S) → (Var → S) → Var → S

              Assign every listed name its value in a target valuation.

              Equations
              Instances For
                theorem NFChoice.SemanticCore.PartialLowering.assignNames_eq_of_not_mem {S : Type u_1} (names : List Var) (base target : Var → S) {x : Var} (hx : x ∉ names) :
                assignNames names base target x = base x
                theorem NFChoice.SemanticCore.PartialLowering.assignNames_eq_of_mem {S : Type u_1} (names : List Var) (base target : Var → S) {x : Var} (hx : x ∈ names) :
                assignNames names base target x = target x
                theorem NFChoice.SemanticCore.PartialLowering.holds_closeNames_assign {S : Fol.Structure Foundation.LNF} (names : List Var) (p : Wff) (base target : Var → S.carrier) (h : Wff.Holds S base (closeNames names p)) :
                Wff.Holds S (assignNames names base target) p

                Specialize a nominal universal closure at a target valuation.

                theorem NFChoice.SemanticCore.PartialLowering.valid_of_holds_closeNames {S : Fol.Structure Foundation.LNF} (names : List Var) (p : Wff) (base : Var → S.carrier) (hcover : p.fv ⊆ names.toFinset) (h : Wff.Holds S base (closeNames names p)) :

                Truth of a universal nominal closure yields global validity of its open body, provided the list covers all free names.

                A valid universal nominal closure yields validity of its open body.

                theorem NFChoice.SemanticCore.PartialLowering.MappedAgreement.mono {S : Type u_1} {n : ℕ} {rho : Var → Option (Fin n)} {xs : DVec S n} {v : Var → S} {s t : Finset Var} (h : MappedAgreement rho xs v t) (hst : s ⊆ t) :
                MappedAgreement rho xs v s
                theorem NFChoice.SemanticCore.PartialLowering.mappedAgreement_update {S : Type u_1} {n : ℕ} (rho : Var → Option (Fin n)) (xs : DVec S n) (v : Var → S) (x : Var) (candidate : Fin n) (p : Wff) (h : MappedAgreement rho xs v (p.fv.erase x)) :
                MappedAgreement (Function.update rho x (some candidate)) xs (update v x (Lowering.lookup xs candidate)) p.fv
                theorem NFChoice.SemanticCore.PartialLowering.mappedAgreement_bind {S : Type u_1} {n : ℕ} (rho : Var → Option (Fin n)) (xs : DVec S n) (v : Var → S) (x : Var) (a : S) (p : Wff) (h : MappedAgreement rho xs v (p.fv.erase x)) :
                theorem NFChoice.SemanticCore.PartialLowering.mappedAgreement_lift {S : Type u_1} {n : ℕ} (rho : Var → Option (Fin n)) (xs : DVec S n) (v : Var → S) (s : Finset Var) (a : S) (h : MappedAgreement rho xs v s) :
                theorem NFChoice.SemanticCore.PartialLowering.lowerClassPredOption_sound {S : Fol.Structure Foundation.LNF} {n : ℕ} (rho : Var → Option (Fin n)) (xs : DVec S.carrier n) (v : Var → S.carrier) (candidate : Fin n) (A : Class) (f : Foundation.Formula n) (hlower : lowerClassPredOption rho candidate A = some f) (hmap : MappedAgreement rho xs v A.fv) :

                Soundness of successful partial class-predicate lowering.

                theorem NFChoice.SemanticCore.PartialLowering.lowerWffOption_sound {S : Fol.Structure Foundation.LNF} {n : ℕ} (rho : Var → Option (Fin n)) (xs : DVec S.carrier n) (v : Var → S.carrier) (p : Wff) (f : Foundation.Formula n) (hlower : lowerWffOption rho p = some f) (hmap : MappedAgreement rho xs v p.fv) :

                Soundness of every successful partial nominal-wff lowering.

                A successful closed lowering has exactly the nominal closed semantics.

                Closed nominal lowering reaches the exact Flypitch sentence semantics.

                Any realized closed lowering is globally valid in the nominal evaluator.

                Generic NF-leaf bridge. The compiler supplies only a reduction-checkable lowering equation for the source schema's universal closure; the theorem turns realization of that exact literal sentence into validity of the open nominal schema.