Documentation

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 #

theorem FirstOrder.Language.range_insertNth {m : } {γ : Type u_1} (s : Fin (m + 1)) (x : γ) (f : Fin mγ) :

The range of an inserted tuple.

theorem FirstOrder.Language.exists_insertNth_slot {m : } {mark : Fin m} (hm : StrictMono mark) {q₀ : } (hq : q₀Set.range mark) :
∃ (s : Fin (m + 1)), StrictMono (s.insertNth q₀ mark)

The slot lemma: an unmarked rational has a slot at which insertion keeps the enumeration strictly monotone.

The generic closure step #

def FirstOrder.Language.StarWitness.add_sentence {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
  • One or more equations did not get rendered due to their size.
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.