mathlib3 documentation

lean-ga / geometric_algebra.from_mathlib.mathoverflow

A formalization of https://mathoverflow.net/questions/60596/clifford-pbw-theorem-for-quadratic-form/87958#87958

Some Zulip discussion at https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/.F0.9D.94.BD.E2.82.82.5B.CE.B1.2C.20.CE.B2.2C.20.CE.B3.5D.20.2F.20.28.CE.B1.C2.B2.2C.20.CE.B2.C2.B2.2C.20.CE.B3.C2.B2.29/near/222716333.

theorem ideal.comap_span_le {R : Type u_1} {S : Type u_2} [semiring R] [semiring S] (f : S →+* R) (g : R →+* S) (h : function.left_inverse g f) (s : set R) :
theorem char_p.quotient_iff' (R : Type u_1) [comm_ring R] (n : ) [char_p R n] (I : ideal R) :
char_p (R I) n (x : ), x I x = 0

char_p.quotient' as an iff.

theorem ideal.span_le_bot {R : Type u_1} [semiring R] (s : set R) :

char_p.quotient' as an iff.

theorem finsupp.equiv_fun_on_finite_const {α : Type u_1} {β : Type u_2} [fintype α] [add_comm_monoid β] (b : β) :
(finsupp.equiv_fun_on_finite.symm) (λ (_x : α), b) = finset.univ.sum (λ (i : α), finsupp.single i b)
theorem mv_polynomial.support_smul' {S : Type u_1} {R : Type u_2} {σ : Type u_3} [comm_semiring R] [monoid S] [distrib_mul_action S R] {r : S} {p : mv_polynomial σ R} :
@[simp]
theorem linear_equiv.ulift_symm_apply (R : Type u) (M : Type v) [semiring R] [add_comm_monoid M] [module R M] (ᾰ : M) :
@[simp]
theorem linear_equiv.ulift_apply (R : Type u) (M : Type v) [semiring R] [add_comm_monoid M] [module R M] (ᾰ : ulift M) :
theorem ideal.mem_span_range_iff_exists_fun {ι : Type u_1} {R : Type u_2} [fintype ι] [comm_semiring R] (g : ι R) (x : R) :
x ideal.span (set.range g) (f : ι R), finset.univ.sum (λ (i : ι), f i * g i) = x
noncomputable def q60596.k_ideal  :

The monomial ideal generated by terms of the form $x_ix_i$.

Equations
theorem q60596.mem_k_ideal_iff (x : mv_polynomial (fin 3) (zmod 2)) :
x q60596.k_ideal (m : fin 3 →₀ ), m x.support ( (i : fin 3), 2 m i)
@[protected, instance]
@[protected, instance]
@[protected, instance]
noncomputable def q60596.k.ring  :
@[protected, instance]
@[protected, instance]
noncomputable def q60596.k.semiring  :
@[protected, instance]
noncomputable def q60596.k.comm_ring  :
@[protected, instance]

k has characteristic 2.

@[reducible]
noncomputable def q60596.α  :
@[reducible]
noncomputable def q60596.β  :
@[reducible]
noncomputable def q60596.γ  :
@[simp]

The elements above square to zero

If an element multiplied by αβγ is zero then it squares to zero.

Though αβγ is not itself zero

@[simp]
theorem q60596.L_func_apply (ᾰ : fin 3 q60596.k) :
@[protected, instance]
@[protected, instance]
noncomputable def q60596.L.module  :
def q60596.L  :

The quotient of k^3 by the specified relation

Equations
Instances for q60596.L
def q60596.sq {ι : Type u_1} {R : Type u_2} [comm_ring R] (i : ι) :
Equations
theorem q60596.sq_map_add_char_two {ι : Type u_1} {R : Type u_2} [comm_ring R] [char_p R 2] (i : ι) (a b : ι R) :
(q60596.sq i) (a + b) = (q60596.sq i) a + (q60596.sq i) b
theorem q60596.sq_map_sub_char_two {ι : Type u_1} {R : Type u_2} [comm_ring R] [char_p R 2] (i : ι) (a b : ι R) :
(q60596.sq i) (a - b) = (q60596.sq i) a - (q60596.sq i) b
noncomputable def q60596.Q'  :

The quadratic form (metric) is just euclidean

Equations
theorem q60596.Q'_apply (a : fin 3 q60596.k) :
q60596.Q' a = a 0 * a 0 + a 1 * a 1 + a 2 * a 2
theorem q60596.Q'_apply_single (i : fin 3) (x : q60596.k) :
noncomputable def q60596.Q  :

Q', lifted to operate on the quotient space L.

Equations
@[simp]
theorem q60596.Q_apply (x : q60596.L) :

Shorthand for basis vectors in the Clifford algebra

@[reducible]
noncomputable def q60596.x'  :
@[reducible]
noncomputable def q60596.y'  :
@[reducible]
noncomputable def q60596.z'  :
@[simp]

The basis vectors square to one

By virtue of the quotient, terms of this form are zero

The core of the proof - scaling 1 by α * β * γ gives zero