Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit e92ecff

Browse files
committed
feat(algebra/direct_sum/module): link direct_sum.submodule_is_internal to is_compl (#12671)
This is then used to show the even and odd components of a clifford algebra are complementary.
1 parent 90f0bee commit e92ecff

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

src/algebra/direct_sum/module.lean

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,14 @@ lemma submodule_is_internal.collected_basis_mem
274274
h.collected_basis v a ∈ A a.1 :=
275275
by simp
276276

277+
/-- When indexed by only two distinct elements, `direct_sum.submodule_is_internal` implies
278+
the two submodules are complementary. Over a `ring R`, this is true as an iff, as
279+
`direct_sum.submodule_is_internal_iff_is_compl`. --/
280+
lemma submodule_is_internal.is_compl {A : ι → submodule R M} {i j : ι} (hij : i ≠ j)
281+
(h : (set.univ : set ι) = {i, j}) (hi : submodule_is_internal A) : is_compl (A i) (A j) :=
282+
⟨hi.independent.disjoint hij, eq.le $ hi.supr_eq_top.symm.trans $
283+
by rw [←Sup_pair, supr, ←set.image_univ, h, set.image_insert_eq, set.image_singleton]⟩
284+
277285
end semiring
278286

279287
section ring
@@ -301,6 +309,19 @@ lemma submodule_is_internal_iff_independent_and_supr_eq_top (A : ι → submodul
301309
⟨λ i, ⟨i.independent, i.supr_eq_top⟩,
302310
and.rec submodule_is_internal_of_independent_of_supr_eq_top⟩
303311

312+
/-- If a collection of submodules has just two indices, `i` and `j`, then
313+
`direct_sum.submodule_is_internal` is equivalent to `is_compl`. -/
314+
lemma submodule_is_internal_iff_is_compl (A : ι → submodule R M) {i j : ι} (hij : i ≠ j)
315+
(h : (set.univ : set ι) = {i, j}) :
316+
submodule_is_internal A ↔ is_compl (A i) (A j) :=
317+
begin
318+
have : ∀ k, k = i ∨ k = j := λ k, by simpa using set.ext_iff.mp h k,
319+
rw [submodule_is_internal_iff_independent_and_supr_eq_top,
320+
supr, ←set.image_univ, h, set.image_insert_eq, set.image_singleton, Sup_pair,
321+
complete_lattice.independent_pair hij this],
322+
exact ⟨λ ⟨hd, ht⟩, ⟨hd, ht.ge⟩, λ ⟨hd, ht⟩, ⟨hd, eq_top_iff.mpr ht⟩⟩,
323+
end
324+
304325
/-! Now copy the lemmas for subgroup and submonoids. -/
305326

306327
lemma add_submonoid_is_internal.independent {M : Type*} [add_comm_monoid M]

src/linear_algebra/clifford_algebra/grading.lean

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@ begin
125125
... = (⨆ (i : ℕ), (ι Q).range ^ i) : supr_congr (λ i, i.2) (λ i, ⟨⟨_, i, rfl⟩, rfl⟩) (λ _, rfl),
126126
end
127127

128+
lemma even_odd_is_compl : is_compl (even_odd Q 0) (even_odd Q 1) :=
129+
(graded_algebra.is_internal (even_odd Q)).is_compl zero_ne_one $ begin
130+
have : (finset.univ : finset (zmod 2)) = {0, 1} := rfl,
131+
simpa using congr_arg (coe : finset (zmod 2) → set (zmod 2)) this,
132+
end
133+
128134
/-- To show a property is true on the even or odd part, it suffices to show it is true on the
129135
scalars or vectors (respectively), closed under addition, and under left-multiplication by a pair
130136
of vectors. -/

0 commit comments

Comments
 (0)