Loogle!
Result
Found 92 declarations mentioning Real.Angle, HSMul.hSMul and OfNat.ofNat. Of these, 67 match your pattern(s).
- Real.Angle.two_zsmul_coe_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
: 2 β’ βReal.pi = 0 - Real.Angle.two_zsmul_coe_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : β) : 2 β’ β(ΞΈ / 2) = βΞΈ - Real.Angle.two_zsmul_neg_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
: 2 β’ β(-Real.pi / 2) = βReal.pi - Real.Angle.tan_eq_of_two_zsmul_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ = 2 β’ Ο) : ΞΈ.tan = Ο.tan - Real.Angle.two_nsmul_coe_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
: 2 β’ βReal.pi = 0 - Real.Angle.two_nsmul_coe_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : β) : 2 β’ β(ΞΈ / 2) = βΞΈ - Real.Angle.abs_cos_eq_of_two_zsmul_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ = 2 β’ Ο) : |ΞΈ.cos| = |Ο.cos| - Real.Angle.abs_sin_eq_of_two_zsmul_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ = 2 β’ Ο) : |ΞΈ.sin| = |Ο.sin| - Real.Angle.two_nsmul_neg_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
: 2 β’ β(-Real.pi / 2) = βReal.pi - Real.Angle.sign_two_zsmul_eq_sign_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : (2 β’ ΞΈ).sign = ΞΈ.sign β ΞΈ = βReal.pi β¨ |ΞΈ.toReal| < Real.pi / 2 - Real.Angle.two_zsmul_eq_zero_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : 2 β’ ΞΈ = 0 β ΞΈ = 0 β¨ ΞΈ = βReal.pi - Real.Angle.two_zsmul_ne_zero_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : 2 β’ ΞΈ β 0 β ΞΈ β 0 β§ ΞΈ β βReal.pi - Real.Angle.tan_eq_of_two_nsmul_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ = 2 β’ Ο) : ΞΈ.tan = Ο.tan - Real.Angle.sign_two_nsmul_eq_sign_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : (2 β’ ΞΈ).sign = ΞΈ.sign β ΞΈ = βReal.pi β¨ |ΞΈ.toReal| < Real.pi / 2 - Real.Angle.two_nsmul_eq_zero_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : 2 β’ ΞΈ = 0 β ΞΈ = 0 β¨ ΞΈ = βReal.pi - Real.Angle.two_nsmul_ne_zero_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : 2 β’ ΞΈ β 0 β ΞΈ β 0 β§ ΞΈ β βReal.pi - Real.Angle.abs_cos_eq_of_two_nsmul_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ = 2 β’ Ο) : |ΞΈ.cos| = |Ο.cos| - Real.Angle.abs_sin_eq_of_two_nsmul_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ = 2 β’ Ο) : |ΞΈ.sin| = |Ο.sin| - Real.Angle.tan_eq_inv_of_two_zsmul_add_two_zsmul_eq_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ + 2 β’ Ο = βReal.pi) : Ο.tan = ΞΈ.tanβ»ΒΉ - Real.Angle.two_zsmul_eq_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{Ο ΞΈ : Real.Angle} : 2 β’ Ο = 2 β’ ΞΈ β Ο = ΞΈ β¨ Ο = ΞΈ + βReal.pi - Real.Angle.two_zsmul_eq_pi_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : 2 β’ ΞΈ = βReal.pi β ΞΈ = β(Real.pi / 2) β¨ ΞΈ = β(-Real.pi / 2) - Real.Angle.abs_cos_eq_abs_sin_of_two_zsmul_add_two_zsmul_eq_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ + 2 β’ Ο = βReal.pi) : |ΞΈ.cos| = |Ο.sin| - Real.Angle.two_nsmul_eq_pi_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : 2 β’ ΞΈ = βReal.pi β ΞΈ = β(Real.pi / 2) β¨ ΞΈ = β(-Real.pi / 2) - Real.Angle.two_zsmul_toReal_eq_two_mul_sub_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : (2 β’ ΞΈ).toReal = 2 * ΞΈ.toReal - 2 * Real.pi β Real.pi / 2 < ΞΈ.toReal - Real.Angle.tan_eq_inv_of_two_nsmul_add_two_nsmul_eq_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ + 2 β’ Ο = βReal.pi) : Ο.tan = ΞΈ.tanβ»ΒΉ - Real.Angle.two_nsmul_eq_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{Ο ΞΈ : Real.Angle} : 2 β’ Ο = 2 β’ ΞΈ β Ο = ΞΈ β¨ Ο = ΞΈ + βReal.pi - Real.Angle.two_zsmul_toReal_eq_two_mul_add_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : (2 β’ ΞΈ).toReal = 2 * ΞΈ.toReal + 2 * Real.pi β ΞΈ.toReal β€ -Real.pi / 2 - Real.Angle.two_zsmul_toReal_eq_two_mul π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : (2 β’ ΞΈ).toReal = 2 * ΞΈ.toReal β ΞΈ.toReal β Set.Ioc (-Real.pi / 2) (Real.pi / 2) - Real.Angle.abs_cos_eq_abs_sin_of_two_nsmul_add_two_nsmul_eq_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ + 2 β’ Ο = βReal.pi) : |ΞΈ.cos| = |Ο.sin| - Real.Angle.two_nsmul_toReal_eq_two_mul_sub_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : (2 β’ ΞΈ).toReal = 2 * ΞΈ.toReal - 2 * Real.pi β Real.pi / 2 < ΞΈ.toReal - Real.Angle.two_nsmul_toReal_eq_two_mul_add_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : (2 β’ ΞΈ).toReal = 2 * ΞΈ.toReal + 2 * Real.pi β ΞΈ.toReal β€ -Real.pi / 2 - Real.Angle.two_nsmul_toReal_eq_two_mul π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : (2 β’ ΞΈ).toReal = 2 * ΞΈ.toReal β ΞΈ.toReal β Set.Ioc (-Real.pi / 2) (Real.pi / 2) - Orientation.two_zsmul_oangle_neg_self_left π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x : V) : 2 β’ o.oangle (-x) x = 0 - Orientation.two_zsmul_oangle_neg_self_right π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x : V) : 2 β’ o.oangle x (-x) = 0 - Orientation.two_zsmul_oangle_neg_left π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x y : V) : 2 β’ o.oangle (-x) y = 2 β’ o.oangle x y - Orientation.two_zsmul_oangle_neg_right π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x y : V) : 2 β’ o.oangle x (-y) = 2 β’ o.oangle x y - Orientation.oangle_eq_pi_sub_two_zsmul_oangle_sub_of_norm_eq π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (hn : x β y) (h : βxβ = βyβ) : o.oangle y x = βReal.pi - 2 β’ o.oangle (y - x) y - Orientation.two_zsmul_oangle_smul_left_self π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x : V) {r : β} : 2 β’ o.oangle (r β’ x) x = 0 - Orientation.two_zsmul_oangle_smul_right_self π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x : V) {r : β} : 2 β’ o.oangle x (r β’ x) = 0 - Orientation.two_zsmul_oangle_left_of_span_eq π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (z : V) (h : Submodule.span β {x} = Submodule.span β {y}) : 2 β’ o.oangle x z = 2 β’ o.oangle y z - Orientation.two_zsmul_oangle_right_of_span_eq π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x : V) {y z : V} (h : Submodule.span β {y} = Submodule.span β {z}) : 2 β’ o.oangle x y = 2 β’ o.oangle x z - Orientation.two_zsmul_oangle_smul_left_of_ne_zero π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x y : V) {r : β} (hr : r β 0) : 2 β’ o.oangle (r β’ x) y = 2 β’ o.oangle x y - Orientation.two_zsmul_oangle_smul_right_of_ne_zero π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x y : V) {r : β} (hr : r β 0) : 2 β’ o.oangle x (r β’ y) = 2 β’ o.oangle x y - Orientation.two_zsmul_oangle_smul_smul_self π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (x : V) {rβ rβ : β} : 2 β’ o.oangle (rβ β’ x) (rβ β’ x) = 0 - Orientation.two_zsmul_oangle_of_span_eq_of_span_eq π Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {w x y z : V} (hwx : Submodule.span β {w} = Submodule.span β {x}) (hyz : Submodule.span β {y} = Submodule.span β {z}) : 2 β’ o.oangle w y = 2 β’ o.oangle x z - EuclideanGeometry.oangle_eq_pi_sub_two_zsmul_oangle_of_dist_eq π Mathlib.Geometry.Euclidean.Angle.Oriented.Affine
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ : P} (hn : pβ β pβ) (h : dist pβ pβ = dist pβ pβ) : EuclideanGeometry.oangle pβ pβ pβ = βReal.pi - 2 β’ EuclideanGeometry.oangle pβ pβ pβ - Collinear.two_zsmul_oangle_eq_left π Mathlib.Geometry.Euclidean.Angle.Oriented.Affine
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ' pβ pβ : P} (h : Collinear β {pβ, pβ, pβ'}) (hpβpβ : pβ β pβ) (hpβ'pβ : pβ' β pβ) : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ' pβ pβ - Collinear.two_zsmul_oangle_eq_right π Mathlib.Geometry.Euclidean.Angle.Oriented.Affine
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ' : P} (h : Collinear β {pβ, pβ, pβ'}) (hpβpβ : pβ β pβ) (hpβ'pβ : pβ' β pβ) : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ' - EuclideanGeometry.collinear_iff_of_two_zsmul_oangle_eq π Mathlib.Geometry.Euclidean.Angle.Oriented.Affine
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ pβ pβ : P} (h : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ) : Collinear β {pβ, pβ, pβ} β Collinear β {pβ, pβ , pβ} - EuclideanGeometry.affineIndependent_iff_of_two_zsmul_oangle_eq π Mathlib.Geometry.Euclidean.Angle.Oriented.Affine
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ pβ pβ : P} (h : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ) : AffineIndependent β ![pβ, pβ, pβ] β AffineIndependent β ![pβ, pβ , pβ] - EuclideanGeometry.two_zsmul_oangle_of_vectorSpan_eq π Mathlib.Geometry.Euclidean.Angle.Oriented.Affine
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ pβ pβ : P} (hββββ : vectorSpan β {pβ, pβ} = vectorSpan β {pβ, pβ }) (hββββ : vectorSpan β {pβ, pβ} = vectorSpan β {pβ, pβ }) : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ - EuclideanGeometry.two_zsmul_oangle_of_parallel π Mathlib.Geometry.Euclidean.Angle.Oriented.Affine
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ pβ pβ : P} (hββββ : (affineSpan β {pβ, pβ}).Parallel (affineSpan β {pβ, pβ })) (hββββ : (affineSpan β {pβ, pβ}).Parallel (affineSpan β {pβ, pβ })) : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ - EuclideanGeometry.Sphere.oangle_center_eq_two_zsmul_oangle π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {s : EuclideanGeometry.Sphere P} {pβ pβ pβ : P} (hpβ : pβ β s) (hpβ : pβ β s) (hpβ : pβ β s) (hpβpβ : pβ β pβ) (hpβpβ : pβ β pβ) : EuclideanGeometry.oangle pβ s.center pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ - Orientation.oangle_eq_two_zsmul_oangle_sub_of_norm_eq π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y z : V} (hxyne : x β y) (hxzne : x β z) (hxy : βxβ = βyβ) (hxz : βxβ = βzβ) : o.oangle y z = 2 β’ o.oangle (y - x) (z - x) - Orientation.oangle_eq_two_zsmul_oangle_sub_of_norm_eq_real π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y z : V} (hxyne : x β y) (hxzne : x β z) {r : β} (hx : βxβ = r) (hy : βyβ = r) (hz : βzβ = r) : o.oangle y z = 2 β’ o.oangle (y - x) (z - x) - EuclideanGeometry.Sphere.oangle_eq_pi_sub_two_zsmul_oangle_center_left π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {s : EuclideanGeometry.Sphere P} {pβ pβ : P} (hpβ : pβ β s) (hpβ : pβ β s) (h : pβ β pβ) : EuclideanGeometry.oangle pβ s.center pβ = βReal.pi - 2 β’ EuclideanGeometry.oangle s.center pβ pβ - EuclideanGeometry.Sphere.oangle_eq_pi_sub_two_zsmul_oangle_center_right π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {s : EuclideanGeometry.Sphere P} {pβ pβ : P} (hpβ : pβ β s) (hpβ : pβ β s) (h : pβ β pβ) : EuclideanGeometry.oangle pβ s.center pβ = βReal.pi - 2 β’ EuclideanGeometry.oangle pβ pβ s.center - EuclideanGeometry.Cospherical.two_zsmul_oangle_eq π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ : P} (h : EuclideanGeometry.Cospherical {pβ, pβ, pβ, pβ}) (hpβpβ : pβ β pβ) (hpβpβ : pβ β pβ) (hpβpβ : pβ β pβ) (hpβpβ : pβ β pβ) : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ - EuclideanGeometry.Sphere.two_zsmul_oangle_eq π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {s : EuclideanGeometry.Sphere P} {pβ pβ pβ pβ : P} (hpβ : pβ β s) (hpβ : pβ β s) (hpβ : pβ β s) (hpβ : pβ β s) (hpβpβ : pβ β pβ) (hpβpβ : pβ β pβ) (hpβpβ : pβ β pβ) (hpβpβ : pβ β pβ) : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ - EuclideanGeometry.Sphere.two_zsmul_oangle_center_add_two_zsmul_oangle_eq_pi π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {s : EuclideanGeometry.Sphere P} {pβ pβ pβ : P} (hpβ : pβ β s) (hpβ : pβ β s) (hpβ : pβ β s) (hpβpβ : pβ β pβ) (hpβpβ : pβ β pβ) (hpβpβ : pβ β pβ) : 2 β’ EuclideanGeometry.oangle pβ pβ s.center + 2 β’ EuclideanGeometry.oangle pβ pβ pβ = βReal.pi - EuclideanGeometry.cospherical_of_two_zsmul_oangle_eq_of_not_collinear π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ : P} (h : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ) (hn : Β¬Collinear β {pβ, pβ, pβ}) : EuclideanGeometry.Cospherical {pβ, pβ, pβ, pβ} - EuclideanGeometry.cospherical_or_collinear_of_two_zsmul_oangle_eq π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ : P} (h : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ) : EuclideanGeometry.Cospherical {pβ, pβ, pβ, pβ} β¨ Collinear β {pβ, pβ, pβ, pβ} - EuclideanGeometry.concyclic_of_two_zsmul_oangle_eq_of_not_collinear π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ : P} (h : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ) (hn : Β¬Collinear β {pβ, pβ, pβ}) : EuclideanGeometry.Concyclic {pβ, pβ, pβ, pβ} - Orientation.two_zsmul_oangle_sub_eq_two_zsmul_oangle_sub_of_norm_eq π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {xβ xβ y z : V} (hxβyne : xβ β y) (hxβzne : xβ β z) (hxβyne : xβ β y) (hxβzne : xβ β z) {r : β} (hxβ : βxββ = r) (hxβ : βxββ = r) (hy : βyβ = r) (hz : βzβ = r) : 2 β’ o.oangle (y - xβ) (z - xβ) = 2 β’ o.oangle (y - xβ) (z - xβ) - EuclideanGeometry.concyclic_or_collinear_of_two_zsmul_oangle_eq π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {pβ pβ pβ pβ : P} (h : 2 β’ EuclideanGeometry.oangle pβ pβ pβ = 2 β’ EuclideanGeometry.oangle pβ pβ pβ) : EuclideanGeometry.Concyclic {pβ, pβ, pβ, pβ} β¨ Collinear β {pβ, pβ, pβ, pβ} - Affine.Triangle.mem_circumsphere_of_two_zsmul_oangle_eq π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {t : Affine.Triangle β P} {p : P} {iβ iβ iβ : Fin 3} (hββ : iβ β iβ) (hββ : iβ β iβ) (hββ : iβ β iβ) (h : 2 β’ EuclideanGeometry.oangle (t.points iβ) p (t.points iβ) = 2 β’ EuclideanGeometry.oangle (t.points iβ) (t.points iβ) (t.points iβ)) : p β Affine.Simplex.circumsphere t - Affine.Triangle.circumsphere_eq_circumsphere_of_eq_of_eq_of_two_zsmul_oangle_eq π Mathlib.Geometry.Euclidean.Angle.Sphere
{V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace β V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (Module.finrank β V = 2)] [Module.Oriented β V (Fin 2)] {tβ tβ : Affine.Triangle β P} {iβ iβ iβ : Fin 3} (hββ : iβ β iβ) (hββ : iβ β iβ) (hββ : iβ β iβ) (hβ : tβ.points iβ = tβ.points iβ) (hβ : tβ.points iβ = tβ.points iβ) (hβ : 2 β’ EuclideanGeometry.oangle (tβ.points iβ) (tβ.points iβ) (tβ.points iβ) = 2 β’ EuclideanGeometry.oangle (tβ.points iβ) (tβ.points iβ) (tβ.points iβ)) : Affine.Simplex.circumsphere tβ = Affine.Simplex.circumsphere tβ
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. You can also try the
#loogle
command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"
somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?a
If the pattern has parameters, they are matched in any order. Both of these will find
List.map
:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?b
By main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβ
andβ
) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsum
even though the hypothesisf i < g i
is not the last.
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum
, have "two"
as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _
(if
there were any such lemmas). Metavariables (?a
) are
assigned independently in each filter.
The #lucky
button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO.
This is Loogle revision 19971e9
serving mathlib revision 4cb993b