APIs about Angle from Mathlib #
We use AngValue
as an alias of Real.Angle
.
Equations
theorem
EuclidGeom.AngValue.induction_on
{p : EuclidGeom.AngValue → Prop}
(θ : EuclidGeom.AngValue)
(h : ∀ (x : ℝ), p ↑x)
:
p θ
An induction principle to deduce results for AngValue
from those for ℝ
, used with
induction θ using AngValue.induction_on
.
theorem
EuclidGeom.AngValue.zsmul_eq_iff
{ψ : EuclidGeom.AngValue}
{θ : EuclidGeom.AngValue}
{z : ℤ}
(hz : z ≠ 0)
:
theorem
EuclidGeom.AngValue.cos_eq_iff_eq_or_eq_neg
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
:
EuclidGeom.AngValue.cos θ = EuclidGeom.AngValue.cos ψ ↔ θ = ψ ∨ θ = -ψ
theorem
EuclidGeom.AngValue.sin_eq_iff_eq_or_add_eq_pi
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
:
EuclidGeom.AngValue.sin θ = EuclidGeom.AngValue.sin ψ ↔ θ = ψ ∨ θ + ψ = ↑Real.pi
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
EuclidGeom.AngValue.cos_sq_add_sin_sq
(θ : EuclidGeom.AngValue)
:
EuclidGeom.AngValue.cos θ ^ 2 + EuclidGeom.AngValue.sin θ ^ 2 = 1
@[simp]
theorem
EuclidGeom.AngValue.sin_add_pi_div_two
(θ : EuclidGeom.AngValue)
:
EuclidGeom.AngValue.sin (θ + ↑(Real.pi / 2)) = EuclidGeom.AngValue.cos θ
@[simp]
theorem
EuclidGeom.AngValue.sin_sub_pi_div_two
(θ : EuclidGeom.AngValue)
:
EuclidGeom.AngValue.sin (θ - ↑(Real.pi / 2)) = -EuclidGeom.AngValue.cos θ
@[simp]
theorem
EuclidGeom.AngValue.sin_pi_div_two_sub
(θ : EuclidGeom.AngValue)
:
EuclidGeom.AngValue.sin (↑(Real.pi / 2) - θ) = EuclidGeom.AngValue.cos θ
@[simp]
theorem
EuclidGeom.AngValue.cos_add_pi_div_two
(θ : EuclidGeom.AngValue)
:
EuclidGeom.AngValue.cos (θ + ↑(Real.pi / 2)) = -EuclidGeom.AngValue.sin θ
@[simp]
theorem
EuclidGeom.AngValue.cos_sub_pi_div_two
(θ : EuclidGeom.AngValue)
:
EuclidGeom.AngValue.cos (θ - ↑(Real.pi / 2)) = EuclidGeom.AngValue.sin θ
@[simp]
theorem
EuclidGeom.AngValue.cos_pi_div_two_sub
(θ : EuclidGeom.AngValue)
:
EuclidGeom.AngValue.cos (↑(Real.pi / 2) - θ) = EuclidGeom.AngValue.sin θ
theorem
EuclidGeom.AngValue.abs_sin_eq_of_two_nsmul_eq
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ = 2 • ψ)
:
theorem
EuclidGeom.AngValue.abs_sin_eq_of_two_zsmul_eq
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ = 2 • ψ)
:
theorem
EuclidGeom.AngValue.abs_cos_eq_of_two_nsmul_eq
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ = 2 • ψ)
:
theorem
EuclidGeom.AngValue.abs_cos_eq_of_two_zsmul_eq
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ = 2 • ψ)
:
@[simp]
@[simp]
@[simp]
@[simp]
theorem
EuclidGeom.AngValue.coe_toReal
(θ : EuclidGeom.AngValue)
:
↑(EuclidGeom.AngValue.toReal θ) = θ
@[simp]
@[simp]
theorem
EuclidGeom.AngValue.toReal_eq_zero_iff
{θ : EuclidGeom.AngValue}
:
EuclidGeom.AngValue.toReal θ = 0 ↔ θ = 0
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
EuclidGeom.AngValue.nsmul_toReal_eq_mul
{n : ℕ}
(h : n ≠ 0)
{θ : EuclidGeom.AngValue}
:
EuclidGeom.AngValue.toReal (n • θ) = ↑n * EuclidGeom.AngValue.toReal θ ↔ EuclidGeom.AngValue.toReal θ ∈ Set.Ioc (-Real.pi / ↑n) (Real.pi / ↑n)
theorem
EuclidGeom.AngValue.two_nsmul_toReal_eq_two_mul
{θ : EuclidGeom.AngValue}
:
EuclidGeom.AngValue.toReal (2 • θ) = 2 * EuclidGeom.AngValue.toReal θ ↔ EuclidGeom.AngValue.toReal θ ∈ Set.Ioc (-Real.pi / 2) (Real.pi / 2)
theorem
EuclidGeom.AngValue.two_zsmul_toReal_eq_two_mul
{θ : EuclidGeom.AngValue}
:
EuclidGeom.AngValue.toReal (2 • θ) = 2 * EuclidGeom.AngValue.toReal θ ↔ EuclidGeom.AngValue.toReal θ ∈ Set.Ioc (-Real.pi / 2) (Real.pi / 2)
@[simp]
@[simp]
theorem
EuclidGeom.AngValue.abs_cos_eq_abs_sin_of_two_nsmul_add_two_nsmul_eq_pi
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ + 2 • ψ = ↑Real.pi)
:
theorem
EuclidGeom.AngValue.abs_cos_eq_abs_sin_of_two_zsmul_add_two_zsmul_eq_pi
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ + 2 • ψ = ↑Real.pi)
:
@[simp]
@[simp]
@[simp]
theorem
EuclidGeom.AngValue.tan_eq_of_two_nsmul_eq
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ = 2 • ψ)
:
theorem
EuclidGeom.AngValue.tan_eq_of_two_zsmul_eq
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ = 2 • ψ)
:
theorem
EuclidGeom.AngValue.tan_eq_inv_of_two_nsmul_add_two_nsmul_eq_pi
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ + 2 • ψ = ↑Real.pi)
:
theorem
EuclidGeom.AngValue.tan_eq_inv_of_two_zsmul_add_two_zsmul_eq_pi
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : 2 • θ + 2 • ψ = ↑Real.pi)
:
The sign of a AngValue
is 0
if the angle is 0
or π
, 1
if the angle is strictly
between 0
and π
and -1
is the angle is strictly between -π
and 0
. It is defined as the
sign of the sine of the angle.
Equations
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
EuclidGeom.AngValue.sign_toReal
{θ : EuclidGeom.AngValue}
(h : θ ≠ ↑Real.pi)
:
SignType.sign (EuclidGeom.AngValue.toReal θ) = EuclidGeom.AngValue.sign θ
theorem
EuclidGeom.AngValue.coe_abs_toReal_of_sign_nonneg
{θ : EuclidGeom.AngValue}
(h : 0 ≤ EuclidGeom.AngValue.sign θ)
:
↑|EuclidGeom.AngValue.toReal θ| = θ
theorem
EuclidGeom.AngValue.neg_coe_abs_toReal_of_sign_nonpos
{θ : EuclidGeom.AngValue}
(h : EuclidGeom.AngValue.sign θ ≤ 0)
:
-↑|EuclidGeom.AngValue.toReal θ| = θ
theorem
EuclidGeom.AngValue.eq_iff_abs_toReal_eq_of_sign_eq
{θ : EuclidGeom.AngValue}
{ψ : EuclidGeom.AngValue}
(h : EuclidGeom.AngValue.sign θ = EuclidGeom.AngValue.sign ψ)
:
θ = ψ ↔ |EuclidGeom.AngValue.toReal θ| = |EuclidGeom.AngValue.toReal ψ|
@[simp]
@[simp]
theorem
EuclidGeom.AngValue.sign_coe_nonneg_of_nonneg_of_le_pi
{θ : ℝ}
(h0 : 0 ≤ θ)
(hpi : θ ≤ Real.pi)
:
theorem
EuclidGeom.AngValue.sign_neg_coe_nonpos_of_nonneg_of_le_pi
{θ : ℝ}
(h0 : 0 ≤ θ)
(hpi : θ ≤ Real.pi)
:
EuclidGeom.AngValue.sign (-↑θ) ≤ 0
theorem
EuclidGeom.AngValue.sign_two_nsmul_eq_sign_iff
{θ : EuclidGeom.AngValue}
:
EuclidGeom.AngValue.sign (2 • θ) = EuclidGeom.AngValue.sign θ ↔ θ = ↑Real.pi ∨ |EuclidGeom.AngValue.toReal θ| < Real.pi / 2
theorem
EuclidGeom.AngValue.sign_two_zsmul_eq_sign_iff
{θ : EuclidGeom.AngValue}
:
EuclidGeom.AngValue.sign (2 • θ) = EuclidGeom.AngValue.sign θ ↔ θ = ↑Real.pi ∨ |EuclidGeom.AngValue.toReal θ| < Real.pi / 2
theorem
EuclidGeom.AngValue.continuousAt_sign
{θ : EuclidGeom.AngValue}
(h0 : θ ≠ 0)
(hpi : θ ≠ ↑Real.pi)
:
theorem
ContinuousOn.angValue_sign_comp
{α : Type u_1}
[TopologicalSpace α]
{f : α → EuclidGeom.AngValue}
{s : Set α}
(hf : ContinuousOn f s)
(hs : ∀ z ∈ s, f z ≠ 0 ∧ f z ≠ ↑Real.pi)
:
theorem
EuclidGeom.AngValue.sign_eq_of_continuousOn
{α : Type u_1}
[TopologicalSpace α]
{f : α → EuclidGeom.AngValue}
{s : Set α}
{x : α}
{y : α}
(hc : IsConnected s)
(hf : ContinuousOn f s)
(hs : ∀ z ∈ s, f z ≠ 0 ∧ f z ≠ ↑Real.pi)
(hx : x ∈ s)
(hy : y ∈ s)
:
EuclidGeom.AngValue.sign (f y) = EuclidGeom.AngValue.sign (f x)
Suppose a function to angles is continuous on a connected set and never takes the values 0
or π
on that set. Then the values of the function on that set all have the same sign.
@[simp]
theorem
Complex.arg_conj_coe_angValue
(x : ℂ)
:
↑(Complex.arg ((starRingEnd ℂ) x)) = -↑(Complex.arg x)
theorem
Complex.arg_neg_coe_angValue
{x : ℂ}
(hx : x ≠ 0)
:
↑(Complex.arg (-x)) = ↑(Complex.arg x) + ↑Real.pi
theorem
Complex.arg_mul_cos_add_sin_mul_I_coe_angValue
{r : ℝ}
(hr : 0 < r)
(θ : EuclidGeom.AngValue)
:
↑(Complex.arg (↑r * (↑(EuclidGeom.AngValue.cos θ) + ↑(EuclidGeom.AngValue.sin θ) * Complex.I))) = θ
@[simp]
theorem
Complex.arg_cos_add_sin_mul_I_coe_angValue
(θ : EuclidGeom.AngValue)
:
↑(Complex.arg (↑(EuclidGeom.AngValue.cos θ) + ↑(EuclidGeom.AngValue.sin θ) * Complex.I)) = θ
theorem
Complex.arg_mul_coe_angValue
{x : ℂ}
{y : ℂ}
(hx : x ≠ 0)
(hy : y ≠ 0)
:
↑(Complex.arg (x * y)) = ↑(Complex.arg x) + ↑(Complex.arg y)
theorem
Complex.arg_div_coe_angValue
{x : ℂ}
{y : ℂ}
(hx : x ≠ 0)
(hy : y ≠ 0)
:
↑(Complex.arg (x / y)) = ↑(Complex.arg x) - ↑(Complex.arg y)
@[simp]
theorem
Complex.arg_coe_angValue_eq_iff_eq_toReal
{z : ℂ}
{θ : EuclidGeom.AngValue}
:
↑(Complex.arg z) = θ ↔ Complex.arg z = EuclidGeom.AngValue.toReal θ
@[simp]
theorem
Complex.arg_coe_angValue_eq_iff
{x : ℂ}
{y : ℂ}
:
↑(Complex.arg x) = ↑(Complex.arg y) ↔ Complex.arg x = Complex.arg y
@[simp]
@[simp]
@[simp]
theorem
EuclidGeom.AngValue.expMapCircle_add
(θ₁ : EuclidGeom.AngValue)
(θ₂ : EuclidGeom.AngValue)
:
@[simp]
theorem
EuclidGeom.AngValue.arg_expMapCircle
(θ : EuclidGeom.AngValue)
:
↑(Complex.arg ↑(EuclidGeom.AngValue.expMapCircle θ)) = θ