Skip to content

Commit b041851

Browse files
committed
fixes after mathlib bump
1 parent ab9003c commit b041851

File tree

3 files changed

+28
-27
lines changed

3 files changed

+28
-27
lines changed

FLT/AutomorphicRepresentation/Example.lean

+1-2
Original file line numberDiff line numberDiff line change
@@ -268,8 +268,7 @@ lemma canonicalForm (z : QHat) : ∃ (N : ℕ+) (z' : ZHat), z = (1 / N : ℚ)
268268
simp only [PNat.mk_coe, zsmul_eq_mul]
269269
simp only [← q.mul_den_eq_num, LinearMap.mul_apply', mul_assoc,
270270
one_div, ne_eq, Nat.cast_eq_zero, Rat.den_ne_zero, not_false_eq_true,
271-
mul_inv_cancel, mul_one]
272-
sorry
271+
mul_inv_cancel, mul_one, mul_inv_cancel₀]
273272
| add x y hx hy =>
274273
obtain ⟨N₁, z₁, rfl⟩ := hx
275274
obtain ⟨N₂, z₂, rfl⟩ := hy

FLT/ForMathlib/ActionTopology.lean

+27-23
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ the corresponding statements in this file
7474
7575
-/
7676

77-
set_option lang.lemmaCmd true
78-
7977
section basics
8078

8179
/-
@@ -190,15 +188,15 @@ end one
190188

191189
section iso
192190

193-
variable {R : Type*} [τR : TopologicalSpace R] [Semiring R] [TopologicalSemiring R]
191+
variable {R : Type*} [τR : TopologicalSpace R] [Semiring R] --[TopologicalSemiring R]
194192
variable {A : Type*} [AddCommMonoid A] [Module R A] [τA : TopologicalSpace A] [IsActionTopology R A]
195193
variable {B : Type*} [AddCommMonoid B] [Module R B] [τB : TopologicalSpace B]
196194

197195
-- this is horrible. Why isn't it easy?
198196
-- One reason: we are rolling our own continuous linear equivs!
199197
-- **TODO** Ask about making continuous linear equivs properly
200-
lemma iso (ehomeo : A ≃ₜ B) (elinear : A ≃ₗ[R] B) (he : ∀ a, ehomeo a = elinear a)
201-
[IsActionTopology R A] : IsActionTopology R B where
198+
lemma iso (ehomeo : A ≃ₜ B) (elinear : A ≃ₗ[R] B) (he : ∀ a, ehomeo a = elinear a) :
199+
IsActionTopology R B where
202200
isActionTopology' := by
203201
simp_rw [ehomeo.symm.inducing.1, isActionTopology R A, actionTopology, induced_sInf]
204202
congr 1
@@ -233,7 +231,7 @@ end iso
233231

234232
section function
235233

236-
variable {R : Type*} [τR : TopologicalSpace R] [Semiring R] [TopologicalSemiring R]
234+
variable {R : Type*} [τR : TopologicalSpace R] [Semiring R]
237235
variable {A : Type*} [AddCommMonoid A] [Module R A] [aA : TopologicalSpace A] [IsActionTopology R A]
238236
variable {B : Type*} [AddCommMonoid B] [Module R B] [aB : TopologicalSpace B] [IsActionTopology R B]
239237

@@ -347,13 +345,11 @@ instance prod : IsActionTopology R (M × N) := by
347345
refine @Continuous.comp _ ((M × N) × (M × N)) _ (_) (_) (_) _ _ this ?_
348346
refine (@continuous_prod_mk _ _ _ (_) (_) (_) _ _).2 ⟨?_, ?_⟩
349347
· refine @Continuous.comp _ _ _ (_) (_) (_) _ ((LinearMap.inl R M N)) ?_ continuous_fst
350-
sorry
351-
-- apply @continuous_of_linearMap _ _ _ _ _ _ _ _ _ _ _ (actionTopology _ _) (?_)
352-
-- exact @IsActionTopology.mk _ _ _ _ _ (_) rfl
348+
apply @continuous_of_linearMap _ _ _ _ _ _ _ _ _ _ _ (actionTopology _ _) (?_)
349+
exact @IsActionTopology.mk _ _ _ _ _ (_) rfl
353350
· refine @Continuous.comp _ _ _ (_) (_) (_) _ ((LinearMap.inr R M N)) ?_ continuous_snd
354-
sorry
355-
-- apply @continuous_of_linearMap _ _ _ _ _ _ _ _ _ _ _ (actionTopology _ _) (?_)
356-
-- exact @IsActionTopology.mk _ _ _ _ _ (_) rfl
351+
apply @continuous_of_linearMap _ _ _ _ _ _ _ _ _ _ _ (actionTopology _ _) (?_)
352+
exact @IsActionTopology.mk _ _ _ _ _ (_) rfl
357353

358354
end prod
359355

@@ -365,22 +361,30 @@ variable {ι : Type*} [Finite ι] {A : ι → Type*} [∀ i, AddCommGroup (A i)]
365361
[∀ i, Module R (A i)] [∀ i, TopologicalSpace (A i)]
366362
[∀ i, IsActionTopology R (A i)]
367363

364+
/-
365+
-- ActionTopology.iso.{u_1, u_2, u_3} {R : Type u_1} [τR : TopologicalSpace R] [Semiring R] [TopologicalSemiring R]
366+
-- {A : Type u_2} [AddCommMonoid A] [Module R A] [τA : TopologicalSpace A] [IsActionTopology R A] {B : Type u_3}
367+
-- [AddCommMonoid B] [Module R B] [τB : TopologicalSpace B] (ehomeo : A ≃ₜ B) (elinear : A ≃ₗ[R] B)
368+
-- (he : ∀ (a : A), ehomeo a = elinear a) [IsActionTopology R A] : IsActionTopology R B
369+
370+
-/
368371
instance pi : IsActionTopology R (∀ i, A i) := by
369372
induction ι using Finite.induction_empty_option
370373
· case of_equiv X Y e _ _ _ _ _ =>
371374
exact iso (Homeomorph.piCongrLeft e) (LinearEquiv.piCongrLeft R A e) (fun _ ↦ rfl)
372375
· apply subsingleton
373376
· case h_option X _ hind _ _ _ _ =>
374377
let e : Option X ≃ X ⊕ Unit := Equiv.optionEquivSumPUnit X
375-
sorry
376-
-- refine @iso (ehomeo := Homeomorph.piCongrLeft e.symm)
377-
-- (elinear := LinearEquiv.piCongrLeft R A e.symm) _ (fun f ↦ rfl) ?_
378-
-- apply @iso (ehomeo := (Homeomorph.sumPiEquivProdPi X Unit _).symm)
379-
-- (elinear := (LinearEquiv.sumPiEquivProdPi R X Unit _).symm) _ (fun f ↦ rfl) ?_
380-
-- refine @prod _ _ _ _ _ _ (_) (hind) _ _ _ (_) (?_)
381-
-- let φ : Unit → Option X := fun t ↦ e.symm (Sum.inr t)
382-
-- exact iso (Homeomorph.pUnitPiEquiv (fun t ↦ A (φ t))).symm
383-
-- (LinearEquiv.pUnitPiEquiv R (fun t ↦ A (φ t))).symm (fun a ↦ rfl)
378+
refine @iso (ehomeo := Homeomorph.piCongrLeft e.symm)
379+
(elinear := LinearEquiv.piCongrLeft R A e.symm)
380+
(he := fun f ↦ rfl) _ _ _ _ _ ?_
381+
apply @iso (ehomeo := (Homeomorph.sumPiEquivProdPi X Unit _).symm)
382+
(elinear := (LinearEquiv.sumPiEquivProdPi R X Unit _).symm)
383+
(he := fun f ↦ rfl) _ _ _ _ _ ?_
384+
refine @prod _ _ _ _ _ _ (_) (hind) _ _ _ (_) (?_)
385+
let φ : Unit → Option X := fun t ↦ e.symm (Sum.inr t)
386+
exact iso (Homeomorph.pUnitPiEquiv (fun t ↦ A (φ t))).symm
387+
(LinearEquiv.pUnitPiEquiv R (fun t ↦ A (φ t))).symm (fun a ↦ rfl)
384388

385389
end Pi
386390

@@ -390,7 +394,7 @@ section semiring_bilinear
390394
-- a ring instead of a semiring. This should be fixed.
391395
-- I also need commutativity because we don't have bilinear maps for non-commutative rings.
392396
-- **TODO** ask on the Zulip whether this is an issue.
393-
variable {R : Type*} [τR : TopologicalSpace R] [CommRing R] [TopologicalSemiring R]
397+
variable {R : Type*} [τR : TopologicalSpace R] [CommRing R]
394398

395399
-- similarly these don't need to be groups
396400
variable {A : Type*} [AddCommGroup A] [Module R A] [aA : TopologicalSpace A] [IsActionTopology R A]
@@ -427,7 +431,7 @@ lemma Module.continuous_bilinear_of_pi_finite (ι : Type*) [Finite ι]
427431
simp [Set.toFinite _]
428432

429433
-- Probably this can be beefed up to semirings.
430-
lemma Module.continuous_bilinear_of_finite_free [Module.Finite R A] [Module.Free R A]
434+
lemma Module.continuous_bilinear_of_finite_free [TopologicalSemiring R] [Module.Finite R A] [Module.Free R A]
431435
(bil : A →ₗ[R] B →ₗ[R] C) : Continuous (fun ab ↦ bil ab.1 ab.2 : (A × B → C)) := by
432436
let ι := Module.Free.ChooseBasisIndex R A
433437
let hι : Fintype ι := Module.Free.ChooseBasisIndex.fintype R A

FLT/ForMathlib/MiscLemmas.lean

-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import Mathlib.Algebra.Module.Projective
22
import Mathlib.Topology.Algebra.Monoid
33

4-
set_option lang.lemmaCmd true
5-
64
section elsewhere
75

86
variable {A : Type*} [AddCommGroup A]

0 commit comments

Comments
 (0)