Documentation

InfinitaryLogic.Lomega1omega.Depth

Ordinal-valued depth of Lω₁ω formulas #

The well-founded measure for quantifier recursions over BoundedFormulaω (extracted from Methods/Henkin/Construction.lean, where it was born as the truthLemma termination measure, and re-derived privately by Methods/Interpolation/QuotientTruthLemma.lean — this neutral home serves both). sizeOf is inadequate: sizeOf (φs k) is unbounded while sizeOf (iSup φs) = 2, and the all case recurses on (φ.openBounds).subst t, not a structural subterm. depth uses Ordinal.iSup at the countable connectives and is preserved by castLE, relabel, openBounds, and subst, with strict decrease into every connective.

Ordinal-valued depth for termination of truthLemma #

The standard sizeOf measure is inadequate for truthLemma because:

We define an Ordinal-valued depth that uses iSup for iSup/iInf cases, then prove it is preserved by castLE, relabel, openBounds, and subst.

noncomputable def FirstOrder.Language.BoundedFormulaω.depth {L : Language} {α : Type u_1} {n : } :

Ordinal-valued depth of a bounded formula. Uses Ordinal.iSup at iSup/iInf nodes to ensure each component φs k has strictly smaller depth.

Equations
Instances For
    theorem FirstOrder.Language.depth_lt_imp_left {L : Language} {α : Type u_1} {n : } {φ ψ : L.BoundedFormulaω α n} :
    φ.depth < (φ.imp ψ).depth
    theorem FirstOrder.Language.depth_lt_imp_right {L : Language} {α : Type u_1} {n : } {φ ψ : L.BoundedFormulaω α n} :
    ψ.depth < (φ.imp ψ).depth
    theorem FirstOrder.Language.depth_lt_iSup {L : Language} {α : Type u_1} {n : } {φs : L.BoundedFormulaω α n} (k : ) :
    theorem FirstOrder.Language.depth_lt_iInf {L : Language} {α : Type u_1} {n : } {φs : L.BoundedFormulaω α n} (k : ) :
    theorem FirstOrder.Language.depth_lt_all {L : Language} {α : Type u_1} {n : } {φ : L.BoundedFormulaω α (n + 1)} :
    theorem FirstOrder.Language.depth_castLE {L : Language} {m n : } {α : Type u_1} (h : m n) (φ : L.BoundedFormulaω α m) :
    theorem FirstOrder.Language.depth_relabel {L : Language} {α β : Type u_1} {p n : } (g : αβ Fin p) (φ : L.BoundedFormulaω α n) :
    theorem FirstOrder.Language.depth_subst {L : Language} {α : Type u_1} {n : } {β : Type u_1} (φ : L.BoundedFormulaω α n) (tf : αL.Term β) :
    (φ.subst tf).depth = φ.depth
    theorem FirstOrder.Language.depth_openBounds_subst_lt {L : Language} {n : } {β : Type} {φ : L.BoundedFormulaω Empty (n + 1)} (tf : Fin (n + 1)L.Term β) :

    depth (openBounds φ).subst t < depth (all φ) for the truthLemma termination proof.