ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- EuclideanGeometry.angle_rev_eq_pi_div_two_of_oangle_eq_neg_pi_div_two
theorem angle_rev_eq_pi_div_two_of_oangle_eq_neg_pi_div_two {p₁ p₂ p₃ : P}
    (h : ∡ p₁ p₂ p₃ = ↑(-π / 2)) : ∠ p₃ p₂ p₁ = π / 2 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : ∡ p₁ p₂ p₃ = ↑(-π / 2))
Goal: ∠ p₃ p₂ p₁ = π / 2
-- EuclideanGeometry.oangle_swap₁₂_sign
theorem oangle_swap₁₂_sign (p₁ p₂ p₃ : P) : -(∡ p₁ p₂ p₃).sign = (∡ p₂ p₁ p₃).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] (p₁ p₂ p₃ : P)
Goal: -(∡ p₁ p₂ p₃).sign = (∡ p₂ p₁ p₃).sign
-- EuclideanGeometry.oangle_swap₁₃_sign
theorem oangle_swap₁₃_sign (p₁ p₂ p₃ : P) : -(∡ p₁ p₂ p₃).sign = (∡ p₃ p₂ p₁).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] (p₁ p₂ p₃ : P)
Goal: -(∡ p₁ p₂ p₃).sign = (∡ p₃ p₂ p₁).sign
-- EuclideanGeometry.oangle_swap₂₃_sign
theorem oangle_swap₂₃_sign (p₁ p₂ p₃ : P) : -(∡ p₁ p₂ p₃).sign = (∡ p₁ p₃ p₂).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] (p₁ p₂ p₃ : P)
Goal: -(∡ p₁ p₂ p₃).sign = (∡ p₁ p₃ p₂).sign
-- EuclideanGeometry.oangle_rotate_sign
theorem oangle_rotate_sign (p₁ p₂ p₃ : P) : (∡ p₂ p₃ p₁).sign = (∡ p₁ p₂ p₃).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] (p₁ p₂ p₃ : P)
Goal: (∡ p₂ p₃ p₁).sign = (∡ p₁ p₂ p₃).sign
-- EuclideanGeometry.oangle_eq_pi_iff_sbtw
theorem oangle_eq_pi_iff_sbtw {p₁ p₂ p₃ : P} : ∡ p₁ p₂ p₃ = π ↔ Sbtw ℝ p₁ p₂ p₃ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P}
Goal: ∡ p₁ p₂ p₃ = ↑π ↔ Sbtw ℝ p₁ p₂ p₃
-- Sbtw.oangle₁₂₃_eq_pi
theorem _root_.Sbtw.oangle₁₂₃_eq_pi {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃) : ∡ p₁ p₂ p₃ = π 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₁ p₂ p₃ = ↑π
-- Sbtw.oangle₃₂₁_eq_pi
theorem _root_.Sbtw.oangle₃₂₁_eq_pi {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃) : ∡ p₃ p₂ p₁ = π 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₃ p₂ p₁ = ↑π
-- Wbtw.oangle₂₁₃_eq_zero
theorem _root_.Wbtw.oangle₂₁₃_eq_zero {p₁ p₂ p₃ : P} (h : Wbtw ℝ p₁ p₂ p₃) : ∡ p₂ p₁ p₃ = 0 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Wbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₂ p₁ p₃ = 0
-- Sbtw.oangle₂₁₃_eq_zero
theorem _root_.Sbtw.oangle₂₁₃_eq_zero {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃) : ∡ p₂ p₁ p₃ = 0 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₂ p₁ p₃ = 0
-- Wbtw.oangle₃₁₂_eq_zero
theorem _root_.Wbtw.oangle₃₁₂_eq_zero {p₁ p₂ p₃ : P} (h : Wbtw ℝ p₁ p₂ p₃) : ∡ p₃ p₁ p₂ = 0 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Wbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₃ p₁ p₂ = 0
-- Sbtw.oangle₃₁₂_eq_zero
theorem _root_.Sbtw.oangle₃₁₂_eq_zero {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃) : ∡ p₃ p₁ p₂ = 0 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₃ p₁ p₂ = 0
-- Wbtw.oangle₂₃₁_eq_zero
theorem _root_.Wbtw.oangle₂₃₁_eq_zero {p₁ p₂ p₃ : P} (h : Wbtw ℝ p₁ p₂ p₃) : ∡ p₂ p₃ p₁ = 0 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Wbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₂ p₃ p₁ = 0
-- Sbtw.oangle₂₃₁_eq_zero
theorem _root_.Sbtw.oangle₂₃₁_eq_zero {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃) : ∡ p₂ p₃ p₁ = 0 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₂ p₃ p₁ = 0
-- Wbtw.oangle₁₃₂_eq_zero
theorem _root_.Wbtw.oangle₁₃₂_eq_zero {p₁ p₂ p₃ : P} (h : Wbtw ℝ p₁ p₂ p₃) : ∡ p₁ p₃ p₂ = 0 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Wbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₁ p₃ p₂ = 0
-- Sbtw.oangle₁₃₂_eq_zero
theorem _root_.Sbtw.oangle₁₃₂_eq_zero {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃) : ∡ p₁ p₃ p₂ = 0 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₃)
Goal: ∡ p₁ p₃ p₂ = 0
-- EuclideanGeometry.oangle_eq_zero_iff_wbtw
theorem oangle_eq_zero_iff_wbtw {p₁ p₂ p₃ : P} :
    ∡ p₁ p₂ p₃ = 0 ↔ Wbtw ℝ p₂ p₁ p₃ ∨ Wbtw ℝ p₂ p₃ p₁ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P}
Goal: ∡ p₁ p₂ p₃ = 0 ↔ Wbtw ℝ p₂ p₁ p₃ ∨ Wbtw ℝ p₂ p₃ p₁
-- Wbtw.oangle_eq_left
theorem _root_.Wbtw.oangle_eq_left {p₁ p₁' p₂ p₃ : P} (h : Wbtw ℝ p₂ p₁ p₁') (hp₁p₂ : p₁ ≠ p₂) :
    ∡ p₁ p₂ p₃ = ∡ p₁' p₂ p₃ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₁' p₂ p₃ : P} (h : Wbtw ℝ p₂ p₁ p₁') (hp₁p₂ : p₁ ≠ p₂)
Goal: ∡ p₁ p₂ p₃ = ∡ p₁' p₂ p₃
-- Sbtw.oangle_eq_left
theorem _root_.Sbtw.oangle_eq_left {p₁ p₁' p₂ p₃ : P} (h : Sbtw ℝ p₂ p₁ p₁') :
    ∡ p₁ p₂ p₃ = ∡ p₁' p₂ p₃ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₁' p₂ p₃ : P} (h : Sbtw ℝ p₂ p₁ p₁')
Goal: ∡ p₁ p₂ p₃ = ∡ p₁' p₂ p₃
-- Wbtw.oangle_eq_right
theorem _root_.Wbtw.oangle_eq_right {p₁ p₂ p₃ p₃' : P} (h : Wbtw ℝ p₂ p₃ p₃') (hp₃p₂ : p₃ ≠ p₂) :
    ∡ p₁ p₂ p₃ = ∡ p₁ p₂ p₃' 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ p₃' : P} (h : Wbtw ℝ p₂ p₃ p₃') (hp₃p₂ : p₃ ≠ p₂)
Goal: ∡ p₁ p₂ p₃ = ∡ p₁ p₂ p₃'
-- Sbtw.oangle_eq_right
theorem _root_.Sbtw.oangle_eq_right {p₁ p₂ p₃ p₃' : P} (h : Sbtw ℝ p₂ p₃ p₃') :
    ∡ p₁ p₂ p₃ = ∡ p₁ p₂ p₃' 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ p₃' : P} (h : Sbtw ℝ p₂ p₃ p₃')
Goal: ∡ p₁ p₂ p₃ = ∡ p₁ p₂ p₃'
-- EuclideanGeometry.oangle_midpoint_left
@[simp]
theorem oangle_midpoint_left (p₁ p₂ p₃ : P) : ∡ (midpoint ℝ p₁ p₂) p₂ p₃ = ∡ p₁ p₂ p₃ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] (p₁ p₂ p₃ : P)
Goal: ∡ (midpoint ℝ p₁ p₂) p₂ p₃ = ∡ p₁ p₂ p₃
-- EuclideanGeometry.oangle_midpoint_rev_left
@[simp]
theorem oangle_midpoint_rev_left (p₁ p₂ p₃ : P) : ∡ (midpoint ℝ p₂ p₁) p₂ p₃ = ∡ p₁ p₂ p₃ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] (p₁ p₂ p₃ : P)
Goal: ∡ (midpoint ℝ p₂ p₁) p₂ p₃ = ∡ p₁ p₂ p₃
-- EuclideanGeometry.oangle_midpoint_right
@[simp]
theorem oangle_midpoint_right (p₁ p₂ p₃ : P) : ∡ p₁ p₂ (midpoint ℝ p₃ p₂) = ∡ p₁ p₂ p₃ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] (p₁ p₂ p₃ : P)
Goal: ∡ p₁ p₂ (midpoint ℝ p₃ p₂) = ∡ p₁ p₂ p₃
-- EuclideanGeometry.oangle_midpoint_rev_right
@[simp]
theorem oangle_midpoint_rev_right (p₁ p₂ p₃ : P) : ∡ p₁ p₂ (midpoint ℝ p₂ p₃) = ∡ p₁ p₂ p₃ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] (p₁ p₂ p₃ : P)
Goal: ∡ p₁ p₂ (midpoint ℝ p₂ p₃) = ∡ p₁ p₂ p₃
-- Sbtw.oangle_eq_add_pi_left
theorem _root_.Sbtw.oangle_eq_add_pi_left
    {p₁ p₁' p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₁') (hp₃p₂ : p₃ ≠ p₂) :
    ∡ p₁ p₂ p₃ = ∡ p₁' p₂ p₃ + π 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₁' p₂ p₃ : P} (h : Sbtw ℝ p₁ p₂ p₁') (hp₃p₂ : p₃ ≠ p₂)
Goal: ∡ p₁ p₂ p₃ = ∡ p₁' p₂ p₃ + ↑π
-- Sbtw.oangle_eq_add_pi_right
theorem _root_.Sbtw.oangle_eq_add_pi_right
    {p₁ p₂ p₃ p₃' : P} (h : Sbtw ℝ p₃ p₂ p₃') (hp₁p₂ : p₁ ≠ p₂) :
    ∡ p₁ p₂ p₃ = ∡ p₁ p₂ p₃' + π 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ p₃' : P} (h : Sbtw ℝ p₃ p₂ p₃') (hp₁p₂ : p₁ ≠ p₂)
Goal: ∡ p₁ p₂ p₃ = ∡ p₁ p₂ p₃' + ↑π
-- Sbtw.oangle_eq_left_right
theorem _root_.Sbtw.oangle_eq_left_right {p₁ p₁' p₂ p₃ p₃' : P} (h₁ : Sbtw ℝ p₁ p₂ p₁')
    (h₃ : Sbtw ℝ p₃ p₂ p₃') : ∡ p₁ p₂ p₃ = ∡ p₁' p₂ p₃' 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₁' p₂ p₃ p₃' : P} (h₁ : Sbtw ℝ p₁ p₂ p₁') (h₃ : Sbtw ℝ p₃ p₂ p₃')
Goal: ∡ p₁ p₂ p₃ = ∡ p₁' p₂ p₃'
-- Collinear.two_zsmul_oangle_eq_left
theorem _root_.Collinear.two_zsmul_oangle_eq_left {p₁ p₁' p₂ p₃ : P}
    (h : Collinear ℝ ({p₁, p₂, p₁'} : Set P)) (hp₁p₂ : p₁ ≠ p₂) (hp₁'p₂ : p₁' ≠ p₂) :
    (2 : ℤ) • ∡ p₁ p₂ p₃ = (2 : ℤ) • ∡ p₁' p₂ p₃ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.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₂)
Goal: 2 • ∡ p₁ p₂ p₃ = 2 • ∡ p₁' p₂ p₃
-- Collinear.two_zsmul_oangle_eq_right
theorem _root_.Collinear.two_zsmul_oangle_eq_right {p₁ p₂ p₃ p₃' : P}
    (h : Collinear ℝ ({p₃, p₂, p₃'} : Set P)) (hp₃p₂ : p₃ ≠ p₂) (hp₃'p₂ : p₃' ≠ p₂) :
    (2 : ℤ) • ∡ p₁ p₂ p₃ = (2 : ℤ) • ∡ p₁ p₂ p₃' 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.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₂)
Goal: 2 • ∡ p₁ p₂ p₃ = 2 • ∡ p₁ p₂ p₃'
-- EuclideanGeometry.dist_eq_iff_eq_smul_rotation_pi_div_two_vadd_midpoint
theorem dist_eq_iff_eq_smul_rotation_pi_div_two_vadd_midpoint {p₁ p₂ p : P} (h : p₁ ≠ p₂) :
    dist p₁ p = dist p₂ p ↔
      ∃ r : ℝ, r • o.rotation (π / 2 : ℝ) (p₂ -ᵥ p₁) +ᵥ midpoint ℝ p₁ p₂ = p 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p : P} (h : p₁ ≠ p₂)
Goal: dist p₁ p = dist p₂ p ↔ ∃ r, r • (EuclideanGeometry.o.rotation ↑(π / 2)) (p₂ -ᵥ p₁) +ᵥ midpoint ℝ p₁ p₂ = p
-- Collinear.oangle_sign_of_sameRay_vsub
theorem _root_.Collinear.oangle_sign_of_sameRay_vsub {p₁ p₂ p₃ p₄ : P} (p₅ : P) (hp₁p₂ : p₁ ≠ p₂)
    (hp₃p₄ : p₃ ≠ p₄) (hc : Collinear ℝ ({p₁, p₂, p₃, p₄} : Set P))
    (hr : SameRay ℝ (p₂ -ᵥ p₁) (p₄ -ᵥ p₃)) : (∡ p₁ p₅ p₂).sign = (∡ p₃ p₅ p₄).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ p₄ : P} (p₅ : P) (hp₁p₂ : p₁ ≠ p₂) (hp₃p₄ : p₃ ≠ p₄) (hc : Collinear ℝ {p₁, p₂, p₃, p₄}) (hr : SameRay ℝ (p₂ -ᵥ p₁) (p₄ -ᵥ p₃))
Goal: (∡ p₁ p₅ p₂).sign = (∡ p₃ p₅ p₄).sign
-- Sbtw.oangle_sign_eq
theorem _root_.Sbtw.oangle_sign_eq {p₁ p₂ p₃ : P} (p₄ : P) (h : Sbtw ℝ p₁ p₂ p₃) :
    (∡ p₁ p₄ p₂).sign = (∡ p₂ p₄ p₃).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (p₄ : P) (h : Sbtw ℝ p₁ p₂ p₃)
Goal: (∡ p₁ p₄ p₂).sign = (∡ p₂ p₄ p₃).sign
-- Wbtw.oangle_sign_eq_of_ne_left
theorem _root_.Wbtw.oangle_sign_eq_of_ne_left {p₁ p₂ p₃ : P} (p₄ : P) (h : Wbtw ℝ p₁ p₂ p₃)
    (hne : p₁ ≠ p₂) : (∡ p₁ p₄ p₂).sign = (∡ p₁ p₄ p₃).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (p₄ : P) (h : Wbtw ℝ p₁ p₂ p₃) (hne : p₁ ≠ p₂)
Goal: (∡ p₁ p₄ p₂).sign = (∡ p₁ p₄ p₃).sign
-- Sbtw.oangle_sign_eq_left
theorem _root_.Sbtw.oangle_sign_eq_left {p₁ p₂ p₃ : P} (p₄ : P) (h : Sbtw ℝ p₁ p₂ p₃) :
    (∡ p₁ p₄ p₂).sign = (∡ p₁ p₄ p₃).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (p₄ : P) (h : Sbtw ℝ p₁ p₂ p₃)
Goal: (∡ p₁ p₄ p₂).sign = (∡ p₁ p₄ p₃).sign
-- Wbtw.oangle_sign_eq_of_ne_right
theorem _root_.Wbtw.oangle_sign_eq_of_ne_right {p₁ p₂ p₃ : P} (p₄ : P) (h : Wbtw ℝ p₁ p₂ p₃)
    (hne : p₂ ≠ p₃) : (∡ p₂ p₄ p₃).sign = (∡ p₁ p₄ p₃).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (p₄ : P) (h : Wbtw ℝ p₁ p₂ p₃) (hne : p₂ ≠ p₃)
Goal: (∡ p₂ p₄ p₃).sign = (∡ p₁ p₄ p₃).sign
-- Sbtw.oangle_sign_eq_right
theorem _root_.Sbtw.oangle_sign_eq_right {p₁ p₂ p₃ : P} (p₄ : P) (h : Sbtw ℝ p₁ p₂ p₃) :
    (∡ p₂ p₄ p₃).sign = (∡ p₁ p₄ p₃).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {p₁ p₂ p₃ : P} (p₄ : P) (h : Sbtw ℝ p₁ p₂ p₃)
Goal: (∡ p₂ p₄ p₃).sign = (∡ p₁ p₄ p₃).sign
-- AffineSubspace.SSameSide.oangle_sign_eq
theorem _root_.AffineSubspace.SSameSide.oangle_sign_eq {s : AffineSubspace ℝ P} {p₁ p₂ p₃ p₄ : P}
    (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (hp₃p₄ : s.SSameSide p₃ p₄) :
    (∡ p₁ p₄ p₂).sign = (∡ p₁ p₃ p₂).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {s : AffineSubspace ℝ P} {p₁ p₂ p₃ p₄ : P} (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (hp₃p₄ : s.SSameSide p₃ p₄)
Goal: (∡ p₁ p₄ p₂).sign = (∡ p₁ p₃ p₂).sign
-- AffineSubspace.SOppSide.oangle_sign_eq_neg
theorem _root_.AffineSubspace.SOppSide.oangle_sign_eq_neg {s : AffineSubspace ℝ P} {p₁ p₂ p₃ p₄ : P}
    (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (hp₃p₄ : s.SOppSide p₃ p₄) :
    (∡ p₁ p₄ p₂).sign = -(∡ p₁ p₃ p₂).sign 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [hd2 : Fact (FiniteDimensional.finrank ℝ V = 2)] [Module.Oriented ℝ V (Fin 2)] {s : AffineSubspace ℝ P} {p₁ p₂ p₃ p₄ : P} (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (hp₃p₄ : s.SOppSide p₃ p₄)
Goal: (∡ p₁ p₄ p₂).sign = -(∡ p₁ p₃ p₂).sign
-- IsRefl.reflexive
theorem IsRefl.reflexive [IsRefl α r] : Reflexive r 
Arguments: {α : Type u_1} {r : α → α → Prop} [IsRefl α r]
Goal: Reflexive r
-- Reflexive.rel_of_ne_imp
theorem Reflexive.rel_of_ne_imp (h : Reflexive r) {x y : α} (hr : x ≠ y → r x y) : r x y 
Arguments: {α : Type u_1} {r : α → α → Prop} (h : Reflexive r) {x y : α} (hr : x ≠ y → r x y)
Goal: r x y
-- Reflexive.ne_imp_iff
theorem Reflexive.ne_imp_iff (h : Reflexive r) {x y : α} : x ≠ y → r x y ↔ r x y 
Arguments: {α : Type u_1} {r : α → α → Prop} (h : Reflexive r) {x y : α}
Goal: x ≠ y → r x y ↔ r x y
-- reflexive_ne_imp_iff
theorem reflexive_ne_imp_iff [IsRefl α r] {x y : α} : x ≠ y → r x y ↔ r x y 
Arguments: {α : Type u_1} {r : α → α → Prop} [IsRefl α r] {x y : α}
Goal: x ≠ y → r x y ↔ r x y
-- Symmetric.iff
protected theorem Symmetric.iff (H : Symmetric r) (x y : α) : r x y ↔ r y x 
Arguments: {α : Type u_1} {r : α → α → Prop} (H : Symmetric r) (x y : α)
Goal: r x y ↔ r y x
-- Symmetric.flip_eq
theorem Symmetric.flip_eq (h : Symmetric r) : flip r = r 
Arguments: {α : Type u_1} {r : α → α → Prop} (h : Symmetric r)
Goal: flip r = r
-- Symmetric.swap_eq
theorem Symmetric.swap_eq : Symmetric r → swap r = r 
Arguments: {α : Type u_1} {r : α → α → Prop}
Goal: Symmetric r → Function.swap r = r
-- flip_eq_iff
theorem flip_eq_iff : flip r = r ↔ Symmetric r 
Arguments: {α : Type u_1} {r : α → α → Prop}
Goal: flip r = r ↔ Symmetric r
-- swap_eq_iff
theorem swap_eq_iff : swap r = r ↔ Symmetric r 
Arguments: {α : Type u_1} {r : α → α → Prop}
Goal: Function.swap r = r ↔ Symmetric r
-- Reflexive.comap
theorem Reflexive.comap (h : Reflexive r) (f : α → β) : Reflexive (r on f) 
Arguments: {α : Type u_1} {β : Type u_2} {r : β → β → Prop} (h : Reflexive r) (f : α → β)
Goal: Reflexive (r on f)
-- Symmetric.comap
theorem Symmetric.comap (h : Symmetric r) (f : α → β) : Symmetric (r on f) 
Arguments: {α : Type u_1} {β : Type u_2} {r : β → β → Prop} (h : Symmetric r) (f : α → β)
Goal: Symmetric (r on f)
-- Transitive.comap
theorem Transitive.comap (h : Transitive r) (f : α → β) : Transitive (r on f) 
Arguments: {α : Type u_1} {β : Type u_2} {r : β → β → Prop} (h : Transitive r) (f : α → β)
Goal: Transitive (r on f)
-- Equivalence.comap
theorem Equivalence.comap (h : Equivalence r) (f : α → β) : Equivalence (r on f) 
Arguments: {α : Type u_1} {β : Type u_2} {r : β → β → Prop} (h : Equivalence r) (f : α → β)
Goal: Equivalence (r on f)
-- Relation.comp_eq
theorem comp_eq : r ∘r (· = ·) = r 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → β → Prop}
Goal: (Relation.Comp r fun x x_1 => x = x_1) = r
-- Relation.eq_comp
theorem eq_comp : (· = ·) ∘r r = r 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → β → Prop}
Goal: Relation.Comp (fun x x_1 => x = x_1) r = r
-- Relation.iff_comp
theorem iff_comp {r : Prop → α → Prop} : (· ↔ ·) ∘r r = r 
Arguments: {α : Type u_1} {r : Prop → α → Prop}
Goal: Relation.Comp (fun x x_1 => x ↔ x_1) r = r
-- Relation.comp_iff
theorem comp_iff {r : α → Prop → Prop} : r ∘r (· ↔ ·) = r 
Arguments: {α : Type u_1} {r : α → Prop → Prop}
Goal: (Relation.Comp r fun x x_1 => x ↔ x_1) = r
-- Relation.comp_assoc
theorem comp_assoc : (r ∘r p) ∘r q = r ∘r p ∘r q 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {r : α → β → Prop} {p : β → γ → Prop} {q : γ → δ → Prop}
Goal: Relation.Comp (Relation.Comp r p) q = Relation.Comp r (Relation.Comp p q)
-- Relation.flip_comp
theorem flip_comp : flip (r ∘r p) = flip p ∘r flip r 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {r : α → β → Prop} {p : β → γ → Prop}
Goal: flip (Relation.Comp r p) = Relation.Comp (flip p) (flip r)
-- Acc.of_fibration
theorem _root_.Acc.of_fibration (fib : Fibration rα rβ f) {a} (ha : Acc rα a) : Acc rβ (f a) 
Arguments: {α : Type u_1} {β : Type u_2} {rα : α → α → Prop} {rβ : β → β → Prop} (f : α → β) (fib : Relation.Fibration rα rβ f) {a : α} (ha : Acc rα a)
Goal: Acc rβ (f a)
-- Acc.of_downward_closed
theorem _root_.Acc.of_downward_closed (dc : ∀ {a b}, rβ b (f a) → ∃ c, f c = b) (a : α)
    (ha : Acc (InvImage rβ f) a) : Acc rβ (f a) 
Arguments: {α : Type u_1} {β : Type u_2} {rβ : β → β → Prop} (f : α → β) (dc : ∀ {a : α} {b : β}, rβ b (f a) → ∃ c, f c = b) (a : α) (ha : Acc (InvImage rβ f) a)
Goal: Acc rβ (f a)
-- Relation.map_apply
lemma map_apply : Relation.Map r f g c d ↔ ∃ a b, r a b ∧ f a = c ∧ g b = d 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {r : α → β → Prop} {f : α → γ} {g : β → δ} {c : γ} {d : δ}
Goal: Relation.Map r f g c d ↔ ∃ a b, r a b ∧ f a = c ∧ g b = d
-- Relation.map_map
@[simp] lemma map_map (r : α → β → Prop) (f₁ : α → γ) (g₁ : β → δ) (f₂ : γ → ε) (g₂ : δ → ζ) :
    Relation.Map (Relation.Map r f₁ g₁) f₂ g₂ = Relation.Map r (f₂ ∘ f₁) (g₂ ∘ g₁) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {ε : Type u_5} {ζ : Type u_6} (r : α → β → Prop) (f₁ : α → γ) (g₁ : β → δ) (f₂ : γ → ε) (g₂ : δ → ζ)
Goal: Relation.Map (Relation.Map r f₁ g₁) f₂ g₂ = Relation.Map r (f₂ ∘ f₁) (g₂ ∘ g₁)
-- Relation.map_apply_apply
@[simp]
lemma map_apply_apply (hf : Injective f) (hg : Injective g) (r : α → β → Prop) (a : α) (b : β) :
    Relation.Map r f g (f a) (g b) ↔ r a b 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {f : α → γ} {g : β → δ} (hf : Function.Injective f) (hg : Function.Injective g) (r : α → β → Prop) (a : α) (b : β)
Goal: Relation.Map r f g (f a) (g b) ↔ r a b
-- Relation.map_id_id
@[simp] lemma map_id_id (r : α → β → Prop) : Relation.Map r id id = r 
Arguments: {α : Type u_1} {β : Type u_2} (r : α → β → Prop)
Goal: Relation.Map r id id = r
-- Relation.ReflTransGen.cases_tail_iff
@[mk_iff ReflTransGen.cases_tail_iff]
inductive ReflTransGen (r : α → α → Prop) (a : α) : α → Prop
  | refl : ReflTransGen r a a
  | tail {b c} : ReflTransGen r a b → r b c → ReflTransGen r a c
Arguments: {α : Type u_1} (r : α → α → Prop) (a : α)
Goal: ∀ (a_1 : α), Relation.ReflTransGen r a a_1 ↔ a_1 = a ∨ ∃ b, Relation.ReflTransGen r a b ∧ r b a_1
-- Relation.reflGen_iff
@[mk_iff]
inductive ReflGen (r : α → α → Prop) (a : α) : α → Prop
  | refl : ReflGen r a a
  | single {b} : r a b → ReflGen r a b
Arguments: {α : Type u_1} (r : α → α → Prop) (a : α)
Goal: ∀ (a_1 : α), Relation.ReflGen r a a_1 ↔ a_1 = a ∨ r a a_1
-- Relation.transGen_iff
@[mk_iff]
inductive TransGen (r : α → α → Prop) (a : α) : α → Prop
  | single {b} : r a b → TransGen r a b
  | tail {b c} : TransGen r a b → r b c → TransGen r a c
Arguments: {α : Type u_1} (r : α → α → Prop) (a : α)
Goal: ∀ (a_1 : α), Relation.TransGen r a a_1 ↔ r a a_1 ∨ ∃ b, Relation.TransGen r a b ∧ r b a_1
-- Relation.ReflGen.to_reflTransGen
theorem to_reflTransGen : ∀ {a b}, ReflGen r a b → ReflTransGen r a b
  
Arguments: {α : Type u_1} {r : α → α → Prop} {a b : α}
Goal: Relation.ReflGen r a b → Relation.ReflTransGen r a b