@@ -65,63 +65,66 @@ theorem coe_mul (a b : α) : ((a * b : α) : Completion α) = a * b :=
65
65
66
66
variable [UniformAddGroup α]
67
67
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 α}
78
81
(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
80
83
81
84
instance ring : Ring (Completion α) :=
82
85
{ AddMonoidWithOne.unary, (inferInstanceAs (AddCommGroup (Completion α))),
83
86
(inferInstanceAs (Mul (Completion α))), (inferInstanceAs (One (Completion α))) with
84
87
zero_mul := fun a =>
85
88
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)
87
90
fun a => by rw [← coe_zero, ← coe_mul, zero_mul]
88
91
mul_zero := fun a =>
89
92
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)
91
94
fun a => by rw [← coe_zero, ← coe_mul, mul_zero]
92
95
one_mul := fun a =>
93
96
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
95
98
rw [← coe_one, ← coe_mul, one_mul]
96
99
mul_one := fun a =>
97
100
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
99
102
rw [← coe_one, ← coe_mul, mul_one]
100
103
mul_assoc := fun a b c =>
101
104
Completion.induction_on₃ a b c
102
105
(isClosed_eq
103
- (Continuous.mul (Continuous .mul continuous_fst (continuous_fst.comp continuous_snd))
106
+ ((continuous_fst .mul (continuous_fst.comp continuous_snd)).mul
104
107
(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
107
110
(continuous_snd.comp continuous_snd))))
108
111
fun a b c => by rw [← coe_mul, ← coe_mul, ← coe_mul, ← coe_mul, mul_assoc]
109
112
left_distrib := fun a b c =>
110
113
Completion.induction_on₃ a b c
111
114
(isClosed_eq
112
- (Continuous .mul continuous_fst
115
+ (continuous_fst .mul
113
116
(Continuous.add (continuous_fst.comp continuous_snd)
114
117
(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))))
117
120
fun a b c => by rw [← coe_add, ← coe_mul, ← coe_mul, ← coe_mul, ← coe_add, mul_add]
118
121
right_distrib := fun a b c =>
119
122
Completion.induction_on₃ a b c
120
123
(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
122
125
(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
125
128
(continuous_snd.comp continuous_snd))))
126
129
fun a b c => by rw [← coe_add, ← coe_mul, ← coe_mul, ← coe_mul, ← coe_add, add_mul] }
127
130
0 commit comments