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) :
ideal.comap f (ideal.span s) ≤ ideal.span (⇑g '' s)
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 ↔ ideal.comap (nat.cast_ring_hom R) I ≤ ring_hom.ker (nat.cast_ring_hom 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} :
equiv.ulift
as a linear_equiv
.
Equations
- linear_equiv.ulift R M = {to_fun := equiv.ulift.to_fun, map_add' := _, map_smul' := _, inv_fun := equiv.ulift.inv_fun, left_inv := _, right_inv := _}
@[simp]
theorem
linear_equiv.ulift_symm_apply
(R : Type u)
(M : Type v)
[semiring R]
[add_comm_monoid M]
[module R M]
(ᾰ : M) :
⇑((linear_equiv.ulift R M).symm) ᾰ = equiv.ulift.inv_fun ᾰ
@[simp]
theorem
linear_equiv.ulift_apply
(R : Type u)
(M : Type v)
[semiring R]
[add_comm_monoid M]
[module R M]
(ᾰ : ulift M) :
⇑(linear_equiv.ulift R M) ᾰ = equiv.ulift.to_fun ᾰ
theorem
ideal.mem_span_range_iff_exists_fun
{ι : Type u_1}
{R : Type u_2}
[fintype ι]
[comm_semiring R]
(g : ι → R)
(x : R) :
The monomial ideal generated by terms of the form $x_ix_i$.
Equations
- q60596.k_ideal = ideal.span (set.range (λ (i : fin 3), mv_polynomial.X i * mv_polynomial.X i))
theorem
q60596.mul_self_mem_k_ideal_of_X0_X1_X2_mul_mem
{x : mv_polynomial (fin 3) (zmod 2)}
(h : mv_polynomial.X 0 * mv_polynomial.X 1 * mv_polynomial.X 2 * x ∈ q60596.k_ideal) :
x * x ∈ q60596.k_ideal
Equations
- q60596.k = (mv_polynomial (fin 3) (zmod 2) ⧸ q60596.k_ideal)
Equations
The quotient of k^3 by the specified relation
Equations
- q60596.L = ((fin 3 → q60596.k) ⧸ linear_map.ker q60596.L_func)
Instances for q60596.L
Equations
Q'
, lifted to operate on the quotient space L
.
Equations
- q60596.Q = quadratic_form.of_polar (λ (x : q60596.L), quotient.lift_on' x ⇑q60596.Q' q60596.Q._proof_1) q60596.Q._proof_2 q60596.Q._proof_3 q60596.Q._proof_4
@[simp]
Shorthand for basis vectors in the Clifford algebra
Our final result
theorem
clifford_algebra.not_forall_algebra_map_injective
:
¬∀ (R : Type) (M : Type v) [_inst_1 : comm_ring R] [_inst_2 : add_comm_group M] [_inst_3 : module R M] (Q : quadratic_form R M), function.injective ⇑(algebra_map R (clifford_algebra Q))