@@ -4,6 +4,7 @@ import Mathlib.Tactic
4
4
-- next two should be all we need for basic file to compile
5
5
import Mathlib.Topology.Order
6
6
import Mathlib.Algebra.Group.Action.Defs
7
+ import Mathlib.Algebra.Module.Projective
7
8
8
9
/-
9
10
# An topology for monoid actions.
@@ -87,7 +88,7 @@ protected lemma id : IsActionTopology R R := by
87
88
rw [← continuous_iff_coinduced_le]
88
89
exact LinearMap.continuous_on_pi φ
89
90
90
- lemma pow (n : ℕ) : IsActionTopology R (Fin n → R) := by
91
+ instance pow (n : ℕ) : IsActionTopology R (Fin n → R) := by
91
92
constructor
92
93
apply le_antisymm
93
94
· refine le_iSup_of_le n ?_
@@ -137,13 +138,36 @@ section surj
137
138
variable {R : Type *} [τR : TopologicalSpace R] [Ring R] [TopologicalRing R]
138
139
variable {A : Type *} [AddCommMonoid A] [Module R A] [aA : TopologicalSpace A] [IsActionTopology R A]
139
140
140
- lemma surj {n : ℕ} (φ : ((Fin n) → R) →ₗ[R] A) :
141
- TopologicalSpace.coinduced φ inferInstance = actionTopology R A := by
142
- sorry
143
-
144
- lemma surj' {n : ℕ} (φ : ((Fin n) → R) →ₗ[R] A) :
145
- TopologicalSpace.induced φ inferInstance = (inferInstance : TopologicalSpace _) := by
146
- sorry
141
+ lemma surj {n : ℕ} (φ : ((Fin n) → R) →ₗ[R] A) (hφ : Function.Surjective φ) :
142
+ TopologicalSpace.coinduced φ Pi.topologicalSpace = actionTopology R A := by
143
+ apply le_antisymm
144
+ · rw [← continuous_iff_coinduced_le]
145
+ rw [← isActionTopology R A]
146
+ fun_prop
147
+ · rw [iSup_le_iff]
148
+ intro m
149
+ rw [iSup_le_iff]
150
+ intro ψ
151
+ obtain ⟨α, rfl⟩ : ∃ α : (Fin m → R) →ₗ[R] (Fin n → R), φ.comp α = ψ :=
152
+ Module.projective_lifting_property _ _ hφ
153
+ change TopologicalSpace.coinduced (φ ∘ α) _ ≤ _
154
+ rw [← coinduced_compose]
155
+ apply coinduced_mono
156
+ rw [← continuous_iff_coinduced_le]
157
+ fun_prop
158
+
159
+ -- probably not true
160
+ -- lemma surj' {n : ℕ} (φ : ((Fin n) → R) →ₗ[ R ] A) (hφ : Function.Surjective φ) :
161
+ -- TopologicalSpace.induced φ inferInstance = (inferInstance : TopologicalSpace _) := by
162
+ -- apply le_antisymm
163
+ -- · rw [← continuous_id_iff_le]
164
+ -- refine (@continuous_pi_iff (Fin n → R) (Fin n) (fun _ ↦ R) (TopologicalSpace.induced (⇑φ) inferInstance) _ _).2 ?_
165
+ -- intro i
166
+ -- rw [ continuous_iff_le_induced ]
167
+ -- -- don't think this is provable in general
168
+ -- sorry
169
+ -- · rw [← continuous_iff_le_induced]
170
+ -- fun_prop
147
171
148
172
end surj
149
173
0 commit comments