Documentation

Formalizations.RingTheory.FreeField.ThreeAxes.ArrowInstances

The witnesses of the paper as corners of arrow matrices #

Each witness inverse of the paper is minus the border corner of the inverse of an arrow matrix [[diag d, ω], [α, 0]] (ArrowMatrix), with entries in a division ring D:

Main results #

The statements hold in any division ring; in the paper D is the free field, where the nonvanishing hypotheses are true.

theorem ThreeAxes.ArrowInstances.inv_eq_neg_corner {D : Type u_1} [DivisionRing D] {ι : Type u_2} [Fintype ι] [DecidableEq ι] (d α ω : ι → D) (hd : ∀ (τ : ι), d τ ≠ 0) (hx : ArrowMatrix.arrowSum d α ω ≠ 0) :

x⁻¹ is minus the border corner of the inverse of the arrow matrix, which is a unit.

s = u⁻² + v⁻² + w⁻² #

theorem ThreeAxes.ArrowInstances.arrowSum_s {D : Type u_1} [DivisionRing D] (u v w : D) :
ArrowMatrix.arrowSum ![u ^ 2, v ^ 2, w ^ 2] 1 1 = (u ^ 2)⁻¹ + (v ^ 2)⁻¹ + (w ^ 2)⁻¹
theorem ThreeAxes.ArrowInstances.s_inv_eq_neg_corner {D : Type u_1} [DivisionRing D] (u v w : D) (hu : u ≠ 0) (hv : v ≠ 0) (hw : w ≠ 0) (hs : (u ^ 2)⁻¹ + (v ^ 2)⁻¹ + (w ^ 2)⁻¹ ≠ 0) :
IsUnit (ArrowMatrix.arrow ![u ^ 2, v ^ 2, w ^ 2] 1 1) ∧ ((u ^ 2)⁻¹ + (v ^ 2)⁻¹ + (w ^ 2)⁻¹)⁻¹ = -ArrowMatrix.arrowInv ![u ^ 2, v ^ 2, w ^ 2] 1 1 (Sum.inr ()) (Sum.inr ())

f_k = u⁻² + w⁻² + Σ_{i=1}^{m} yⁱ u⁻² y⁻ⁱ #

def ThreeAxes.ArrowInstances.fDiag {D : Type u_1} [DivisionRing D] (u w : D) (m : ℕ) :
Fin 2 ⊕ Fin m → D

Diagonal of the arrow matrix of f_k: u², w², then m copies of u².

Equations
Instances For
    def ThreeAxes.ArrowInstances.fLeft {D : Type u_1} [DivisionRing D] (y : D) (m : ℕ) :
    Fin 2 ⊕ Fin m → D

    Left border: 1, 1, y, …, y^m.

    Equations
    Instances For
      def ThreeAxes.ArrowInstances.fRight {D : Type u_1} [DivisionRing D] (y : D) (m : ℕ) :
      Fin 2 ⊕ Fin m → D

      Right border: 1, 1, y⁻¹, …, y⁻ᵐ.

      Equations
      Instances For
        theorem ThreeAxes.ArrowInstances.arrowSum_f {D : Type u_1} [DivisionRing D] (u w y : D) (m : ℕ) :
        ArrowMatrix.arrowSum (fDiag u w m) (fLeft y m) (fRight y m) = (u ^ 2)⁻¹ + (w ^ 2)⁻¹ + ∑ i : Fin m, y ^ (↑i + 1) * (u ^ 2)⁻¹ * (y ^ (↑i + 1))⁻¹
        theorem ThreeAxes.ArrowInstances.f_inv_eq_neg_corner {D : Type u_1} [DivisionRing D] (u w y : D) (m : ℕ) (hu : u ≠ 0) (hw : w ≠ 0) (hf : (u ^ 2)⁻¹ + (w ^ 2)⁻¹ + ∑ i : Fin m, y ^ (↑i + 1) * (u ^ 2)⁻¹ * (y ^ (↑i + 1))⁻¹ ≠ 0) :
        IsUnit (ArrowMatrix.arrow (fDiag u w m) (fLeft y m) (fRight y m)) ∧ ((u ^ 2)⁻¹ + (w ^ 2)⁻¹ + ∑ i : Fin m, y ^ (↑i + 1) * (u ^ 2)⁻¹ * (y ^ (↑i + 1))⁻¹)⁻¹ = -ArrowMatrix.arrowInv (fDiag u w m) (fLeft y m) (fRight y m) (Sum.inr ()) (Sum.inr ())

        q_d = w⁻¹ + Σ_{i=0}^{d-1} yⁱ u⁻¹ y⁻ⁱ #

        def ThreeAxes.ArrowInstances.qDiag {D : Type u_1} (u w : D) (d : ℕ) :
        Option (Fin d) → D

        Diagonal of the arrow matrix of q_d: w, then d copies of u.

        Equations
        Instances For
          def ThreeAxes.ArrowInstances.qLeft {D : Type u_1} [DivisionRing D] (y : D) (d : ℕ) :
          Option (Fin d) → D

          Left border: 1, 1, y, …, y^{d-1}.

          Equations
          Instances For
            def ThreeAxes.ArrowInstances.qRight {D : Type u_1} [DivisionRing D] (y : D) (d : ℕ) :
            Option (Fin d) → D

            Right border: 1, 1, y⁻¹, …, y^{-(d-1)}.

            Equations
            Instances For
              theorem ThreeAxes.ArrowInstances.arrowSum_q {D : Type u_1} [DivisionRing D] (u w y : D) (d : ℕ) :
              ArrowMatrix.arrowSum (qDiag u w d) (qLeft y d) (qRight y d) = w⁻¹ + ∑ i : Fin d, y ^ ↑i * u⁻¹ * (y ^ ↑i)⁻¹
              theorem ThreeAxes.ArrowInstances.e_inv_eq_neg_corner {D : Type u_1} [DivisionRing D] (u w y : D) (d : ℕ) (hu : u ≠ 0) (hw : w ≠ 0) (hq : w⁻¹ + ∑ i : Fin d, y ^ ↑i * u⁻¹ * (y ^ ↑i)⁻¹ ≠ 0) :
              IsUnit (ArrowMatrix.arrow (qDiag u w d) (qLeft y d) (qRight y d)) ∧ (w⁻¹ + ∑ i : Fin d, y ^ ↑i * u⁻¹ * (y ^ ↑i)⁻¹)⁻¹ = -ArrowMatrix.arrowInv (qDiag u w d) (qLeft y d) (qRight y d) (Sum.inr ()) (Sum.inr ())

              φ_r = Σ_τ α_τ ℓ_{τ,1}⁻¹ ⋯ ℓ_{τ,r}⁻¹ ω_τ #

              def ThreeAxes.ArrowInstances.chainDiag {D : Type u_1} [DivisionRing D] {ι : Type u_2} {r : ℕ} (ℓ : ι → Fin r → D) :
              ι → D

              d_τ = ℓ_{τ,r} ⋯ ℓ_{τ,1}, so that d_τ⁻¹ = ℓ_{τ,1}⁻¹ ⋯ ℓ_{τ,r}⁻¹.

              Equations
              Instances For
                theorem ThreeAxes.ArrowInstances.prod_reverse_inv {D : Type u_1} [DivisionRing D] (L : List D) :
                L.reverse.prod⁻¹ = (List.map (fun (x : D) => x⁻¹) L).prod

                (a_n ⋯ a_1)⁻¹ = a_1⁻¹ ⋯ a_n⁻¹ in a division ring (List.prod_inv_reverse is for groups).

                theorem ThreeAxes.ArrowInstances.chainDiag_inv {D : Type u_1} [DivisionRing D] {ι : Type u_2} {r : ℕ} (ℓ : ι → Fin r → D) (τ : ι) :
                (chainDiag ℓ τ)⁻¹ = (List.ofFn fun (j : Fin r) => (ℓ τ j)⁻¹).prod
                theorem ThreeAxes.ArrowInstances.arrowSum_phi {D : Type u_1} [DivisionRing D] {ι : Type u_2} [Fintype ι] {r : ℕ} (ℓ : ι → Fin r → D) (α ω : ι → D) :
                ArrowMatrix.arrowSum (chainDiag ℓ) α ω = ∑ τ : ι, α τ * (List.ofFn fun (j : Fin r) => (ℓ τ j)⁻¹).prod * ω τ
                theorem ThreeAxes.ArrowInstances.phi_inv_eq_neg_corner {D : Type u_1} [DivisionRing D] {ι : Type u_2} [Fintype ι] [DecidableEq ι] {r : ℕ} (ℓ : ι → Fin r → D) (α ω : ι → D) (hℓ : ∀ (τ : ι) (j : Fin r), ℓ τ j ≠ 0) (hφ : ∑ τ : ι, α τ * (List.ofFn fun (j : Fin r) => (ℓ τ j)⁻¹).prod * ω τ ≠ 0) :
                IsUnit (ArrowMatrix.arrow (chainDiag ℓ) α ω) ∧ (∑ τ : ι, α τ * (List.ofFn fun (j : Fin r) => (ℓ τ j)⁻¹).prod * ω τ)⁻¹ = -ArrowMatrix.arrowInv (chainDiag ℓ) α ω (Sum.inr ()) (Sum.inr ())