Documentation

LeanPool.Incompleteness.Arithmetization.ISigmaZero.Exponential.Exp

Exp #

noncomputable def LO.Arith.ext {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (u z : V) :
V

Imported declaration from the Incompleteness formalization.

Equations
Instances For
    theorem LO.Arith.ext_graph {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (a b c : V) :
    a = ext b c xc, x = c / b a = x % b

    Imported declaration from the Incompleteness formalization.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem LO.Arith.ext_le_add {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (u z : V) :
      ext u z z
      @[simp]
      theorem LO.Arith.ext_lt {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {u : V} (z : V) (pos : 0 < u) :
      ext u z < u
      theorem LO.Arith.ext_add_of_dvd_sq_right {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {u z₁ z₂ : V} (pos : 0 < u) (h : u ^ 2 z₂) :
      ext u (z₁ + z₂) = ext u z₁
      theorem LO.Arith.ext_add_of_dvd_sq_left {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {u z₁ z₂ : V} (pos : 0 < u) (h : u ^ 2 z₁) :
      ext u (z₁ + z₂) = ext u z₂
      theorem LO.Arith.ext_rem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {i j z : V} (ppi : PPow2 i) (ppj : PPow2 j) (hij : i < j) :
      ext i (z % j) = ext i z

      Imported declaration from the Incompleteness formalization.

      Equations
      Instances For

        Imported declaration from the Incompleteness formalization.

        Equations
        Instances For

          Imported declaration from the Incompleteness formalization.

          Equations
          Instances For
            def LO.Arith.Exponential.Seqₛ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (y X Y : V) :

            Imported declaration from the Incompleteness formalization.

            Equations
            Instances For
              def LO.Arith.Exponential.Seqₘ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (x y X Y : V) :

              Imported declaration from the Incompleteness formalization.

              Equations
              Instances For
                def LO.Arith.Exponential {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (x y : V) :

                Imported declaration from the Incompleteness formalization.

                Equations
                Instances For
                  theorem LO.Arith.Exponential.Seqₛ.iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (y X Y : V) :
                  Seqₛ y X Y uy, u 2PPow2 u → ((∃ ext_u_XX, ext_u_X = ext u X 2 * ext_u_X = ext (u ^ 2) X) ext_u_YY, ext_u_Y = ext u Y ext_u_Y ^ 2 = ext (u ^ 2) Y) (∃ ext_u_XX, ext_u_X = ext u X 2 * ext_u_X + 1 = ext (u ^ 2) X) ext_u_YY, ext_u_Y = ext u Y 2 * ext_u_Y ^ 2 = ext (u ^ 2) Y

                  Imported declaration from the Incompleteness formalization.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    theorem LO.Arith.Exponential.graph_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (x y : V) :
                    Exponential x y x = 0 y = 1 Xy ^ 4, Yy ^ 4, (1 = ext 4 X 2 = ext 4 Y) Seqₛ y X Y uy ^ 2, u 2 PPow2 u x = ext u X y = ext u Y

                    Imported declaration from the Incompleteness formalization.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Imported declaration from the Incompleteness formalization.

                      Equations
                      Instances For

                        Imported declaration from the Incompleteness formalization.

                        Equations
                        Instances For
                          theorem LO.Arith.Exponential.Seq₀.rem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {X Y i : V} (h : Seq₀ X Y) (ppi : PPow2 i) (hi : 4 < i) :
                          Seq₀ (X % i) (Y % i)
                          theorem LO.Arith.Exponential.Seqₛ.rem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {y y' X Y i : V} (h : Seqₛ y X Y) (ppi : PPow2 i) (hi : y' ^ 2 < i) (hy : y' y) :
                          Seqₛ y' (X % i) (Y % i)
                          noncomputable def LO.Arith.Exponential.append {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (i X z : V) :
                          V

                          Imported declaration from the Incompleteness formalization.

                          Equations
                          Instances For
                            theorem LO.Arith.Exponential.append_lt {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (i X : V) {z : V} (hz : z < i) :
                            append i X z < i ^ 2
                            theorem LO.Arith.Exponential.ext_append_last {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (i X : V) {z : V} (hz : z < i) :
                            ext i (append i X z) = z
                            theorem LO.Arith.Exponential.ext_append_of_lt {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {i j : V} (hi : PPow2 i) (hj : PPow2 j) (hij : i < j) (X z : V) :
                            ext i (append j X z) = ext i X
                            theorem LO.Arith.Exponential.Seq₀.append {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {X Y i x y : V} (H : Seq₀ X Y) (ppi : PPow2 i) (hi : 4 < i) :
                            theorem LO.Arith.Exponential.Seqₛ.append {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {z x y X Y i : V} (h : Seqₛ z X Y) (ppi : PPow2 i) (hz : z < i) :
                            Seqₛ z (Exponential.append (i ^ 2) X x) (Exponential.append (i ^ 2) Y y)
                            theorem LO.Arith.Exponential.pow2_ext_of_seq₀_of_seqₛ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {y X Y : V} (h₀ : Seq₀ X Y) (hₛ : Seqₛ y X Y) {i : V} (ne2 : i 2) (hi : i y ^ 2) (ppi : PPow2 i) :
                            Pow2 (ext i Y)
                            theorem LO.Arith.Exponential.range_pow2 {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} (h : Exponential x y) :
                            theorem LO.Arith.Exponential.le_sq_ext_of_seq₀_of_seqₛ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {y X Y : V} (h₀ : Seq₀ X Y) (hₛ : Seqₛ y X Y) {i : V} (ne2 : i 2) (hi : i y ^ 2) (ppi : PPow2 i) :
                            i ext i Y ^ 2
                            theorem LO.Arith.Exponential.two_mul_ext_le_of_seq₀_of_seqₛ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {y X Y : V} (h₀ : Seq₀ X Y) (hₛ : Seqₛ y X Y) {i : V} (ne2 : i 2) (hi : i y ^ 2) (ppi : PPow2 i) :
                            2 * ext i Y i
                            theorem LO.Arith.Exponential.exponential_exists_sq_of_exponential_even {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential (2 * x) y∃ (y' : V), y = y' ^ 2 Exponential x y'
                            theorem LO.Arith.Exponential.bit_zero {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential x yExponential (2 * x) (y ^ 2)
                            theorem LO.Arith.Exponential.exponential_even {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential (2 * x) y ∃ (y' : V), y = y' ^ 2 Exponential x y'
                            theorem LO.Arith.Exponential.exponential_exists_sq_of_exponential_odd {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential (2 * x + 1) y∃ (y' : V), y = 2 * y' ^ 2 Exponential x y'
                            theorem LO.Arith.Exponential.bit_one {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential x yExponential (2 * x + 1) (2 * y ^ 2)
                            theorem LO.Arith.Exponential.exponential_odd {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential (2 * x + 1) y ∃ (y' : V), y = 2 * y' ^ 2 Exponential x y'
                            theorem LO.Arith.Exponential.two_le_ext_of_seq₀_of_seqₛ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {y X Y : V} (h₀ : Seq₀ X Y) (hₛ : Seqₛ y X Y) {i : V} (ne2 : i 2) (hi : i y ^ 2) (ppi : PPow2 i) :
                            2 ext i Y
                            theorem LO.Arith.Exponential.ext_le_ext_of_seq₀_of_seqₛ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {y X Y : V} (h₀ : Seq₀ X Y) (hₛ : Seqₛ y X Y) {i : V} (ne2 : i 2) (hi : i y ^ 2) (ppi : PPow2 i) :
                            ext i X < ext i Y
                            theorem LO.Arith.Exponential.range_pos {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} (h : Exponential x y) :
                            0 < y
                            theorem LO.Arith.Exponential.lt {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} (h : Exponential x y) :
                            x < y
                            @[simp]
                            theorem LO.Arith.Exponential.one_not_even {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] (a : V) :
                            1 2 * a
                            theorem LO.Arith.Exponential.exponential_succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential (x + 1) y ∃ (z : V), y = 2 * z Exponential x z
                            theorem LO.Arith.Exponential.of_succ_two_mul {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential (x + 1) (2 * y)Exponential x y

                            Alias of the forward direction of LO.Arith.Exponential.exponential_succ_mul_two.

                            theorem LO.Arith.Exponential.succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential x yExponential (x + 1) (2 * y)

                            Alias of the reverse direction of LO.Arith.Exponential.exponential_succ_mul_two.

                            theorem LO.Arith.Exponential.one_le_ext_of_seq₀_of_seqₛ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {y X Y : V} (h₀ : Seq₀ X Y) (hₛ : Seqₛ y X Y) {i : V} (ne2 : i 2) (hi : i y ^ 2) (ppi : PPow2 i) :
                            1 ext i X
                            theorem LO.Arith.Exponential.zero_uniq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {y : V} (h : Exponential 0 y) :
                            y = 1
                            @[simp]
                            theorem LO.Arith.Exponential.succ_lt_s {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} (h : Exponential (x + 1) y) :
                            2 y
                            theorem LO.Arith.Exponential.uniq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y₁ y₂ : V} :
                            Exponential x y₁Exponential x y₂y₁ = y₂
                            theorem LO.Arith.Exponential.inj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x₁ x₂ y : V} :
                            Exponential x₁ yExponential x₂ yx₁ = x₂
                            theorem LO.Arith.Exponential.exponential_elim {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x y : V} :
                            Exponential x y x = 0 y = 1 ∃ (x' : V) (y' : V), x = x' + 1 y = 2 * y' Exponential x' y'
                            theorem LO.Arith.Exponential.monotone {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x₁ x₂ y₁ y₂ : V} :
                            Exponential x₁ y₁Exponential x₂ y₂x₁ < x₂y₁ < y₂
                            theorem LO.Arith.Exponential.monotone_le {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x₁ x₂ y₁ y₂ : V} (h₁ : Exponential x₁ y₁) (h₂ : Exponential x₂ y₂) :
                            x₁ x₂y₁ y₂
                            theorem LO.Arith.Exponential.monotone_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x₁ x₂ y₁ y₂ : V} (h₁ : Exponential x₁ y₁) (h₂ : Exponential x₂ y₂) :
                            x₁ < x₂ y₁ < y₂
                            theorem LO.Arith.Exponential.monotone_le_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x₁ x₂ y₁ y₂ : V} (h₁ : Exponential x₁ y₁) (h₂ : Exponential x₂ y₂) :
                            x₁ x₂ y₁ y₂
                            theorem LO.Arith.Exponential.add_mul {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg0] {x₁ x₂ y₁ y₂ : V} (h₁ : Exponential x₁ y₁) (h₂ : Exponential x₂ y₂) :
                            Exponential (x₁ + x₂) (y₁ * y₂)
                            theorem LO.Arith.Exponential.range_exists {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (x : V) :
                            ∃ (y : V), Exponential x y
                            @[implicit_reducible]
                            noncomputable instance LO.Arith.instExp {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] :
                            Exp V
                            Equations
                            theorem LO.Arith.exponential_graph {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} :

                            Imported declaration from the Incompleteness formalization.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              theorem LO.Arith.exp_of_exponential {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} (h : Exponential a b) :
                              exp a = b
                              @[simp]
                              theorem LO.Arith.exp_zero {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] :
                              exp 0 = 1
                              @[simp]
                              theorem LO.Arith.exp_one {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] :
                              exp 1 = 2
                              theorem LO.Arith.exp_succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                              exp (a + 1) = 2 * exp a
                              theorem LO.Arith.exp_even {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                              exp (2 * a) = exp a ^ 2
                              @[simp]
                              theorem LO.Arith.lt_exp {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                              a < exp a
                              @[simp]
                              theorem LO.Arith.exp_pos {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                              0 < exp a
                              @[simp]
                              theorem LO.Arith.one_le_exp {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                              1 exp a
                              @[simp]
                              theorem LO.Arith.exp_pow2 {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                              Pow2 (exp a)
                              @[simp]
                              theorem LO.Arith.exp_monotone {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} :
                              exp a < exp b a < b
                              @[simp]
                              theorem LO.Arith.exp_monotone_le {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} :
                              exp a exp b a b
                              theorem LO.Arith.nat_cast_exp {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (n : ) :
                              ↑(exp n) = exp n