NF weak partition development: NominalLoweringLemmas.
Structural facts used by the direct Metamath certificate compiler. They
turn the source $d x ph check into the exact de-Bruijn lift equation needed
by Flypitch's quantifier rules.
Proof-translation construction identified upstream as shiftRhoAt.
Equations
- NFChoice.DirectNominalPrf.Nominal.shiftRhoAt rho cutoff x = NFChoice.DirectNominalPrf.Nominal.shiftIndexAt cutoff (rho x)
Instances For
@[simp]
@[simp]
theorem
NFChoice.DirectNominalPrf.Nominal.shiftRhoAt_update
(rho : SemanticCore.Var → ℕ)
(cutoff : ℕ)
(x : SemanticCore.Var)
(candidate : ℕ)
:
shiftRhoAt (updateRho rho x candidate) cutoff = updateRho (shiftRhoAt rho cutoff) x (shiftIndexAt cutoff candidate)
theorem
NFChoice.DirectNominalPrf.Nominal.shiftRhoAt_bind
(rho : SemanticCore.Var → ℕ)
(cutoff : ℕ)
(x : SemanticCore.Var)
:
theorem
NFChoice.DirectNominalPrf.Nominal.shiftRhoAt_lift
(rho : SemanticCore.Var → ℕ)
(cutoff : ℕ)
:
theorem
NFChoice.DirectNominalPrf.Nominal.lowerClassPred_shiftAt
(rho : SemanticCore.Var → ℕ)
(candidate cutoff : ℕ)
(A : SemanticCore.Class)
:
lowerClassPred (shiftRhoAt rho cutoff) (shiftIndexAt cutoff candidate) A = lowerClassPred rho candidate A ↑f' 1 # cutoff
theorem
NFChoice.DirectNominalPrf.Nominal.lowerWff_shiftAt
(rho : SemanticCore.Var → ℕ)
(cutoff : ℕ)
(p : SemanticCore.Wff)
:
theorem
NFChoice.DirectNominalPrf.Nominal.lowerClassPred_congr_fv
(rho sigma : SemanticCore.Var → ℕ)
(candidate : ℕ)
(A : SemanticCore.Class)
(h : ∀ x ∈ A.fv, rho x = sigma x)
:
theorem
NFChoice.DirectNominalPrf.Nominal.lowerWff_congr_fv
(rho sigma : SemanticCore.Var → ℕ)
(p : SemanticCore.Wff)
(h : ∀ x ∈ p.fv, rho x = sigma x)
:
theorem
NFChoice.DirectNominalPrf.Nominal.bindRho_eq_shiftRhoAt_zero_of_ne
(rho : SemanticCore.Var → ℕ)
{x y : SemanticCore.Var}
(hyx : y ≠ x)
:
theorem
NFChoice.DirectNominalPrf.Nominal.lowerWff_bind_eq_lift_of_not_mem_fv
(rho : SemanticCore.Var → ℕ)
(x : SemanticCore.Var)
(p : SemanticCore.Wff)
(hx : x ∉ p.fv)
:
def
NFChoice.DirectNominalPrf.Nominal.ax17
(p : SemanticCore.Wff)
(x : SemanticCore.Var)
(hx : x ∉ p.fv)
:
NPrf (p.imp (SemanticCore.Wff.all x p))
Proof-translation construction identified upstream as ax17.