@@ -274,6 +274,14 @@ lemma submodule_is_internal.collected_basis_mem
274
274
h.collected_basis v a ∈ A a.1 :=
275
275
by simp
276
276
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
+
277
285
end semiring
278
286
279
287
section ring
@@ -301,6 +309,19 @@ lemma submodule_is_internal_iff_independent_and_supr_eq_top (A : ι → submodul
301
309
⟨λ i, ⟨i.independent, i.supr_eq_top⟩,
302
310
and.rec submodule_is_internal_of_independent_of_supr_eq_top⟩
303
311
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
+
304
325
/-! Now copy the lemmas for subgroup and submonoids. -/
305
326
306
327
lemma add_submonoid_is_internal.independent {M : Type *} [add_comm_monoid M]
0 commit comments