@@ -83,6 +83,9 @@ to compare the `L^p` and `L^∞` distances through it. -/
83
83
protected def equiv : pi_Lp p α ≃ Π (i : ι), α i :=
84
84
equiv.refl _
85
85
86
+ @[simp] lemma equiv_apply (x : pi_Lp p α) (i : ι) : pi_Lp.equiv p α x i = x i := rfl
87
+ @[simp] lemma equiv_symm_apply (x : Π i, α i) (i : ι) : (pi_Lp.equiv p α).symm x i = x i := rfl
88
+
86
89
section
87
90
/-!
88
91
### The uniformity on finite `L^p` products is the product uniformity
@@ -314,12 +317,53 @@ instance normed_space [∀i, semi_normed_group (β i)] [∀i, normed_space 𝕜
314
317
315
318
/- Register simplification lemmas for the applications of `pi_Lp` elements, as the usual lemmas
316
319
for Pi types will not trigger. -/
317
- variables {𝕜 p α}
318
- [∀i, semi_normed_group (β i)] [∀i, normed_space 𝕜 (β i)] (c : 𝕜) (x y : pi_Lp p β ) (i : ι)
320
+ variables {𝕜 p α} [Π i, semi_normed_group (β i)] [Π i, normed_space 𝕜 (β i)] (c : 𝕜)
321
+ variables (x y : pi_Lp p β) (x' y' : Π i, β i ) (i : ι)
319
322
323
+ @[simp] lemma zero_apply : (0 : pi_Lp p β) i = 0 := rfl
320
324
@[simp] lemma add_apply : (x + y) i = x i + y i := rfl
321
325
@[simp] lemma sub_apply : (x - y) i = x i - y i := rfl
322
326
@[simp] lemma smul_apply : (c • x) i = c • x i := rfl
323
327
@[simp] lemma neg_apply : (-x) i = - (x i) := rfl
324
328
329
+ @[simp] lemma equiv_zero : pi_Lp.equiv p β 0 = 0 := rfl
330
+ @[simp] lemma equiv_symm_zero : (pi_Lp.equiv p β).symm 0 = 0 := rfl
331
+
332
+ @[simp] lemma equiv_add :
333
+ pi_Lp.equiv p β (x + y) = pi_Lp.equiv p β x + pi_Lp.equiv p β y := rfl
334
+ @[simp] lemma equiv_symm_add :
335
+ (pi_Lp.equiv p β).symm (x' + y') = (pi_Lp.equiv p β).symm x' + (pi_Lp.equiv p β).symm y' := rfl
336
+
337
+ @[simp] lemma equiv_sub : pi_Lp.equiv p β (x - y) = pi_Lp.equiv p β x - pi_Lp.equiv p β y := rfl
338
+ @[simp] lemma equiv_symm_sub :
339
+ (pi_Lp.equiv p β).symm (x' - y') = (pi_Lp.equiv p β).symm x' - (pi_Lp.equiv p β).symm y' := rfl
340
+
341
+ @[simp] lemma equiv_neg : pi_Lp.equiv p β (-x) = -pi_Lp.equiv p β x := rfl
342
+ @[simp] lemma equiv_symm_neg : (pi_Lp.equiv p β).symm (-x') = -(pi_Lp.equiv p β).symm x' := rfl
343
+
344
+ @[simp] lemma equiv_smul : pi_Lp.equiv p β (c • x) = c • pi_Lp.equiv p β x := rfl
345
+ @[simp] lemma equiv_symm_smul :
346
+ (pi_Lp.equiv p β).symm (c • x') = c • (pi_Lp.equiv p β).symm x' := rfl
347
+
348
+ lemma nnnorm_equiv_symm_const {β} [semi_normed_group β] (b : β) :
349
+ ∥(pi_Lp.equiv p (λ _ : ι, β)).symm (function.const _ b)∥₊ = fintype.card ι ^ (1 / p) * ∥b∥₊ :=
350
+ begin
351
+ have : p ≠ 0 := (zero_lt_one.trans_le (fact.out $ 1 ≤ p)).ne',
352
+ simp_rw [pi_Lp.nnnorm_eq, equiv_symm_apply, function.const_apply, finset.sum_const,
353
+ finset.card_univ, nsmul_eq_mul, nnreal.mul_rpow, ←nnreal.rpow_mul, mul_one_div_cancel this ,
354
+ nnreal.rpow_one],
355
+ end
356
+
357
+ lemma norm_equiv_symm_const {β} [semi_normed_group β] (b : β) :
358
+ ∥(pi_Lp.equiv p (λ _ : ι, β)).symm (function.const _ b)∥ = fintype.card ι ^ (1 / p) * ∥b∥ :=
359
+ (congr_arg coe $ nnnorm_equiv_symm_const b).trans $ by simp
360
+
361
+ lemma nnnorm_equiv_symm_one {β} [semi_normed_group β] [has_one β] :
362
+ ∥(pi_Lp.equiv p (λ _ : ι, β)).symm 1 ∥₊ = fintype.card ι ^ (1 / p) * ∥(1 : β)∥₊ :=
363
+ (nnnorm_equiv_symm_const (1 : β)).trans rfl
364
+
365
+ lemma norm_equiv_symm_one {β} [semi_normed_group β] [has_one β] :
366
+ ∥(pi_Lp.equiv p (λ _ : ι, β)).symm 1 ∥ = fintype.card ι ^ (1 / p) * ∥(1 : β)∥ :=
367
+ (norm_equiv_symm_const (1 : β)).trans rfl
368
+
325
369
end pi_Lp
0 commit comments