Documentation

Arithmetization.OmegaOne.Nuon

theorem LO.Arith.Nuon.mul_len_lt_len_hash {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {i : V} {I : V} {L : V} (hi : i I) :
i * L < I # L
theorem LO.Arith.Nuon.mul_len_lt_len_hash' {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {i : V} {K : V} {z : V} (hi : i z) :
def LO.Arith.Nuon.ext {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (L : V) (S : V) (i : V) :
V
Equations
Instances For
    theorem LO.Arith.Nuon.ext_eq_zero_of_lt {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {L : V} {S : V} {i : V} (h : S i * L) :
    @[simp]
    theorem LO.Arith.Nuon.ext_le_self {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (L : V) (S : V) (i : V) :
    theorem LO.Arith.Nuon.ext_graph_aux {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (z : V) (S : V) (L : V) (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 : V) (S : V) (L : V) (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_zero {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (L : V) (i : V) :
      theorem LO.Arith.Nuon.ext_eq_of_ge {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {L : V} {S : V} {S' : V} {i : V} (h : S S') :
      theorem LO.Arith.Nuon.ext_eq_of_gt {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {L : V} {S : V} {S' : V} {i : V} (h : i * L < S') :
      theorem LO.Arith.Nuon.ext_eq_hash_of_le {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {I : V} {L : V} {S : V} {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 : V} {i : V} {S₁ : V} {S₂ : V} {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 : V} {L : V} {i : V} {j : V} {S₁ : V} {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 : V} {I : V} {i : V} {j : V} {S₁ : V} {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 : V) (L : V) (S : V) (i : V) (X : V) :
      V
      Equations
      Instances For
        theorem LO.Arith.Nuon.append_nil {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I : V) (L : V) (S : V) (i : V) :
        LO.Arith.Nuon.append I L S i 0 = S % LO.Arith.bexp (I # L) (i * L)
        theorem LO.Arith.Nuon.len_append {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I : V) (L : V) (S : V) {i : V} {X : V} (hi : i I) (hX : 0 < X) :
        theorem LO.Arith.Nuon.append_lt_hash {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I : V) (L : V) (S : V) {i : V} {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 : V) (L : V) (S : V) {i : V} {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 : V) (L : V) (S : V) {i : V} {X : V} (hi : i I) (hX : X L) :
        theorem LO.Arith.Nuon.ext_append_lt {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (I : V) (L : V) (S : V) {i : V} {j : V} {X : V} (hi : i I) (hij : j < i) :
        def LO.Arith.Nuon.IsSegment {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (L : V) (A : V) (start : V) (intv : V) (S : V) :
        Equations
        Instances For
          def LO.Arith.Nuon.Segment {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (U : V) (L : V) (A : V) (start : V) (intv : V) (nₛ : V) (nₑ : V) :
          Equations
          Instances For
            def LO.Arith.Nuon.IsSeries {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (U : V) (I : V) (L : V) (A : V) (iter : V) (T : V) :
            Equations
            Instances For
              def LO.Arith.Nuon.Series {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (U : V) (I : V) (L : V) (A : V) (iter : V) (n : V) :
              Equations
              Instances For
                def LO.Arith.Nuon.SeriesSegment {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (U : V) (I : V) (L : V) (A : V) (k : V) (n : V) :
                Equations
                Instances For
                  theorem LO.Arith.Nuon.SeriesSegment.series {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U : V} {I : V} {L : V} {A : V} {k : V} {n : V} (H : LO.Arith.Nuon.SeriesSegment U I L A k n) :
                  theorem LO.Arith.Nuon.IsSegment.le_add {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {L : V} {A : V} {start : V} {intv : V} {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 : V) (L : V) (A : V) (start : V) (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 : V} {L : V} {A : V} {start : V} {intv : V} {nₛ : V} {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 : V} {L : V} {A : V} {start : V} {intv : V} {nₛ : V} {nₑ₁ : V} {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 : V} {I : V} {L : V} {A : V} {iter : V} {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 : V} {I : V} {L : V} {A : V} {iter : V} {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 : V} {I : V} {L : V} {A : V} {iter : V} {n₁ : V} {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 : V} {I : V} {L : V} {A : V} {k : V} {n : V} (H : LO.Arith.Nuon.SeriesSegment U I L A k n) :
                  n k
                  theorem LO.Arith.Nuon.SeriesSegment.initial {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U : V} {I : V} {L : V} {A : V} (Upos : 0 < U) :
                  theorem LO.Arith.Nuon.SeriesSegment.zero {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U : V} {I : V} {L : V} {k : V} (Upos : 0 < U) :
                  theorem LO.Arith.Nuon.SeriesSegment.uniq {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {U : V} {I : V} {L : V} {A : V} {k : V} {n₁ : V} {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 : V} {I : V} {L : V} {A : V} (hU : (I # L) ^ 2 U) {start : V} {intv : V} {nₛ : V} {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 : V} {I : V} {L : V} {A : V} (hU : (I # L) ^ 2 U) (hIL : I ^ 2 L) {iter : V} {n : V} {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 : V) (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 : V} {I : V} {L : V} {A : V} (hU : (I # L) ^ 2 U) (hIL : I ^ 2 L) {k : V} {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 : V} {b : V} :
                      a ^ 4 b ^ 4 a b
                      theorem LO.Arith.Nuon.bexp_four_mul {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {a : V} {a' : V} {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.le {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {A : V} {k : V} {n : V} (H : LO.Arith.Nuon.NuonAux A k n) :
                                  n k
                                  theorem LO.Arith.Nuon.NuonAux.uniq {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {A : V} {k : V} {n₁ : V} {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.succ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {n : V} {A : V} {k : V} (H : LO.Arith.Nuon.NuonAux A k n) (hk : k A) :
                                  theorem LO.Arith.Nuon.NuonAux.exists {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {A : V} {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 : V} {A : V} {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'
                                  theorem LO.Arith.Nuon.NuonAux.two_mul {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {A : V} {k : V} {n : V} (hk : k A) :
                                  theorem LO.Arith.Nuon.NuonAux.two_mul_add_one {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {A : V} {k : V} {n : V} (hk : k A) :
                                  LO.Arith.Nuon.NuonAux A k nLO.Arith.Nuon.NuonAux (2 * A + 1) (k + 1) (n + 1)
                                  def LO.Arith.Nuon {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (A : V) (n : V) :
                                  Equations
                                  Instances For
                                    def LO.Arith.nuon {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] (a : V) :
                                    V
                                    Equations
                                    Instances For
                                      theorem LO.Arith.Nuon.nuon_eq {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₀ + 𝛀₁] {a : V} {b : V} (h : LO.Arith.Nuon a b) :
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        Equations
                                        • =