Documentation

LeanPool.CompositionAlgebrasOverRings.Composition.Reduced.Split

The split composition algebras (GPR 21.19) #

GPR 21.19 lists one composition algebra in each of the ranks 1, 2, 4, 8 and calls it the split algebra of that rank:

rankalgebranormtraceconjugation
1kx ↦ x²2xx
2k × k(a, b) ↦ aba + b(a, b) ↦ (b, a)
4Mat₂(k)dettraceadjugate
8Zor(k)ρ₁ρ₂ + u₁ᵀu₂ρ₁ + ρ₂diagonal swap

Ranks 1 and 8 are already available — ConicAlgebra.baseRing and ConicAlgebra.zor — and this file supplies the two in between: the split quadratic étale algebra k × k and the split quaternion algebra Mat₂(k). As with Zor(k), and in contrast with the Cayley–Dickson tower of Composition/Octonion.lean, each is a composition algebra over an arbitrary commutative ring, with no hypothesis on 2: their norms are hyperbolic, and hyperbolic forms are regular in every characteristic.

Main definitions #

Main results #

Implementation notes #

Neither algebra needs a type synonym: unlike the Cayley–Dickson double and Zor(k), the multiplication is the one mathlib already puts on k × k and on Matrix (Fin 2) (Fin 2) k, so the conic structure is extra data on an existing algebra and nothing has to be redefined. Both are associative, so the four typeclasses a conic algebra needs come from their Algebra k instances.

The degree-two identity is, in the two cases, the componentwise identity a² = (a + b)a - ab and the Cayley–Hamilton theorem for 2 × 2 matrices; the latter is proved here entrywise rather than by invoking mathlib's general Matrix.aeval_self_charpoly, since at size 2 the entrywise computation is four applications of ring and needs no characteristic-polynomial API.

Non-singularity is, in both cases, the observation that the norm is a sum of hyperbolic planes: (a, b) ↦ ab is the pairing of k against k, and det = a₀₀a₁₁ - a₀₁a₁₀ is the pairing of (a₀₀, a₀₁) against (a₁₁, -a₁₀). QuadraticForm.isGPRNonsingular_of_basis_pairing and its equivalence-composed form read these off; no determinant criterion and no hypothesis on 2 enters.

References #

Rank two: the split quadratic étale algebra k × k #

The norm of k × k is mathlib-free but not new: it is the hyperbolic plane QuadraticForm.plane k of QuadraticForm/HyperbolicPair.lean, (a, b) ↦ ab. Nothing is redefined here.

GPR 21.19(b): k × k is a conic algebra with norm (a, b) ↦ ab and trace a + b.

Equations
Instances For
    @[simp]
    theorem ConicAlgebra.trace_splitEtale_apply {k : Type u} [CommRing k] (x : k × k) :
    (splitEtale k).trace x = x.1 + x.2

    The trace of k × k is the sum of the two coordinates.

    @[simp]
    theorem ConicAlgebra.conj_splitEtale_apply {k : Type u} [CommRing k] (x : k × k) :
    (splitEtale k).conj x = (x.2, x.1)

    The conjugation of k × k is the exchange involution (a, b) ↦ (b, a), as GPR 21.18 requires of the split quadratic étale algebra.

    The norm of k × k permits composition: it is multiplicative because multiplication is componentwise.

    GPR 21.19(b): k × k is a composition algebra over every commutative ring, the split one of rank two.

    k × k has rank 2. (Not a simp lemma: mathlib's Module.finrank_prod already reduces the left-hand side, to 1 + 1.)

    Rank four: the split quaternion algebra Mat₂(k) #

    The bilinear form (A, B) ↦ a₀₀b₁₁ - a₀₁b₁₀ on Mat₂(k), whose associated quadratic form is the determinant.

    Equations
    Instances For

      The norm of the split quaternion algebra Mat₂(k) (GPR 21.19(c)): the determinant.

      Equations
      Instances For
        theorem ConicAlgebra.splitQuaternionNorm_apply' {k : Type u} [CommRing k] (A : Matrix (Fin 2) (Fin 2) k) :
        (splitQuaternionNorm k) A = A 0 0 * A 1 1 - A 0 1 * A 1 0
        @[simp]

        The norm of Mat₂(k) is the determinant.

        theorem ConicAlgebra.polar_splitQuaternionNorm {k : Type u} [CommRing k] (A B : Matrix (Fin 2) (Fin 2) k) :
        QuadraticMap.polar (⇑(splitQuaternionNorm k)) A B = A 0 0 * B 1 1 + B 0 0 * A 1 1 - A 0 1 * B 1 0 - B 0 1 * A 1 0
        theorem ConicAlgebra.mul_self_eq_trace_smul_sub_det_smul {k : Type u} [CommRing k] (A : Matrix (Fin 2) (Fin 2) k) :
        A * A = A.trace • A - A.det • 1

        Cayley–Hamilton at size two: A² = tr(A)·A - det(A)·1. Proved entrywise; this is the degree-two identity that makes Mat₂(k) a conic algebra.

        GPR 21.19(c): Mat₂(k) is a conic algebra with norm the determinant and trace the matrix trace. The degree-two identity is Cayley–Hamilton at size two.

        Equations
        Instances For
          @[simp]

          The trace of the conic algebra Mat₂(k) is the trace of the matrix.

          @[simp]

          The conjugation of Mat₂(k) is the adjugate. Consequently the conic identity x (conj x) = n(x) 1 specializes to A · adj A = det A · 1.

          The norm of Mat₂(k) permits composition: this is multiplicativity of the determinant.

          def ConicAlgebra.splitQuaternionEquiv (k : Type u) [CommRing k] :
          Matrix (Fin 2) (Fin 2) k ≃ₗ[k] (Fin 2 → k) × (Fin 2 → k)

          Mat₂(k) presented as k² ⊕ k², by reading off the pair (a₀₀, a₀₁) and the pair (a₁₁, -a₁₀). Under this equivalence the determinant becomes the standard pairing of the two factors, which is what exhibits it as two hyperbolic planes.

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

            The norm of Mat₂(k) is non-singular: the determinant is two hyperbolic planes, pairing (a₀₀, a₀₁) against (a₁₁, -a₁₀). No hypothesis on 2, and no determinant criterion — the determinant here is the form, not the tool.

            GPR 21.19(c): Mat₂(k) is a composition algebra over every commutative ring, the split one of rank four.

            @[simp]

            Mat₂(k) has rank 4.