Documentation

LeanPool.ConwayRefinement.ConwayRefinement.SetTheory.Ordinal.LeastTerm

Deleting the least Cantor term #

The least additive-principal term of a natural ordinal, its deletion, and the properties of that deletion: it splits a nonzero grade as removeLeastTerm a + leastTerm a = a, it drops cantorTermCount by exactly one, and it agrees with NatOrdinal.removeNat _ 1 exactly on the grades carrying a finite part.

noncomputable def NatOrdinal.leastTerm (a : NatOrdinal) :

The final additive-principal term of the ordinal, or zero when the ordinal is zero.

Equations
Instances For

    The ordinal obtained by removing the final additive-principal term from its Cantor decomposition.

    Equations
    Instances For

      The least term of a sum #

      theorem NatOrdinal.leastTerm_add {a b : NatOrdinal} (ha : a ≠ 0) (hb : b ≠ 0) :
      theorem NatOrdinal.nsmul_ne_zero_of_ne_zero {a : NatOrdinal} (ha : a ≠ 0) {r : ℕ} (hr : 1 ≤ r) :
      r • a ≠ 0
      theorem NatOrdinal.leastTerm_nsmul {a : NatOrdinal} (ha : a ≠ 0) {r : ℕ} (hr : 1 ≤ r) :
      theorem NatOrdinal.removeLeastTerm_nsmul {a : NatOrdinal} (ha : a ≠ 0) {r : ℕ} (hr : 1 ≤ r) :

      Deletion on a sum with a repeated summand #

      The grade k • alpha + beta has least Cantor term min (leastTerm alpha) (leastTerm beta), by leastTerm_add and leastTerm_nsmul, so deletion falls on whichever side attains the minimum. The two lemmas below name the two outcomes, and the third says the second outcome can repeat only finitely often.

      theorem NatOrdinal.removeLeastTerm_nsmul_add_of_le {alpha beta : NatOrdinal} (ha : alpha ≠ 0) (hb : beta ≠ 0) {k : ℕ} (hk : 1 ≤ k) (hle : alpha.leastTerm ≤ beta.leastTerm) :
      (k • alpha + beta).removeLeastTerm = alpha.removeLeastTerm + (k - 1) • alpha + beta
      theorem NatOrdinal.removeLeastTerm_nsmul_add_of_ge {alpha beta : NatOrdinal} (ha : alpha ≠ 0) (hb : beta ≠ 0) {k : ℕ} (hk : 1 ≤ k) (hle : beta.leastTerm ≤ alpha.leastTerm) :
      (k • alpha + beta).removeLeastTerm = k • alpha + beta.removeLeastTerm
      theorem NatOrdinal.add_ne_of_isAdditivelyPrincipal {a i j : NatOrdinal} (ha : (val a).IsAdditivelyPrincipal) (hi : i ≠ 0) (hj : j ≠ 0) :
      i + j ≠ a

      Deletion is not strictly monotone below a grade whose least Cantor term exceeds 1: the grade removeLeastTerm a + 1 is strictly below a, yet deletion sends it to removeLeastTerm a rather than below it.

      Agreement with the finite-part operation #