Module docstring
{"# ℤ as a normed group "}
{"# ℤ as a normed group "}
Int.instNormedAddCommGroup
instance
: NormedAddCommGroup ℤ
instance instNormedAddCommGroup : NormedAddCommGroup ℤ where
norm n := ‖(n : ℝ)‖
dist_eq m n := by simp only [Int.dist_eq, norm, Int.cast_sub]
Int.norm_cast_real
theorem
(m : ℤ) : ‖(m : ℝ)‖ = ‖m‖
@[norm_cast]
theorem norm_cast_real (m : ℤ) : ‖(m : ℝ)‖ = ‖m‖ :=
rfl
Int.norm_eq_abs
theorem
(n : ℤ) : ‖n‖ = |(n : ℝ)|
theorem norm_eq_abs (n : ℤ) : ‖n‖ = |(n : ℝ)| :=
rfl
Int.norm_natCast
theorem
(n : ℕ) : ‖(n : ℤ)‖ = n
@[simp]
theorem norm_natCast (n : ℕ) : ‖(n : ℤ)‖ = n := by simp [Int.norm_eq_abs]
NNReal.natCast_natAbs
theorem
(n : ℤ) : (n.natAbs : ℝ≥0) = ‖n‖₊
theorem _root_.NNReal.natCast_natAbs (n : ℤ) : (n.natAbs : ℝ≥0) = ‖n‖₊ :=
NNReal.eq <|
calc
((n.natAbs : ℝ≥0) : ℝ) = (n.natAbs : ℤ) := by simp only [Int.cast_natCast, NNReal.coe_natCast]
_ = |(n : ℝ)| := by simp only [Int.natCast_natAbs, Int.cast_abs]
_ = ‖n‖ := (norm_eq_abs n).symm
Int.abs_le_floor_nnreal_iff
theorem
(z : ℤ) (c : ℝ≥0) : |z| ≤ ⌊c⌋₊ ↔ ‖z‖₊ ≤ c
theorem abs_le_floor_nnreal_iff (z : ℤ) (c : ℝ≥0) : |z||z| ≤ ⌊c⌋₊ ↔ ‖z‖₊ ≤ c := by
rw [Int.abs_eq_natAbs, Int.ofNat_le, Nat.le_floor_iff (zero_le c), NNReal.natCast_natAbs z]
norm_zpow_le_mul_norm
theorem
(n : ℤ) (a : α) : ‖a ^ n‖ ≤ ‖n‖ * ‖a‖
@[to_additive norm_zsmul_le]
theorem norm_zpow_le_mul_norm (n : ℤ) (a : α) : ‖a ^ n‖ ≤ ‖n‖ * ‖a‖ := by
rcases n.eq_nat_or_neg with ⟨n, rfl | rfl⟩ <;> simpa using norm_pow_le_mul_norm
nnnorm_zpow_le_mul_norm
theorem
(n : ℤ) (a : α) : ‖a ^ n‖₊ ≤ ‖n‖₊ * ‖a‖₊
@[to_additive nnnorm_zsmul_le]
theorem nnnorm_zpow_le_mul_norm (n : ℤ) (a : α) : ‖a ^ n‖₊ ≤ ‖n‖₊ * ‖a‖₊ := by
simpa only [← NNReal.coe_le_coe, NNReal.coe_mul] using norm_zpow_le_mul_norm n a