Unital subalgebras of non-associative algebras #
Mathlib's Subalgebra requires an associative Semiring, while its
NonUnitalSubalgebra works for a NonUnitalNonAssocSemiring. Composition algebras are unital but
need not be associative, so neither object alone represents their unital subalgebras. This file
adds the missing one-field wrapper.
Main definitions #
NonAssocSubalgebra R A: a mathlibNonUnitalSubalgebra R Acontaining1.
Implementation notes #
⚠ This is deliberately not named Subalgebra: mathlib owns that name for associative algebras.
The underlying multiplication and scalar-action API is inherited from
NonUnitalSubalgebra; only the unit is new. With it a NonAssocSubalgebra is a SubringClass,
from which mathlib supplies the unit, the casts and the NonAssocRing structure on each
subalgebra (SubringClass.toNonAssocRing).
A unital subalgebra of a possibly non-associative algebra.
The ambient unit belongs to the subalgebra.
Instances For
Equations
- NonAssocSubalgebra.instSetLike = { coe := fun (S : NonAssocSubalgebra R A) => S.carrier, coe_injective := ⋯ }