Skip to content

Commit 0743743

Browse files
committed
chore: deprecate UniformSpace.Completion.Continuous.mul (#20145)
By adding a missing instance, this becomes just a really weird way to spell `Continuous.mul`.
1 parent 31ee34b commit 0743743

File tree

1 file changed

+27
-24
lines changed

1 file changed

+27
-24
lines changed

Mathlib/Topology/Algebra/UniformRing.lean

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,63 +65,66 @@ theorem coe_mul (a b : α) : ((a * b : α) : Completion α) = a * b :=
6565

6666
variable [UniformAddGroup α]
6767

68-
theorem continuous_mul : Continuous fun p : Completion α × Completion α => p.1 * p.2 := by
69-
let m := (AddMonoidHom.mul : α →+ α →+ α).compr₂ toCompl
70-
have : Continuous fun p : α × α => m p.1 p.2 := by
71-
apply (continuous_coe α).comp _
72-
simp only [AddMonoidHom.coe_mul, AddMonoidHom.coe_mulLeft]
73-
exact _root_.continuous_mul
74-
have di : IsDenseInducing (toCompl : α → Completion α) := isDenseInducing_coe
75-
convert di.extend_Z_bilin di this
76-
77-
theorem Continuous.mul {β : Type*} [TopologicalSpace β] {f g : β → Completion α}
68+
instance : ContinuousMul (Completion α) where
69+
continuous_mul := by
70+
let m := (AddMonoidHom.mul : α →+ α →+ α).compr₂ toCompl
71+
have : Continuous fun p : α × α => m p.1 p.2 := (continuous_coe α).comp continuous_mul
72+
have di : IsDenseInducing (toCompl : α → Completion α) := isDenseInducing_coe
73+
exact (di.extend_Z_bilin di this :)
74+
75+
@[deprecated _root_.continuous_mul (since := "2024-12-21")]
76+
protected theorem continuous_mul : Continuous fun p : Completion α × Completion α => p.1 * p.2 :=
77+
_root_.continuous_mul
78+
79+
@[deprecated _root_.Continuous.mul (since := "2024-12-21")]
80+
protected theorem Continuous.mul {β : Type*} [TopologicalSpace β] {f g : β → Completion α}
7881
(hf : Continuous f) (hg : Continuous g) : Continuous fun b => f b * g b :=
79-
Continuous.comp continuous_mul (Continuous.prod_mk hf hg : _)
82+
hf.mul hg
8083

8184
instance ring : Ring (Completion α) :=
8285
{ AddMonoidWithOne.unary, (inferInstanceAs (AddCommGroup (Completion α))),
8386
(inferInstanceAs (Mul (Completion α))), (inferInstanceAs (One (Completion α))) with
8487
zero_mul := fun a =>
8588
Completion.induction_on a
86-
(isClosed_eq (Continuous.mul continuous_const continuous_id) continuous_const)
89+
(isClosed_eq (continuous_const.mul continuous_id) continuous_const)
8790
fun a => by rw [← coe_zero, ← coe_mul, zero_mul]
8891
mul_zero := fun a =>
8992
Completion.induction_on a
90-
(isClosed_eq (Continuous.mul continuous_id continuous_const) continuous_const)
93+
(isClosed_eq (continuous_id.mul continuous_const) continuous_const)
9194
fun a => by rw [← coe_zero, ← coe_mul, mul_zero]
9295
one_mul := fun a =>
9396
Completion.induction_on a
94-
(isClosed_eq (Continuous.mul continuous_const continuous_id) continuous_id) fun a => by
97+
(isClosed_eq (continuous_const.mul continuous_id) continuous_id) fun a => by
9598
rw [← coe_one, ← coe_mul, one_mul]
9699
mul_one := fun a =>
97100
Completion.induction_on a
98-
(isClosed_eq (Continuous.mul continuous_id continuous_const) continuous_id) fun a => by
101+
(isClosed_eq (continuous_id.mul continuous_const) continuous_id) fun a => by
99102
rw [← coe_one, ← coe_mul, mul_one]
100103
mul_assoc := fun a b c =>
101104
Completion.induction_on₃ a b c
102105
(isClosed_eq
103-
(Continuous.mul (Continuous.mul continuous_fst (continuous_fst.comp continuous_snd))
106+
((continuous_fst.mul (continuous_fst.comp continuous_snd)).mul
104107
(continuous_snd.comp continuous_snd))
105-
(Continuous.mul continuous_fst
106-
(Continuous.mul (continuous_fst.comp continuous_snd)
108+
(continuous_fst.mul
109+
((continuous_fst.comp continuous_snd).mul
107110
(continuous_snd.comp continuous_snd))))
108111
fun a b c => by rw [← coe_mul, ← coe_mul, ← coe_mul, ← coe_mul, mul_assoc]
109112
left_distrib := fun a b c =>
110113
Completion.induction_on₃ a b c
111114
(isClosed_eq
112-
(Continuous.mul continuous_fst
115+
(continuous_fst.mul
113116
(Continuous.add (continuous_fst.comp continuous_snd)
114117
(continuous_snd.comp continuous_snd)))
115-
(Continuous.add (Continuous.mul continuous_fst (continuous_fst.comp continuous_snd))
116-
(Continuous.mul continuous_fst (continuous_snd.comp continuous_snd))))
118+
(Continuous.add (continuous_fst.mul (continuous_fst.comp continuous_snd))
119+
(continuous_fst.mul (continuous_snd.comp continuous_snd))))
117120
fun a b c => by rw [← coe_add, ← coe_mul, ← coe_mul, ← coe_mul, ← coe_add, mul_add]
118121
right_distrib := fun a b c =>
119122
Completion.induction_on₃ a b c
120123
(isClosed_eq
121-
(Continuous.mul (Continuous.add continuous_fst (continuous_fst.comp continuous_snd))
124+
((Continuous.add continuous_fst (continuous_fst.comp continuous_snd)).mul
122125
(continuous_snd.comp continuous_snd))
123-
(Continuous.add (Continuous.mul continuous_fst (continuous_snd.comp continuous_snd))
124-
(Continuous.mul (continuous_fst.comp continuous_snd)
126+
(Continuous.add (continuous_fst.mul (continuous_snd.comp continuous_snd))
127+
((continuous_fst.comp continuous_snd).mul
125128
(continuous_snd.comp continuous_snd))))
126129
fun a b c => by rw [← coe_add, ← coe_mul, ← coe_mul, ← coe_mul, ← coe_add, add_mul] }
127130

0 commit comments

Comments
 (0)