The octonion norm is multiplicative (eight-square identity)
ProvedOctonionD8.norm_mulFor all , the product defined from the Fano plane satisfies
that is, . This is the eight-square identity: the table defines a normed (composition) algebra — the octonions.
import Mathlib import Definitions.Def_OctonionD8_flow
namespace OctonionD8
open Polynomial
theorem norm_mul (p q : Fin 8 → ℝ) :
∑ k, (omul p q k) ^ 2 = (∑ i, p i ^ 2) * (∑ j, q j ^ 2) := by
sorry
end OctonionD8Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Theorem OctonionD8.norm_mul. For all real vectors (coordinates indexed by , written and ), with no further hypotheses, the statement asserts
i.e. the squared Euclidean norm of the product equals the product of the squared Euclidean norms of and . The product is the bilinear map defined in the imported file (not a Mathlib notion), unfolded below.
The product. For and each ,
where is an integer structure-constant table (cast to ), read as "the coefficient of in " for the standard basis . is defined by the following cases, checked in this order:
-
If : if , else (so is a left identity).
-
Else if : if , else (so is a right identity).
-
Else if (both nonzero): if , else (so for ).
-
Else if (with , both nonzero): .
-
Otherwise ( all nonzero, ): the value is determined by a Fano-plane rule. Each nonzero index is mapped to the point . The seven "lines" are the 3-element subsets for (arithmetic mod ). Then
- if there is an with (equality of sets) and the ordered pair is one of , , ;
- otherwise if there is an with ;
- otherwise .
Since each has exactly three distinct elements, the set equality forces to be pairwise distinct; in particular in this case. Translating back to indices (point corresponds to index ), the seven lines are the index triples
and for each listed triple the table encodes , , (value ), while the reversed orders give , etc. (value ). Pairs of distinct nonzero indices always lie in exactly one such triple, but the statement does not rely on or assert this; it is simply what the table evaluates to.
Scope and edge cases. The identity is claimed for every , including or (both sides then ) and basis vectors. There are no hypotheses, so the statement is not vacuous. The imported files also define auxiliary objects (matrices of left/right multiplication by fixed vectors, a "flow" matrix built from them, the Fano plane packaged as a Steiner triple system on 7 points, and a "role colouring" predicate); none of these appear in this statement. The only imported notions used are the product , its table , the index-to-point map , and the lines described above.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.