Documentation

Arithmetization.OmegaOne.Nuon

def LO.Arith.Nuon.ext {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (L S i : V) :
V
Equations
Instances For
    @[simp]
    theorem LO.Arith.Nuon.ext_graph_aux {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (z S L i : V) :
    z = LO.Arith.Nuon.ext L S i (S i * Lz = 0) (i * L < SbS, LO.Arith.Exponential (i * L) b z = S / b % L # 1)
    theorem LO.Arith.Nuon.ext_graph {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (z S L i : V) :
    z = LO.Arith.Nuon.ext L S i lSS, lS = S lLL, lL = L (lS i * lLz = 0) (i * lL < lSbS, LO.Arith.Exponential (i * lL) b hL2 * L + 1, LO.Arith.Exponential lL hL divSS, divS = S / b z = divS % hL)
    def LO.Arith.Nuon.extDef :
    𝚺₀.Semisentence 4
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem LO.Arith.Nuon.cons_app_seven {α : Type u_2} {n : } (a : α) (s : Fin n.succ.succ.succ.succ.succ.succ.succα) :
      (a :> s) 7 = s 6
      @[simp]
      theorem LO.Arith.Nuon.cons_app_eight {α : Type u_2} {n : } (a : α) (s : Fin n.succ.succ.succ.succ.succ.succ.succ.succα) :
      (a :> s) 8 = s 7
      @[simp]
      theorem LO.Arith.Nuon.cons_app_nine {α : Type u_2} {n : } (a : α) (s : Fin n.succ.succ.succ.succ.succ.succ.succ.succ.succα) :
      (a :> s) 9 = s 8
      Equations
      • =
      @[simp]
      theorem LO.Arith.Nuon.ext_eq_of_ge {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {L S S' i : V} (h : S S') :
      theorem LO.Arith.Nuon.ext_eq_of_gt {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {L S S' i : V} (h : i * L < S') :
      theorem LO.Arith.Nuon.ext_eq_hash_of_le {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {I L S i : V} (h : i I) :
      S / LO.Arith.bexp (I # L) (i * L) % L # 1 = LO.Arith.Nuon.ext L S i
      theorem LO.Arith.Nuon.ext_add₁_pow2 {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {L i S₁ S₂ p : V} (pp : LO.Arith.Pow2 p) (h : (i + 1) * L < p) :
      LO.Arith.Nuon.ext L (S₁ + S₂ * p) i = LO.Arith.Nuon.ext L S₁ i
      theorem LO.Arith.Nuon.ext_add₁_bexp {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {I L i j S₁ S₂ : V} (hi : i I) (hij : j < i) :
      LO.Arith.Nuon.ext L (S₁ + S₂ * LO.Arith.bexp (I # L) (i * L)) j = LO.Arith.Nuon.ext L S₁ j
      theorem LO.Arith.Nuon.ext_add₂_bexp {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {L I i j S₁ S₂ : V} (hij : i + j I) (hS₁ : S₁ i * L) :
      LO.Arith.Nuon.ext L (S₁ + S₂ * LO.Arith.bexp (I # L) (i * L)) (i + j) = LO.Arith.Nuon.ext L S₂ j
      def LO.Arith.Nuon.append {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I L S i X : V) :
      V
      Equations
      Instances For
        theorem LO.Arith.Nuon.len_append {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I L S : V) {i X : V} (hi : i I) (hX : 0 < X) :
        theorem LO.Arith.Nuon.append_lt_hash {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I L S : V) {i X : V} (hi : i < I) (hX : X L) :
        LO.Arith.Nuon.append I L S i X < I # L
        theorem LO.Arith.Nuon.append_lt_sq_hash {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I L S : V) {i X : V} (hi : i I) (hX : X L) (Ipos : 0 < I) :
        LO.Arith.Nuon.append I L S i X < (I # L) ^ 2
        theorem LO.Arith.Nuon.ext_append_last {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I L S : V) {i X : V} (hi : i I) (hX : X L) :
        theorem LO.Arith.Nuon.ext_append_lt {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I L S : V) {i j X : V} (hi : i I) (hij : j < i) :
        def LO.Arith.Nuon.IsSegment {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (L A start intv S : V) :
        Equations
        Instances For
          def LO.Arith.Nuon.Segment {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (U L A start intv nₛ nₑ : V) :
          Equations
          Instances For
            def LO.Arith.Nuon.IsSeries {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (U I L A iter T : V) :
            Equations
            Instances For
              def LO.Arith.Nuon.Series {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (U I L A iter n : V) :
              Equations
              Instances For
                Equations
                Instances For
                  theorem LO.Arith.Nuon.IsSegment.le_add {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {L A start intv S : V} (H : LO.Arith.Nuon.IsSegment L A start intv S) (i : V) :
                  i intvLO.Arith.Nuon.ext L S i LO.Arith.Nuon.ext L S 0 + i
                  theorem LO.Arith.Nuon.Segment.refl {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (U L A start n : V) (hL : L # 1 U) (hn : n L) :
                  LO.Arith.Nuon.Segment U L A start 0 n n
                  theorem LO.Arith.Nuon.Segment.le_add {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U L A start intv nₛ nₑ : V} (H : LO.Arith.Nuon.Segment U L A start intv nₛ nₑ) :
                  nₑ nₛ + intv
                  theorem LO.Arith.Nuon.Segment.uniq {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U L A start intv nₛ nₑ₁ nₑ₂ : V} (H₁ : LO.Arith.Nuon.Segment U L A start intv nₛ nₑ₁) (H₂ : LO.Arith.Nuon.Segment U L A start intv nₛ nₑ₂) :
                  nₑ₁ = nₑ₂
                  theorem LO.Arith.Nuon.IsSeries.le_add {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U I L A iter T : V} (H : LO.Arith.Nuon.IsSeries U I L A iter T) (l : V) :
                  l iterLO.Arith.Nuon.ext L T l LO.Arith.Nuon.ext L T 0 + I * l
                  theorem LO.Arith.Nuon.Series.le_add {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U I L A iter n : V} (H : LO.Arith.Nuon.Series U I L A iter n) :
                  n I * iter
                  theorem LO.Arith.Nuon.Series.uniq {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U I L A iter n₁ n₂ : V} (H₁ : LO.Arith.Nuon.Series U I L A iter n₁) (H₂ : LO.Arith.Nuon.Series U I L A iter n₂) :
                  n₁ = n₂
                  theorem LO.Arith.Nuon.SeriesSegment.le {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U I L A k n : V} (H : LO.Arith.Nuon.SeriesSegment U I L A k n) :
                  n k
                  theorem LO.Arith.Nuon.SeriesSegment.zero {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U I L k : V} (Upos : 0 < U) :
                  theorem LO.Arith.Nuon.SeriesSegment.uniq {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U I L A k n₁ n₂ : V} (H₁ : LO.Arith.Nuon.SeriesSegment U I L A k n₁) (H₂ : LO.Arith.Nuon.SeriesSegment U I L A k n₂) :
                  n₁ = n₂
                  theorem LO.Arith.Nuon.Segment.succ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U I L A : V} (hU : (I # L) ^ 2 U) {start intv nₛ nₑ : V} (H : LO.Arith.Nuon.Segment U L A start intv nₛ nₑ) (hintv : intv < I) (hnₛ : nₛ + I L) :
                  LO.Arith.Nuon.Segment U L A start (intv + 1) nₛ (nₑ + LO.Arith.fbit A (start + intv))
                  theorem LO.Arith.Nuon.Series.succ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U I L A : V} (hU : (I # L) ^ 2 U) (hIL : I ^ 2 L) {iter n n' : V} (HT : LO.Arith.Nuon.Series U I L A iter n) (HS : LO.Arith.Nuon.Segment U L A (I * iter) I n n') (hiter : iter < I) :
                  LO.Arith.Nuon.Series U I L A (iter + 1) n'
                  theorem LO.Arith.Nuon.div_mod_succ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (a b : V) :
                  (a + 1) / b = a / b + 1 (a + 1) % b = 0 a % b + 1 = b (a + 1) / b = a / b (a + 1) % b = a % b + 1
                  theorem LO.Arith.Nuon.SeriesSegment.succ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U I L A : V} (hU : (I # L) ^ 2 U) (hIL : I ^ 2 L) {k n : V} (hk : k < I ^ 2) (H : LO.Arith.Nuon.SeriesSegment U I L A k n) :

                  Define $I$, $L$, $U$ to satisfy the following:

                  1. $I$, $L$, $U$ are polynomial of $A$.
                  2. $(I \# L)^2 \le U$
                  3. $\| \| I \|^2 \| \le \|L\|$
                  4. $\| A \| < \|I\|^2$
                  Equations
                  Instances For
                    Equations
                    Instances For
                      theorem LO.Arith.Nuon.four_mul_hash_self {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (a : V) :
                      (4 * a) # (4 * a) (a # a) ^ 16
                      @[simp]
                      theorem LO.Arith.Nuon.pos_sq_iff {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {a : V} :
                      0 < a 0 < a
                      @[simp]
                      theorem LO.Arith.Nuon.pow_four_le_pow_four {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {a b : V} :
                      a ^ 4 b ^ 4 a b
                      theorem LO.Arith.Nuon.bexp_four_mul {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {a a' x : V} (hx : 4 * x < a) (hx' : x < a') :
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def LO.Arith.Nuon.segmentDef :
                        𝚺₀.Semisentence 7
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem LO.Arith.Nuon.bex_eq_le_iff {V : Type u_1} [LO.ORingStruc V] {z : V} {p : VProp} {b : V} :
                            (∃ az, a = b p a) b z p b
                            theorem LO.Arith.Nuon.bex_eq_lt_iff {V : Type u_1} [LO.ORingStruc V] {z : V} {p : VProp} {b : V} :
                            (∃ a < z, a = b p a) b < z p b
                            def LO.Arith.Nuon.seriesDef :
                            𝚺₀.Semisentence 6
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def LO.Arith.Nuon.nuonAuxDef :
                                𝚺₀.Semisentence 3
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  Equations
                                  • =
                                  theorem LO.Arith.Nuon.NuonAux.uniq {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {A k n₁ n₂ : V} (H₁ : LO.Arith.Nuon.NuonAux A k n₁) (H₂ : LO.Arith.Nuon.NuonAux A k n₂) :
                                  n₁ = n₂
                                  theorem LO.Arith.Nuon.NuonAux.exists {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {A k : V} (hk : k A) :
                                  ∃ (n : V), LO.Arith.Nuon.NuonAux A k n
                                  theorem LO.Arith.Nuon.NuonAux.succ_elim {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {n A k : V} (hk : k A) (H : LO.Arith.Nuon.NuonAux A (k + 1) n) :
                                  ∃ (n' : V), n = n' + LO.Arith.fbit A k LO.Arith.Nuon.NuonAux A k n'
                                  def LO.Arith.Nuon {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (A n : V) :
                                  Equations
                                  Instances For
                                    def LO.Arith.nuon {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (a : V) :
                                    V
                                    Equations
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        Equations
                                        • =