Loogle!
Result
Found 61 declarations mentioning Real.Angle.sin.
- Real.Angle.sin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : β - Real.Angle.sin_coe π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(x : β) : (βx).sin = Real.sin x - Real.Angle.sin_toReal π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : Real.sin ΞΈ.toReal = ΞΈ.sin - Real.Angle.sin_coe_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
: (βReal.pi).sin = 0 - Real.Angle.continuous_sin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
: Continuous Real.Angle.sin - Real.Angle.tan_eq_sin_div_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : ΞΈ.tan = ΞΈ.sin / ΞΈ.cos - Real.Angle.tan.eq_1 π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : ΞΈ.tan = ΞΈ.sin / ΞΈ.cos - Real.Angle.sin_neg π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : (-ΞΈ).sin = -ΞΈ.sin - Real.Angle.sin_sub_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : (ΞΈ - βReal.pi).sin = -ΞΈ.sin - Real.Angle.sin_zero π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
: Real.Angle.sin 0 = 0 - Real.Angle.sin_antiperiodic π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
: Function.Antiperiodic Real.Angle.sin βReal.pi - Real.Angle.sin_eq_zero_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : ΞΈ.sin = 0 β ΞΈ = 0 β¨ ΞΈ = βReal.pi - Real.Angle.sin_ne_zero_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} : ΞΈ.sin β 0 β ΞΈ β 0 β§ ΞΈ β βReal.pi - Real.Angle.cos_pi_div_two_sub π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : (β(Real.pi / 2) - ΞΈ).cos = ΞΈ.sin - Real.Angle.cos_sub_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : (ΞΈ - β(Real.pi / 2)).cos = ΞΈ.sin - Real.Angle.sin_pi_div_two_sub π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : (β(Real.pi / 2) - ΞΈ).sin = ΞΈ.cos - Real.Angle.sign.eq_1 π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : ΞΈ.sign = SignType.sign ΞΈ.sin - Real.Angle.sin_add_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : (ΞΈ + βReal.pi).sin = -ΞΈ.sin - Real.Angle.sin_sub_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : (ΞΈ - β(Real.pi / 2)).sin = -ΞΈ.cos - Real.Angle.cos_sq_add_sin_sq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : ΞΈ.cos ^ 2 + ΞΈ.sin ^ 2 = 1 - Real.Angle.sin_eq_iff_eq_or_add_eq_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} : ΞΈ.sin = Ο.sin β ΞΈ = Ο β¨ ΞΈ + Ο = βReal.pi - Real.Angle.sin_eq_real_sin_iff_eq_or_add_eq_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ : Real.Angle} {Ο : β} : ΞΈ.sin = Real.sin Ο β ΞΈ = βΟ β¨ ΞΈ + βΟ = βReal.pi - Real.Angle.abs_sin_eq_of_two_zsmul_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ = 2 β’ Ο) : |ΞΈ.sin| = |Ο.sin| - Real.Angle.sin_add_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : (ΞΈ + β(Real.pi / 2)).sin = ΞΈ.cos - Real.Angle.cos_add_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈ : Real.Angle) : (ΞΈ + β(Real.pi / 2)).cos = -ΞΈ.sin - Real.Angle.cos_add π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈβ ΞΈβ : Real.Angle) : (ΞΈβ + ΞΈβ).cos = ΞΈβ.cos * ΞΈβ.cos - ΞΈβ.sin * ΞΈβ.sin - Real.Angle.sin_add π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
(ΞΈβ ΞΈβ : Real.Angle) : (ΞΈβ + ΞΈβ).sin = ΞΈβ.sin * ΞΈβ.cos + ΞΈβ.cos * ΞΈβ.sin - 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.abs_sin_eq_of_two_nsmul_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle
{ΞΈ Ο : Real.Angle} (h : 2 β’ ΞΈ = 2 β’ Ο) : |ΞΈ.sin| = |Ο.sin| - 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| - Complex.arg_cos_add_sin_mul_I_coe_angle π Mathlib.Analysis.SpecialFunctions.Complex.Arg
(ΞΈ : Real.Angle) : β(βΞΈ.cos + βΞΈ.sin * Complex.I).arg = ΞΈ - Complex.arg_mul_cos_add_sin_mul_I_coe_angle π Mathlib.Analysis.SpecialFunctions.Complex.Arg
{r : β} (hr : 0 < r) (ΞΈ : Real.Angle) : β(βr * (βΞΈ.cos + βΞΈ.sin * Complex.I)).arg = ΞΈ - Real.Angle.coe_toCircle π Mathlib.Analysis.SpecialFunctions.Complex.Circle
(ΞΈ : Real.Angle) : βΞΈ.toCircle = βΞΈ.cos + βΞΈ.sin * Complex.I - Orientation.rotationAux_apply π Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (ΞΈ : Real.Angle) (x : V) : (o.rotationAux ΞΈ) x = ΞΈ.cos β’ x + ΞΈ.sin β’ o.rightAngleRotation x - Orientation.rotation_apply π Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (ΞΈ : Real.Angle) (x : V) : (o.rotation ΞΈ) x = ΞΈ.cos β’ x + ΞΈ.sin β’ o.rightAngleRotation x - Orientation.rotation_symm_apply π Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (ΞΈ : Real.Angle) (x : V) : (o.rotation ΞΈ).symm x = ΞΈ.cos β’ x - ΞΈ.sin β’ o.rightAngleRotation x - Orientation.rotation.eq_1 π Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (ΞΈ : Real.Angle) : o.rotation ΞΈ = LinearIsometryEquiv.ofLinearIsometry (o.rotationAux ΞΈ) (ΞΈ.cos β’ LinearMap.id - ΞΈ.sin β’ βo.rightAngleRotation.toLinearEquiv) β― β― - Orientation.rotation_eq_matrix_toLin π Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) (ΞΈ : Real.Angle) {x : V} (hx : x β 0) : β(o.rotation ΞΈ).toLinearEquiv = (Matrix.toLin (o.basisRightAngleRotation x hx) (o.basisRightAngleRotation x hx)) !![ΞΈ.cos, -ΞΈ.sin; ΞΈ.sin, ΞΈ.cos] - EuclideanGeometry.sin_oangle_left_mul_dist_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{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} (h : EuclideanGeometry.oangle pβ pβ pβ = β(Real.pi / 2)) : (EuclideanGeometry.oangle pβ pβ pβ).sin * dist pβ pβ = dist pβ pβ - EuclideanGeometry.sin_oangle_right_mul_dist_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{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} (h : EuclideanGeometry.oangle pβ pβ pβ = β(Real.pi / 2)) : (EuclideanGeometry.oangle pβ pβ pβ).sin * dist pβ pβ = dist pβ pβ - EuclideanGeometry.dist_div_sin_oangle_left_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{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} (h : EuclideanGeometry.oangle pβ pβ pβ = β(Real.pi / 2)) : dist pβ pβ / (EuclideanGeometry.oangle pβ pβ pβ).sin = dist pβ pβ - EuclideanGeometry.dist_div_sin_oangle_right_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{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} (h : EuclideanGeometry.oangle pβ pβ pβ = β(Real.pi / 2)) : dist pβ pβ / (EuclideanGeometry.oangle pβ pβ pβ).sin = dist pβ pβ - EuclideanGeometry.sin_oangle_left_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{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} (h : EuclideanGeometry.oangle pβ pβ pβ = β(Real.pi / 2)) : (EuclideanGeometry.oangle pβ pβ pβ).sin = dist pβ pβ / dist pβ pβ - EuclideanGeometry.sin_oangle_right_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{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} (h : EuclideanGeometry.oangle pβ pβ pβ = β(Real.pi / 2)) : (EuclideanGeometry.oangle pβ pβ pβ).sin = dist pβ pβ / dist pβ pβ - Orientation.sin_oangle_sub_left_mul_norm_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : (o.oangle (x - y) x).sin * βx - yβ = βyβ - Orientation.sin_oangle_sub_right_mul_norm_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : (o.oangle y (y - x)).sin * βy - xβ = βxβ - Orientation.norm_div_sin_oangle_sub_left_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : βyβ / (o.oangle (x - y) x).sin = βx - yβ - Orientation.norm_div_sin_oangle_sub_right_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : βxβ / (o.oangle y (y - x)).sin = βy - xβ - Orientation.sin_oangle_sub_left_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : (o.oangle (x - y) x).sin = βyβ / βx - yβ - Orientation.sin_oangle_sub_right_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : (o.oangle y (y - x)).sin = βxβ / βy - xβ - Orientation.sin_oangle_add_left_mul_norm_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : (o.oangle (x + y) y).sin * βx + yβ = βxβ - Orientation.sin_oangle_add_right_mul_norm_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : (o.oangle x (x + y)).sin * βx + yβ = βyβ - Orientation.norm_div_sin_oangle_add_left_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : βxβ / (o.oangle (x + y) y).sin = βx + yβ - Orientation.norm_div_sin_oangle_add_right_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : βyβ / (o.oangle x (x + y)).sin = βx + yβ - Orientation.sin_oangle_add_left_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : (o.oangle (x + y) y).sin = βxβ / βx + yβ - Orientation.sin_oangle_add_right_of_oangle_eq_pi_div_two π Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle
{V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace β V] [hd2 : Fact (Module.finrank β V = 2)] (o : Orientation β V (Fin 2)) {x y : V} (h : o.oangle x y = β(Real.pi / 2)) : (o.oangle x (x + y)).sin = βyβ / βx + yβ - EuclideanGeometry.Sphere.dist_div_sin_oangle_eq_two_mul_radius π 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β) : dist pβ pβ / |(EuclideanGeometry.oangle pβ pβ pβ).sin| = 2 * s.radius - EuclideanGeometry.Sphere.dist_div_sin_oangle_div_two_eq_radius π 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β) : dist pβ pβ / |(EuclideanGeometry.oangle pβ pβ pβ).sin| / 2 = s.radius - Affine.Triangle.dist_div_sin_oangle_eq_two_mul_circumradius π 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) {iβ iβ iβ : Fin 3} (hββ : iβ β iβ) (hββ : iβ β iβ) (hββ : iβ β iβ) : dist (t.points iβ) (t.points iβ) / |(EuclideanGeometry.oangle (t.points iβ) (t.points iβ) (t.points iβ)).sin| = 2 * Affine.Simplex.circumradius t - Affine.Triangle.dist_div_sin_oangle_div_two_eq_circumradius π 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) {iβ iβ iβ : Fin 3} (hββ : iβ β iβ) (hββ : iβ β iβ) (hββ : iβ β iβ) : dist (t.points iβ) (t.points iβ) / |(EuclideanGeometry.oangle (t.points iβ) (t.points iβ) (t.points iβ)).sin| / 2 = Affine.Simplex.circumradius t - Affine.Triangle.circumsphere_eq_of_dist_of_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)] (t : Affine.Triangle β P) {iβ iβ iβ : Fin 3} (hββ : iβ β iβ) (hββ : iβ β iβ) (hββ : iβ β iβ) : Affine.Simplex.circumsphere t = { center := ((EuclideanGeometry.oangle (t.points iβ) (t.points iβ) (t.points iβ)).tanβ»ΒΉ / 2) β’ (EuclideanGeometry.o.rotation β(Real.pi / 2)) (t.points iβ -α΅₯ t.points iβ) +α΅₯ midpoint β (t.points iβ) (t.points iβ), radius := dist (t.points iβ) (t.points iβ) / |(EuclideanGeometry.oangle (t.points iβ) (t.points iβ) (t.points iβ)).sin| / 2 }
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 06e7f72
serving mathlib revision e128198