FLT/Mathlib/Algebra/IsQuaternionAlgebra.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Pinned FLT blueprint introduction

11 declarations, 0 contain sorry, 0 declared as axioms

Is Quaternion Algebra

Material destined for Mathlib.

Imports (4)
Imported by 2 files
  1. def Minpoly.toAdjoin' line 27 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, Ring, Algebra, AlgHom, AdjoinRoot, minpoly, Subtype, Membership.mem, Subalgebra, Algebra.adjoin, Singleton.singleton, Set

    Proof uses: AdjoinRoot.liftAlgHom, Algebra.ofId, Subtype.mk

    22 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  2. lemma Minpoly.toAdjoin'_surjective line 33 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: CommRing, Ring, Algebra, Function.Surjective, AdjoinRoot, minpoly, Subtype, Membership.mem, Subalgebra, Algebra.adjoin, Singleton.singleton, Set, AlgHom, Minpoly.toAdjoin'

    Proof uses: Eq.mpr, Eq, AlgHom.range, Top.top, id, congrArg, Eq.symm, propext, AlgHom.range_eq_top, LE.le, eq_top_iff, Set.preimage, Algebra.adjoin_adjoin_coe_preimage, Algebra.adjoin_le, Subtype.mk, Exists.intro, RingHom, AlgHom.toRingHom, Polynomial, AdjoinRoot.mk and 10 more

    50 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  3. def AlgEquiv.adjoinSingletonEquivAdjoinRootMinpoly' line 43 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Field, Ring, Algebra, AlgEquiv, Subtype, Membership.mem, Subalgebra, Algebra.adjoin, Singleton.singleton, Set, AdjoinRoot, minpoly

    Proof uses: AlgEquiv.symm, AlgEquiv.ofBijective, Minpoly.toAdjoin'

    29 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

    Open to load the checked before-and-after goal states.

  4. class IsQuaternionAlgebra IsQuaternionAlgebra F D says that D is a quaternion algebra over the field F, i.e. a four-dimensional central simple F-algebra line 54 source

    Source documentation

    IsQuaternionAlgebra F D says that D is a quaternion algebra over the field F, i.e. a four-dimensional central simple F-algebra.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Field, Ring, Algebra

    3 instances, coercions and auxiliary constants left out.

    class IsQuaternionAlgebra (F : Type*) [Field F] (D : Type*) [Ring D] [Algebra F D] : Prop where
    …
  5. instance IsQuaternionAlgebra.(instance at line 65) line 65 source
  6. lemma IsQuaternionAlgebra.finrank_eq_four line 67 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Field, Ring, Algebra, IsQuaternionAlgebra, Eq, Nat, Module.finrank, OfNat.ofNat

    Proof uses: Module.finrank_eq_of_rank_eq, IsQuaternionAlgebra.dim_four

    14 instances, coercions and auxiliary constants left out.

  7. lemma IsQuaternionAlgebra.not_isMulCommutative line 72 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Field, Ring, Algebra, IsQuaternionAlgebra, Not, IsMulCommutative

    Proof uses: dite, False, Eq, Subalgebra, IsMulCommutative.instCommRing, Bot.bot, Top.top, Classical.propDecidable, False.elim, Eq.mp, Eq.trans, Nat, Module.finrank, OfNat.ofNat, congrFun', congrArg, IsQuaternionAlgebra.finrank_eq_four, absurd, Eq.refl, Subalgebra.center and 3 more

    63 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

    Open to load the checked before-and-after goal states.

  8. lemma IsQuaternionAlgebra.nomepty_algEquiv_matrix_or_forall_isUnit line 79 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Field, Ring, Algebra, IsQuaternionAlgebra, Or, Nonempty, AlgEquiv, Matrix, Fin, OfNat.ofNat, Nat, Ne, IsUnit

    Proof uses: IsArtinianRing, IsArtinianRing.of_finite, Exists, NeZero, DivisionRing, IsSimpleRing.exists_algEquiv_matrix_divisionRing, Eq, Module.finrank, IsQuaternionAlgebra.finrank_eq_four, Nat.casesAuxOn, HMul.hMul, False.elim, Eq.mp, False, Eq.trans, congrFun', congrArg, MulZeroClass.mul_zero, MulZeroClass.zero_mul, HAdd.hAdd and 43 more

    118 instances, coercions and auxiliary constants left out.

    Tactic trace: 20 steps

    Open to load the checked before-and-after goal states.

  9. lemma IsQuaternionAlgebra.Algebra.finrank_adjoin_singleton line 95 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Field, Ring, Algebra, IsIntegral, Eq, Nat, Module.finrank, Subtype, Membership.mem, Subalgebra, Algebra.adjoin, Singleton.singleton, Set, Polynomial.natDegree, minpoly

    Proof uses: Eq.mpr, AdjoinRoot, id, congrArg, LinearEquiv.finrank_eq, AlgEquiv.adjoinSingletonEquivAdjoinRootMinpoly', PowerBasis.dim, AdjoinRoot.powerBasis, minpoly.ne_zero, PowerBasis.finrank, AdjoinRoot.powerBasis_dim, Eq.refl

    42 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  10. lemma IsQuaternionAlgebra.natDegree_minpoly_le_two line 103 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Field, Ring, Algebra, IsQuaternionAlgebra, LE.le, Nat, Polynomial.natDegree, minpoly, OfNat.ofNat

    Proof uses: Nonempty, AlgEquiv, Matrix, Fin, Ne, IsUnit, Or, IsQuaternionAlgebra.nomepty_algEquiv_matrix_or_forall_isUnit, Eq.mpr, AlgHom, id, Eq, congrArg, Polynomial, Eq.symm, minpoly.algHom_eq, AlgEquiv.injective, LE.le.trans, Matrix.charpoly, Polynomial.natDegree_le_of_dvd and 78 more

    160 instances, coercions and auxiliary constants left out.

    Tactic trace: 31 steps

    Open to load the checked before-and-after goal states.

  11. class IsQuaternionAlgebra.IsTotallyDefinite Documented declaration: IsTotallyDefinite line 143 source

    Source documentation

    A quaternion algebra D over a number field F is totally definite if D ⊗[F, v] ℝ is isomorphic to the Hamilton quaternions ℍ for all real places v (that is, for all ring homomorphisms F → ℝ).

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Field, Ring, Algebra

    3 instances, coercions and auxiliary constants left out.

    class IsTotallyDefinite : Prop where
    …