@@ -131,17 +131,23 @@ measurable_mul.comp_ae_measurable (hf.prod_mk hg)
131
131
132
132
omit m
133
133
134
+ @[priority 100 , to_additive]
135
+ instance has_measurable_mul₂.to_has_measurable_mul [has_measurable_mul₂ M] :
136
+ has_measurable_mul M :=
137
+ ⟨λ c, measurable_const.mul measurable_id, λ c, measurable_id.mul measurable_const⟩
138
+
134
139
@[to_additive]
135
140
instance pi.has_measurable_mul {ι : Type *} {α : ι → Type *} [∀ i, has_mul (α i)]
136
141
[∀ i, measurable_space (α i)] [∀ i, has_measurable_mul (α i)] :
137
142
has_measurable_mul (Π i, α i) :=
138
- ⟨λ g, measurable_pi_iff.mpr $ λ i, (measurable_const_mul (g i)).comp $ measurable_pi_apply i ,
139
- λ g, measurable_pi_iff.mpr $ λ i, (measurable_mul_const (g i)).comp $ measurable_pi_apply i ⟩
143
+ ⟨λ g, measurable_pi_iff.mpr $ λ i, (measurable_pi_apply i).const_mul _ ,
144
+ λ g, measurable_pi_iff.mpr $ λ i, (measurable_pi_apply i).mul_const _ ⟩
140
145
141
- @[priority 100 , to_additive]
142
- instance has_measurable_mul₂.to_has_measurable_mul [has_measurable_mul₂ M] :
143
- has_measurable_mul M :=
144
- ⟨λ c, measurable_const.mul measurable_id, λ c, measurable_id.mul measurable_const⟩
146
+ @[to_additive pi.has_measurable_add₂]
147
+ instance pi.has_measurable_mul₂ {ι : Type *} {α : ι → Type *} [∀ i, has_mul (α i)]
148
+ [∀ i, measurable_space (α i)] [∀ i, has_measurable_mul₂ (α i)] :
149
+ has_measurable_mul₂ (Π i, α i) :=
150
+ ⟨measurable_pi_iff.mpr $ λ i, measurable_fst.eval.mul measurable_snd.eval⟩
145
151
146
152
attribute [measurability] measurable.add' measurable.add ae_measurable.add ae_measurable.add'
147
153
measurable.const_add ae_measurable.const_add measurable.add_const ae_measurable.add_const
@@ -291,6 +297,19 @@ instance has_measurable_div₂.to_has_measurable_div [has_measurable_div₂ G] :
291
297
has_measurable_div G :=
292
298
⟨λ c, measurable_const.div measurable_id, λ c, measurable_id.div measurable_const⟩
293
299
300
+ @[to_additive]
301
+ instance pi.has_measurable_div {ι : Type *} {α : ι → Type *} [∀ i, has_div (α i)]
302
+ [∀ i, measurable_space (α i)] [∀ i, has_measurable_div (α i)] :
303
+ has_measurable_div (Π i, α i) :=
304
+ ⟨λ g, measurable_pi_iff.mpr $ λ i, (measurable_pi_apply i).const_div _,
305
+ λ g, measurable_pi_iff.mpr $ λ i, (measurable_pi_apply i).div_const _⟩
306
+
307
+ @[to_additive pi.has_measurable_sub₂]
308
+ instance pi.has_measurable_div₂ {ι : Type *} {α : ι → Type *} [∀ i, has_div (α i)]
309
+ [∀ i, measurable_space (α i)] [∀ i, has_measurable_div₂ (α i)] :
310
+ has_measurable_div₂ (Π i, α i) :=
311
+ ⟨measurable_pi_iff.mpr $ λ i, measurable_fst.eval.div measurable_snd.eval⟩
312
+
294
313
@[measurability]
295
314
lemma measurable_set_eq_fun {m : measurable_space α} {E} [measurable_space E] [add_group E]
296
315
[measurable_singleton_class E] [has_measurable_sub₂ E] {f g : α → E}
@@ -373,6 +392,12 @@ attribute [measurability] measurable.neg ae_measurable.neg
373
392
374
393
omit m
375
394
395
+ @[to_additive]
396
+ instance pi.has_measurable_inv {ι : Type *} {α : ι → Type *} [∀ i, has_inv (α i)]
397
+ [∀ i, measurable_space (α i)] [∀ i, has_measurable_inv (α i)] :
398
+ has_measurable_inv (Π i, α i) :=
399
+ ⟨measurable_pi_iff.mpr $ λ i, (measurable_pi_apply i).inv⟩
400
+
376
401
@[to_additive] lemma measurable_set.inv {s : set G} (hs : measurable_set s) : measurable_set s⁻¹ :=
377
402
measurable_inv hs
378
403
@@ -525,6 +550,13 @@ hf.const_smul' c
525
550
526
551
omit m
527
552
553
+ @[to_additive]
554
+ instance pi.has_measurable_smul {ι : Type *} {α : ι → Type *} [∀ i, has_scalar M (α i)]
555
+ [∀ i, measurable_space (α i)] [∀ i, has_measurable_smul M (α i)] :
556
+ has_measurable_smul M (Π i, α i) :=
557
+ ⟨λ g, measurable_pi_iff.mpr $ λ i, (measurable_pi_apply i).const_smul _,
558
+ λ g, measurable_pi_iff.mpr $ λ i, measurable_smul_const _⟩
559
+
528
560
end smul
529
561
530
562
section mul_action
0 commit comments