Documentation

LeanPool.InfinitaryLogic.Methods.WellOrdering.MarkExtension

Marking extension: the range-based constant split (issue #12, commit 4b part 2) #

The constant-sensitive closure rules split an arbitrary constant c by c ∈ Set.range ratConstIdx — not by parity coding (per review: ratConstIdx is injective but not proved surjective onto the evens; unused even indices are treated exactly like Henkin constants, as ordinary auxiliary constants with no rank insertion).

The range split #

Odd (Henkin) constants lie outside the rational range — parity.

ω₁ arithmetic #

theorem FirstOrder.Language.add_lt_omega1 {α β : Ordinal.{0}} ( : α < (Cardinal.aleph 1).ord) ( : β < (Cardinal.aleph 1).ord) :
α + β < (Cardinal.aleph 1).ord

ω₁ is closed under addition.

ω₁ is closed under successor.

The strict-monotonicity slot #

The generic closure step #

def FirstOrder.Language.StarWitness.addSentence {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {Γ : Set (L.withConstants ).Sentenceω} {α : Ordinal.{0}} (W : StarWitness φ lt Γ α) {χ : (L.withConstants ).Sentenceω} (hreal : χ.Realize W.M) (hsupp : ∀ (q : ), ratConstIdx q sentenceJConsts χq Set.range W.mark) :
StarWitness φ lt (Γ {χ}) α

Adding a realized, already-covered sentence: a sentence realized by the witness whose mentioned rationals are all marked extends the remainder without touching the marking.

Equations
  • W.addSentence hreal hsupp = { M := W.M, inst := W.inst, ne := , h := W.h, base_realize := , rem_realize := , m := W.m, mark := W.mark, mark_mono := , mark_cover := , witness := W.witness }
Instances For

    The composite rational-marking operation #

    theorem FirstOrder.Language.StarWitness.mark_rat {L : Language} {φ : L.Sentenceω} {lt : L.Relations 2} {Γ : Set (L.withConstants ).Sentenceω} {α β : Ordinal.{0}} (W : StarWitness φ lt Γ β) ( : α + α < β) (q₀ : ) :
    ∃ (W' : StarWitness φ lt Γ α), q₀ Set.range W'.mark Set.range W.markSet.range W'.mark

    Marking a rational (the range-split case 1): from a witness at β with α + α < β, produce a witness at α whose marking covers q₀. Already-marked rationals need only downward closure; an unmarked rational is automatically fresh for the remainder (mark_cover), so its constant re-points to the engine's chain point at the strict-monotonicity slot.