Skip to content

Commit 6bab6d0

Browse files
committed
More misc lemmas
1 parent 87a3f36 commit 6bab6d0

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

FLT/ForMathlib/MiscLemmas.lean

+44
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Mathlib.Algebra.Module.Projective
22
import Mathlib.Topology.Algebra.Monoid
3+
import Mathlib
34

45
section elsewhere
56

@@ -124,3 +125,46 @@ lemma TopologicalSpace.induced_id (X : Type*) : TopologicalSpace.induced (id : X
124125
--#check Induced.continuousSMul -- doesn't exist
125126

126127
end continuous_smul
128+
129+
130+
-- elsewhere
131+
lemma induced_sInf {α β : Type*} {g : β → α}
132+
{s : Set (TopologicalSpace α)} :
133+
TopologicalSpace.induced g (sInf s) =
134+
sInf ((TopologicalSpace.induced g) '' s) := by
135+
rw [sInf_eq_iInf' s, sInf_image']
136+
exact induced_iInf
137+
138+
-- elsewhere
139+
theorem _root_.Homeomorph.coinducing {A B : Type*} [τA : TopologicalSpace A]
140+
[τB : TopologicalSpace B] (e : A ≃ₜ B) : τB = τA.coinduced e := by
141+
ext U
142+
nth_rw 2 [isOpen_coinduced]
143+
exact e.isOpen_preimage.symm
144+
145+
-- elsewhere
146+
lemma Homeomorph.symm_apply_eq {M N : Type*} [TopologicalSpace M]
147+
[TopologicalSpace N] (e : M ≃ₜ N) {x : N} {y : M} :
148+
e.symm x = y ↔ x = e y := Equiv.symm_apply_eq _
149+
150+
lemma finsum_option {ι : Type*} {B : Type*} [Finite ι]
151+
[AddCommMonoid B] (φ : Option ι → B) :
152+
(∑ᶠ oi, φ oi) = φ none + ∑ᶠ (j : ι), φ (some j) := by
153+
rw [← finsum_mem_univ]
154+
convert finsum_mem_insert φ (show none ∉ Set.range Option.some by aesop)
155+
(Set.finite_range some)
156+
· aesop
157+
· rw [finsum_mem_range]
158+
exact Option.some_injective ι
159+
160+
lemma LinearMap.finsum_apply {R : Type*} [Semiring R] {A B : Type*} [AddCommMonoid A] [Module R A]
161+
[AddCommMonoid B] [Module R B] {ι : Type*} [Finite ι] (φ : ∀ _ : ι, A →ₗ[R] B) (a : A) :
162+
(∑ᶠ i, φ i) a = ∑ᶠ i, φ i a := by
163+
induction ι using Finite.induction_empty_option
164+
· case of_equiv X Y e hx =>
165+
convert hx (φ ∘ e)
166+
· exact (finsum_comp_equiv e).symm
167+
· exact (finsum_comp_equiv e).symm
168+
· simp [finsum_of_isEmpty]
169+
· case h_option X _ hX =>
170+
simp [finsum_option, hX]

0 commit comments

Comments
 (0)