Documentation

LeanPool.InfinitaryLogic.Methods.WellOrdering.ClosureFields

The closure fields (issue #12, commit 4b part 3 — Exercise 4.28) #

The fifteen closure rules of the well-ordering consistency property, as WOMem-preservation theorems, in the reviewed order: C0 and deterministic connectives; branching through the cofinal-fiber lemma; equality/relation congruence; constant-sensitive rules through the range split and mark_rat; the fresh odd witness (whose index is chosen separately to avoid the finite remainder support — parity only places it outside the rational range).

Every rule opens with the ∈ Bφ split (WOMem.union_of_mem_base: adding a base member changes nothing); the genuine extensions go through WOMem.extend, whose three obligations (universe, finite support, and (*) at every level) are discharged per-rule from the GenU reachability lemmas, the sentenceJConsts monotonicity calculus, and the StarWitness operations of the previous commits.

The split and extension steps #

theorem FirstOrder.Language.WOMem.extend {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) {χ : (L.withConstants ).Sentenceω} (hχnb : χbaseDiagram φ lt) (hχU : χ GenU (BoundedFormulaω.mapLanguage (L.lhomWithConstants ) φ) (BoundedFormulaω.mapLanguage (L.lhomWithConstants ) φ)) (hχsupp : (sentenceJConsts χ).Finite) (hstar : α < (Cardinal.aleph 1).ord, StarCondition φ lt (S \ baseDiagram φ lt {χ}) α) :
WOMem φ lt (S {χ})

The generic extension step: adding a non-base sentence to a member preserves membership, given the universe, finite-support, and (*) obligations.

The deterministic extension driver #

C0 #

(C0a) No member contains falsum.

(C0b) No member contains a sentence and its negation — the symmetric four-case base/remainder argument through the C0 helper.

Deterministic connective fields #

theorem FirstOrder.Language.WOMem.C2_not_not {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (ψ : (L.withConstants ).Sentenceω) ( : (BoundedFormulaω.not ψ).not S) :
WOMem φ lt (S {ψ})

(C2) Double negation.

theorem FirstOrder.Language.WOMem.C1_neg_imp {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (ψ₁ ψ₂ : (L.withConstants ).Sentenceω) ( : (BoundedFormulaω.imp ψ₁ ψ₂).not S) :
WOMem φ lt (S {ψ₁}) WOMem φ lt (S {BoundedFormulaω.not ψ₂})

(C1') Negated implication: both halves.

theorem FirstOrder.Language.WOMem.C3_iInf {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (φs : (L.withConstants ).Sentenceω) ( : BoundedFormulaω.iInf φs S) (k : ) :
WOMem φ lt (S {φs k})

(C3) Countable conjunction: every component.

theorem FirstOrder.Language.WOMem.C4_neg_iSup {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (φs : (L.withConstants ).Sentenceω) ( : (BoundedFormulaω.iSup φs).not S) (k : ) :
WOMem φ lt (S {BoundedFormulaω.not (φs k)})

(C4') Negated disjunction: every negated component.

The branching driver #

theorem FirstOrder.Language.WOMem.branch_choice {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} :
WOMem φ lt S∀ {ι : Type} [Countable ι] [Nonempty ι] (tgt : ι(L.withConstants ).Sentenceω) (hchoice : α < (Cardinal.aleph 1).ord, ∃ (i : ι), StarCondition φ lt (S \ baseDiagram φ lt {tgt i}) α), ∃ (i : ι), α < (Cardinal.aleph 1).ord, StarCondition φ lt (S \ baseDiagram φ lt {tgt i}) α

The branching driver: if every level admits some branch, one branch works at every level — the cofinal-fiber pigeonhole plus downward closure.

theorem FirstOrder.Language.WOMem.C1_imp {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (ψ₁ ψ₂ : (L.withConstants ).Sentenceω) ( : BoundedFormulaω.imp ψ₁ ψ₂ S) :
WOMem φ lt (S {BoundedFormulaω.not ψ₁}) WOMem φ lt (S {ψ₂})

(C1) Implication: one of the two branches extends.

theorem FirstOrder.Language.WOMem.C4_iSup {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (φs : (L.withConstants ).Sentenceω) ( : BoundedFormulaω.iSup φs S) :
∃ (k : ), WOMem φ lt (S {φs k})

(C4) Countable disjunction: some component extends.

theorem FirstOrder.Language.WOMem.C3_neg_iInf {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (φs : (L.withConstants ).Sentenceω) ( : (BoundedFormulaω.iInf φs).not S) :
∃ (k : ), WOMem φ lt (S {BoundedFormulaω.not (φs k)})

(C3') Negated conjunction: some negated component extends.

Equality congruence #

theorem FirstOrder.Language.WOMem.eq_symm {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (a b : ) ( : constEq a b S) :
WOMem φ lt (S {constEq b a})

Equality symmetry.

theorem FirstOrder.Language.WOMem.eq_trans {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (a b d : ) (h₁ : constEq a b S) (h₂ : constEq b d S) :
WOMem φ lt (S {constEq a d})

Equality transitivity.

Constant-sensitive fields #

theorem FirstOrder.Language.WOMem.eq_refl {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (c : ) :
WOMem φ lt (S {constEq c c})

Equality reflexivity (constant-sensitive: the range split).

theorem FirstOrder.Language.WOMem.all_inst {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (ψ : (L.withConstants ).BoundedFormulaω Empty 1) ( : ψ.all S) (c : ) :
WOMem φ lt (S {instConst c ψ})

Universal instantiation (constant-sensitive: the range split).

theorem FirstOrder.Language.WOMem.neg_all_witness {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (ψ : (L.withConstants ).BoundedFormulaω Empty 1) ( : ψ.all.not S) :
∃ (c : ), WOMem φ lt (S {BoundedFormulaω.not (instConst c ψ)})

The fresh existential witness: syntactic freshness is chosen against the finite remainder-and-source support; parity (oddness) separately places the constant outside the rational range.

theorem FirstOrder.Language.WOMem.rel_congr {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {S : Set (L.withConstants ).Sentenceω} (hS : WOMem φ lt S) (l : ) (R : L.Relations l) (g : Fin l) (i : Fin l) (b : ) ( : relInst R g S) (heq : constEq (g i) b S) :
WOMem φ lt (S {relInst R (Function.update g i b)})

Relation congruence (the fifteenth field): one-coordinate replacement along a remainder equality. Remainder/root sources use ordinary equality congruence in the approximating model; a diagram-atom source first marks both endpoints at a positive level, obtains the atom through the chain, and descends.