ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- EuclideanGeometry.Sphere.two_zsmul_oangle_center_add_two_zsmul_oangle_eq_pi
theorem two_zsmul_oangle_center_add_two_zsmul_oangle_eq_pi {s : 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 : ℤ) • ∡ p₃ p₁ s.center + (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)] {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₃)
Goal: 2 • ∡ p₃ p₁ s.center + 2 • ∡ p₁ p₂ p₃ = ↑π
-- EuclideanGeometry.Sphere.abs_oangle_center_left_toReal_lt_pi_div_two
theorem abs_oangle_center_left_toReal_lt_pi_div_two {s : Sphere P} {p₁ p₂ : P} (hp₁ : p₁ ∈ s)
    (hp₂ : p₂ ∈ s) : |(∡ s.center p₂ p₁).toReal| < π / 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)] {s : EuclideanGeometry.Sphere P} {p₁ p₂ : P} (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s)
Goal: |(∡ s.center p₂ p₁).toReal| < π / 2
-- EuclideanGeometry.Sphere.abs_oangle_center_right_toReal_lt_pi_div_two
theorem abs_oangle_center_right_toReal_lt_pi_div_two {s : Sphere P} {p₁ p₂ : P} (hp₁ : p₁ ∈ s)
    (hp₂ : p₂ ∈ s) : |(∡ p₂ p₁ s.center).toReal| < π / 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)] {s : EuclideanGeometry.Sphere P} {p₁ p₂ : P} (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s)
Goal: |(∡ p₂ p₁ s.center).toReal| < π / 2
-- EuclideanGeometry.Sphere.tan_div_two_smul_rotation_pi_div_two_vadd_midpoint_eq_center
theorem tan_div_two_smul_rotation_pi_div_two_vadd_midpoint_eq_center {s : Sphere P} {p₁ p₂ : P}
    (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (h : p₁ ≠ p₂) :
    (Real.Angle.tan (∡ p₂ p₁ s.center) / 2) • o.rotation (π / 2 : ℝ) (p₂ -ᵥ p₁) +ᵥ
      midpoint ℝ p₁ p₂ = s.center 
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 : EuclideanGeometry.Sphere P} {p₁ p₂ : P} (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (h : p₁ ≠ p₂)
Goal: ((∡ p₂ p₁ s.center).tan / 2) • (EuclideanGeometry.o.rotation ↑(π / 2)) (p₂ -ᵥ p₁) +ᵥ midpoint ℝ p₁ p₂ = s.center
-- EuclideanGeometry.Sphere.inv_tan_div_two_smul_rotation_pi_div_two_vadd_midpoint_eq_center
theorem inv_tan_div_two_smul_rotation_pi_div_two_vadd_midpoint_eq_center {s : 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₃) :
    ((Real.Angle.tan (∡ p₁ p₂ p₃))⁻¹ / 2) • o.rotation (π / 2 : ℝ) (p₃ -ᵥ p₁) +ᵥ midpoint ℝ p₁ p₃ =
      s.center 
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 : 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₃)
Goal: ((∡ p₁ p₂ p₃).tan⁻¹ / 2) • (EuclideanGeometry.o.rotation ↑(π / 2)) (p₃ -ᵥ p₁) +ᵥ midpoint ℝ p₁ p₃ = s.center
-- EuclideanGeometry.Sphere.dist_div_cos_oangle_center_div_two_eq_radius
theorem dist_div_cos_oangle_center_div_two_eq_radius {s : Sphere P} {p₁ p₂ : P} (hp₁ : p₁ ∈ s)
    (hp₂ : p₂ ∈ s) (h : p₁ ≠ p₂) :
    dist p₁ p₂ / Real.Angle.cos (∡ p₂ p₁ s.center) / 2 = s.radius 
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 : EuclideanGeometry.Sphere P} {p₁ p₂ : P} (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (h : p₁ ≠ p₂)
Goal: dist p₁ p₂ / (∡ p₂ p₁ s.center).cos / 2 = s.radius
-- EuclideanGeometry.Sphere.dist_div_cos_oangle_center_eq_two_mul_radius
theorem dist_div_cos_oangle_center_eq_two_mul_radius {s : Sphere P} {p₁ p₂ : P} (hp₁ : p₁ ∈ s)
    (hp₂ : p₂ ∈ s) (h : p₁ ≠ p₂) :
    dist p₁ p₂ / Real.Angle.cos (∡ p₂ p₁ s.center) = 2 * s.radius 
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 : EuclideanGeometry.Sphere P} {p₁ p₂ : P} (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (h : p₁ ≠ p₂)
Goal: dist p₁ p₂ / (∡ p₂ p₁ s.center).cos = 2 * s.radius
-- EuclideanGeometry.Sphere.dist_div_sin_oangle_div_two_eq_radius
theorem dist_div_sin_oangle_div_two_eq_radius {s : 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₃ / |Real.Angle.sin (∡ p₁ p₂ p₃)| / 2 = s.radius 
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 : 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₃)
Goal: dist p₁ p₃ / |(∡ p₁ p₂ p₃).sin| / 2 = s.radius
-- EuclideanGeometry.Sphere.dist_div_sin_oangle_eq_two_mul_radius
theorem dist_div_sin_oangle_eq_two_mul_radius {s : 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₃ / |Real.Angle.sin (∡ p₁ p₂ p₃)| = 2 * s.radius 
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 : 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₃)
Goal: dist p₁ p₃ / |(∡ p₁ p₂ p₃).sin| = 2 * s.radius
-- Affine.Triangle.inv_tan_div_two_smul_rotation_pi_div_two_vadd_midpoint_eq_circumcenter
theorem inv_tan_div_two_smul_rotation_pi_div_two_vadd_midpoint_eq_circumcenter (t : Triangle ℝ P)
    {i₁ i₂ i₃ : Fin 3} (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃) :
    ((Real.Angle.tan (∡ (t.points i₁) (t.points i₂) (t.points i₃)))⁻¹ / 2) •
      o.rotation (π / 2 : ℝ) (t.points i₃ -ᵥ t.points i₁) +ᵥ
        midpoint ℝ (t.points i₁) (t.points i₃) = t.circumcenter 
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)] (t : Affine.Triangle ℝ P) {i₁ i₂ i₃ : Fin 3} (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃)
Goal: ((∡ (t.points i₁) (t.points i₂) (t.points i₃)).tan⁻¹ / 2) •
      (EuclideanGeometry.o.rotation ↑(π / 2)) (t.points i₃ -ᵥ t.points i₁) +ᵥ
    midpoint ℝ (t.points i₁) (t.points i₃) =
  Affine.Simplex.circumcenter t
-- Affine.Triangle.dist_div_sin_oangle_div_two_eq_circumradius
theorem dist_div_sin_oangle_div_two_eq_circumradius (t : Triangle ℝ P) {i₁ i₂ i₃ : Fin 3}
    (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃) : dist (t.points i₁) (t.points i₃) /
      |Real.Angle.sin (∡ (t.points i₁) (t.points i₂) (t.points i₃))| / 2 = t.circumradius 
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)] (t : Affine.Triangle ℝ P) {i₁ i₂ i₃ : Fin 3} (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃)
Goal: dist (t.points i₁) (t.points i₃) / |(∡ (t.points i₁) (t.points i₂) (t.points i₃)).sin| / 2 =
  Affine.Simplex.circumradius t
-- Affine.Triangle.dist_div_sin_oangle_eq_two_mul_circumradius
theorem dist_div_sin_oangle_eq_two_mul_circumradius (t : Triangle ℝ P) {i₁ i₂ i₃ : Fin 3}
    (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃) : dist (t.points i₁) (t.points i₃) /
      |Real.Angle.sin (∡ (t.points i₁) (t.points i₂) (t.points i₃))| = 2 * t.circumradius 
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)] (t : Affine.Triangle ℝ P) {i₁ i₂ i₃ : Fin 3} (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃)
Goal: dist (t.points i₁) (t.points i₃) / |(∡ (t.points i₁) (t.points i₂) (t.points i₃)).sin| =
  2 * Affine.Simplex.circumradius t
-- Affine.Triangle.circumsphere_eq_of_dist_of_oangle
theorem circumsphere_eq_of_dist_of_oangle (t : Triangle ℝ P) {i₁ i₂ i₃ : Fin 3} (h₁₂ : i₁ ≠ i₂)
    (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃) : t.circumsphere =
    ⟨((Real.Angle.tan (∡ (t.points i₁) (t.points i₂) (t.points i₃)))⁻¹ / 2) •
      o.rotation (π / 2 : ℝ) (t.points i₃ -ᵥ t.points i₁) +ᵥ midpoint ℝ (t.points i₁) (t.points i₃),
      dist (t.points i₁) (t.points i₃) /
        |Real.Angle.sin (∡ (t.points i₁) (t.points i₂) (t.points i₃))| / 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)] (t : Affine.Triangle ℝ P) {i₁ i₂ i₃ : Fin 3} (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃)
Goal: Affine.Simplex.circumsphere t =
  {
    center :=
      ((∡ (t.points i₁) (t.points i₂) (t.points i₃)).tan⁻¹ / 2) •
          (EuclideanGeometry.o.rotation ↑(π / 2)) (t.points i₃ -ᵥ t.points i₁) +ᵥ
        midpoint ℝ (t.points i₁) (t.points i₃),
    radius := dist (t.points i₁) (t.points i₃) / |(∡ (t.points i₁) (t.points i₂) (t.points i₃)).sin| / 2 }
-- Affine.Triangle.circumsphere_eq_circumsphere_of_eq_of_eq_of_two_zsmul_oangle_eq
theorem circumsphere_eq_circumsphere_of_eq_of_eq_of_two_zsmul_oangle_eq {t₁ t₂ : 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 : ℤ) • ∡ (t₁.points i₁) (t₁.points i₂) (t₁.points i₃) =
      (2 : ℤ) • ∡ (t₂.points i₁) (t₂.points i₂) (t₂.points i₃)) :
    t₁.circumsphere = t₂.circumsphere 
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)] {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 • ∡ (t₁.points i₁) (t₁.points i₂) (t₁.points i₃) = 2 • ∡ (t₂.points i₁) (t₂.points i₂) (t₂.points i₃))
Goal: Affine.Simplex.circumsphere t₁ = Affine.Simplex.circumsphere t₂
-- Affine.Triangle.mem_circumsphere_of_two_zsmul_oangle_eq
theorem mem_circumsphere_of_two_zsmul_oangle_eq {t : Triangle ℝ P} {p : P} {i₁ i₂ i₃ : Fin 3}
    (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃)
    (h : (2 : ℤ) • ∡ (t.points i₁) p (t.points i₃) =
      (2 : ℤ) • ∡ (t.points i₁) (t.points i₂) (t.points i₃)) : p ∈ t.circumsphere 
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)] {t : Affine.Triangle ℝ P} {p : P} {i₁ i₂ i₃ : Fin 3} (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃) (h : 2 • ∡ (t.points i₁) p (t.points i₃) = 2 • ∡ (t.points i₁) (t.points i₂) (t.points i₃))
Goal: p ∈ Affine.Simplex.circumsphere t
-- EuclideanGeometry.cospherical_of_two_zsmul_oangle_eq_of_not_collinear
theorem cospherical_of_two_zsmul_oangle_eq_of_not_collinear {p₁ p₂ p₃ p₄ : P}
    (h : (2 : ℤ) • ∡ p₁ p₂ p₄ = (2 : ℤ) • ∡ p₁ p₃ p₄) (hn : ¬Collinear ℝ ({p₁, p₂, p₄} : Set P)) :
    Cospherical ({p₁, p₂, p₃, p₄} : Set 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 : 2 • ∡ p₁ p₂ p₄ = 2 • ∡ p₁ p₃ p₄) (hn : ¬Collinear ℝ {p₁, p₂, p₄})
Goal: EuclideanGeometry.Cospherical {p₁, p₂, p₃, p₄}
-- EuclideanGeometry.concyclic_of_two_zsmul_oangle_eq_of_not_collinear
theorem concyclic_of_two_zsmul_oangle_eq_of_not_collinear {p₁ p₂ p₃ p₄ : P}
    (h : (2 : ℤ) • ∡ p₁ p₂ p₄ = (2 : ℤ) • ∡ p₁ p₃ p₄) (hn : ¬Collinear ℝ ({p₁, p₂, p₄} : Set P)) :
    Concyclic ({p₁, p₂, p₃, p₄} : Set 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 : 2 • ∡ p₁ p₂ p₄ = 2 • ∡ p₁ p₃ p₄) (hn : ¬Collinear ℝ {p₁, p₂, p₄})
Goal: EuclideanGeometry.Concyclic {p₁, p₂, p₃, p₄}
-- EuclideanGeometry.cospherical_or_collinear_of_two_zsmul_oangle_eq
theorem cospherical_or_collinear_of_two_zsmul_oangle_eq {p₁ p₂ p₃ p₄ : P}
    (h : (2 : ℤ) • ∡ p₁ p₂ p₄ = (2 : ℤ) • ∡ p₁ p₃ p₄) :
    Cospherical ({p₁, p₂, p₃, p₄} : Set P) ∨ Collinear ℝ ({p₁, p₂, p₃, p₄} : Set 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 : 2 • ∡ p₁ p₂ p₄ = 2 • ∡ p₁ p₃ p₄)
Goal: EuclideanGeometry.Cospherical {p₁, p₂, p₃, p₄} ∨ Collinear ℝ {p₁, p₂, p₃, p₄}
-- EuclideanGeometry.concyclic_or_collinear_of_two_zsmul_oangle_eq
theorem concyclic_or_collinear_of_two_zsmul_oangle_eq {p₁ p₂ p₃ p₄ : P}
    (h : (2 : ℤ) • ∡ p₁ p₂ p₄ = (2 : ℤ) • ∡ p₁ p₃ p₄) :
    Concyclic ({p₁, p₂, p₃, p₄} : Set P) ∨ Collinear ℝ ({p₁, p₂, p₃, p₄} : Set 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 : 2 • ∡ p₁ p₂ p₄ = 2 • ∡ p₁ p₃ p₄)
Goal: EuclideanGeometry.Concyclic {p₁, p₂, p₃, p₄} ∨ Collinear ℝ {p₁, p₂, p₃, p₄}
-- DFA.evalFrom_nil
@[simp]
theorem evalFrom_nil (s : σ) : M.evalFrom s [] = s 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) (s : σ)
Goal: M.evalFrom s [] = s
-- DFA.evalFrom_singleton
@[simp]
theorem evalFrom_singleton (s : σ) (a : α) : M.evalFrom s [a] = M.step s a 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) (s : σ) (a : α)
Goal: M.evalFrom s [a] = M.step s a
-- DFA.evalFrom_append_singleton
@[simp]
theorem evalFrom_append_singleton (s : σ) (x : List α) (a : α) :
    M.evalFrom s (x ++ [a]) = M.step (M.evalFrom s x) a 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) (s : σ) (x : List α) (a : α)
Goal: M.evalFrom s (x ++ [a]) = M.step (M.evalFrom s x) a
-- DFA.eval_nil
@[simp]
theorem eval_nil : M.eval [] = M.start 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ)
Goal: M.eval [] = M.start
-- DFA.eval_singleton
@[simp]
theorem eval_singleton (a : α) : M.eval [a] = M.step M.start a 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) (a : α)
Goal: M.eval [a] = M.step M.start a
-- DFA.eval_append_singleton
@[simp]
theorem eval_append_singleton (x : List α) (a : α) : M.eval (x ++ [a]) = M.step (M.eval x) a 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) (x : List α) (a : α)
Goal: M.eval (x ++ [a]) = M.step (M.eval x) a
-- DFA.evalFrom_of_append
theorem evalFrom_of_append (start : σ) (x y : List α) :
    M.evalFrom start (x ++ y) = M.evalFrom (M.evalFrom start x) y 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) (start : σ) (x y : List α)
Goal: M.evalFrom start (x ++ y) = M.evalFrom (M.evalFrom start x) y
-- DFA.mem_acceptsFrom
theorem mem_acceptsFrom {s : σ} {x : List α} :
    x ∈ M.acceptsFrom s ↔ M.evalFrom s x ∈ M.accept 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {s : σ} {x : List α}
Goal: x ∈ M.acceptsFrom s ↔ M.evalFrom s x ∈ M.accept
-- DFA.mem_accepts
theorem mem_accepts {x : List α} : x ∈ M.accepts ↔ M.eval x ∈ M.accept 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {x : List α}
Goal: x ∈ M.accepts ↔ M.eval x ∈ M.accept
-- DFA.evalFrom_split
theorem evalFrom_split [Fintype σ] {x : List α} {s t : σ} (hlen : Fintype.card σ ≤ x.length)
    (hx : M.evalFrom s x = t) :
    ∃ q a b c,
      x = a ++ b ++ c ∧
        a.length + b.length ≤ Fintype.card σ ∧
          b ≠ [] ∧ M.evalFrom s a = q ∧ M.evalFrom q b = q ∧ M.evalFrom q c = t 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) [Fintype σ] {x : List α} {s t : σ} (hlen : Fintype.card σ ≤ x.length) (hx : M.evalFrom s x = t)
Goal: ∃ q a b c,
  x = a ++ b ++ c ∧
    a.length + b.length ≤ Fintype.card σ ∧ b ≠ [] ∧ M.evalFrom s a = q ∧ M.evalFrom q b = q ∧ M.evalFrom q c = t
-- DFA.evalFrom_of_pow
theorem evalFrom_of_pow {x y : List α} {s : σ} (hx : M.evalFrom s x = s)
    (hy : y ∈ ({x} : Language α)∗) : M.evalFrom s y = s 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {x y : List α} {s : σ} (hx : M.evalFrom s x = s) (hy : y ∈ {x}∗)
Goal: M.evalFrom s y = s
-- DFA.pumping_lemma
theorem pumping_lemma [Fintype σ] {x : List α} (hx : x ∈ M.accepts)
    (hlen : Fintype.card σ ≤ List.length x) :
    ∃ a b c,
      x = a ++ b ++ c ∧
        a.length + b.length ≤ Fintype.card σ ∧ b ≠ [] ∧ {a} * {b}∗ * {c} ≤ M.accepts 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) [Fintype σ] {x : List α} (hx : x ∈ M.accepts) (hlen : Fintype.card σ ≤ x.length)
Goal: ∃ a b c, x = a ++ b ++ c ∧ a.length + b.length ≤ Fintype.card σ ∧ b ≠ [] ∧ {a} * {b}∗ * {c} ≤ M.accepts
-- DFA.comap_accept
@[simps]
def comap (f : α' → α) (M : DFA α σ) : DFA α' σ 
Arguments: {α : Type u} {σ : Type v} {α' : Type u_1} (f : α' → α) (M : DFA α σ)
Goal: (DFA.comap f M).accept = M.accept
-- DFA.comap_step
@[simps]
def comap (f : α' → α) (M : DFA α σ) : DFA α' σ 
Arguments: {α : Type u} {σ : Type v} {α' : Type u_1} (f : α' → α) (M : DFA α σ) (s : σ) (a : α')
Goal: (DFA.comap f M).step s a = M.step s (f a)
-- DFA.comap_start
@[simps]
def comap (f : α' → α) (M : DFA α σ) : DFA α' σ 
Arguments: {α : Type u} {σ : Type v} {α' : Type u_1} (f : α' → α) (M : DFA α σ)
Goal: (DFA.comap f M).start = M.start
-- DFA.comap_id
@[simp]
theorem comap_id : M.comap id = M 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ)
Goal: DFA.comap id M = M
-- DFA.evalFrom_comap
@[simp]
theorem evalFrom_comap (f : α' → α) (s : σ) (x : List α') :
    (M.comap f).evalFrom s x = M.evalFrom s (x.map f) 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {α' : Type u_1} (f : α' → α) (s : σ) (x : List α')
Goal: (DFA.comap f M).evalFrom s x = M.evalFrom s (List.map f x)
-- DFA.eval_comap
@[simp]
theorem eval_comap (f : α' → α) (x : List α') : (M.comap f).eval x = M.eval (x.map f) 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {α' : Type u_1} (f : α' → α) (x : List α')
Goal: (DFA.comap f M).eval x = M.eval (List.map f x)
-- DFA.accepts_comap
@[simp]
theorem accepts_comap (f : α' → α) : (M.comap f).accepts = List.map f ⁻¹' M.accepts 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {α' : Type u_1} (f : α' → α)
Goal: (DFA.comap f M).accepts = List.map f ⁻¹' M.accepts
-- DFA.reindex_apply_accept
@[simps apply_step apply_start apply_accept]
def reindex (g : σ ≃ σ') : DFA α σ ≃ DFA α σ' 
Arguments: {α : Type u} {σ : Type v} {σ' : Type u_2} (g : σ ≃ σ') (M : DFA α σ)
Goal: ((DFA.reindex g) M).accept = ⇑g.symm ⁻¹' M.accept
-- DFA.reindex_apply_step
@[simps apply_step apply_start apply_accept]
def reindex (g : σ ≃ σ') : DFA α σ ≃ DFA α σ' 
Arguments: {α : Type u} {σ : Type v} {σ' : Type u_2} (g : σ ≃ σ') (M : DFA α σ) (s : σ') (a : α)
Goal: ((DFA.reindex g) M).step s a = g (M.step (g.symm s) a)
-- DFA.reindex_apply_start
@[simps apply_step apply_start apply_accept]
def reindex (g : σ ≃ σ') : DFA α σ ≃ DFA α σ' 
Arguments: {α : Type u} {σ : Type v} {σ' : Type u_2} (g : σ ≃ σ') (M : DFA α σ)
Goal: ((DFA.reindex g) M).start = g M.start
-- DFA.reindex_refl
@[simp]
theorem reindex_refl : reindex (Equiv.refl σ) M = M 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ)
Goal: (DFA.reindex (Equiv.refl σ)) M = M
-- DFA.symm_reindex
@[simp]
theorem symm_reindex (g : σ ≃ σ') : (reindex (α := α) g).symm = reindex g.symm 
Arguments: {α : Type u} {σ : Type v} {σ' : Type u_2} (g : σ ≃ σ')
Goal: (DFA.reindex g).symm = DFA.reindex g.symm
-- DFA.evalFrom_reindex
@[simp]
theorem evalFrom_reindex (g : σ ≃ σ') (s : σ') (x : List α) :
    (reindex g M).evalFrom s x = g (M.evalFrom (g.symm s) x) 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {σ' : Type u_2} (g : σ ≃ σ') (s : σ') (x : List α)
Goal: ((DFA.reindex g) M).evalFrom s x = g (M.evalFrom (g.symm s) x)
-- DFA.eval_reindex
@[simp]
theorem eval_reindex (g : σ ≃ σ') (x : List α) : (reindex g M).eval x = g (M.eval x) 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {σ' : Type u_2} (g : σ ≃ σ') (x : List α)
Goal: ((DFA.reindex g) M).eval x = g (M.eval x)
-- DFA.accepts_reindex
@[simp]
theorem accepts_reindex (g : σ ≃ σ') : (reindex g M).accepts = M.accepts 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {σ' : Type u_2} (g : σ ≃ σ')
Goal: ((DFA.reindex g) M).accepts = M.accepts
-- DFA.comap_reindex
theorem comap_reindex (f : α' → α) (g : σ ≃ σ') :
    (reindex g M).comap f = reindex g (M.comap f) 
Arguments: {α : Type u} {σ : Type v} (M : DFA α σ) {α' : Type u_1} {σ' : Type u_2} (f : α' → α) (g : σ ≃ σ')
Goal: DFA.comap f ((DFA.reindex g) M) = (DFA.reindex g) (DFA.comap f M)
-- InnerProductGeometry.norm_add_sq_eq_norm_sq_add_norm_sq_iff_angle_eq_pi_div_two
theorem norm_add_sq_eq_norm_sq_add_norm_sq_iff_angle_eq_pi_div_two (x y : V) :
    ‖x + y‖ * ‖x + y‖ = ‖x‖ * ‖x‖ + ‖y‖ * ‖y‖ ↔ angle x y = π / 2 
Arguments: {V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace ℝ V] (x y : V)
Goal: ‖x + y‖ * ‖x + y‖ = ‖x‖ * ‖x‖ + ‖y‖ * ‖y‖ ↔ InnerProductGeometry.angle x y = π / 2
-- InnerProductGeometry.norm_add_sq_eq_norm_sq_add_norm_sq'
theorem norm_add_sq_eq_norm_sq_add_norm_sq' (x y : V) (h : angle x y = π / 2) :
    ‖x + y‖ * ‖x + y‖ = ‖x‖ * ‖x‖ + ‖y‖ * ‖y‖ 
Arguments: {V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace ℝ V] (x y : V) (h : InnerProductGeometry.angle x y = π / 2)
Goal: ‖x + y‖ * ‖x + y‖ = ‖x‖ * ‖x‖ + ‖y‖ * ‖y‖
-- InnerProductGeometry.norm_sub_sq_eq_norm_sq_add_norm_sq_iff_angle_eq_pi_div_two
theorem norm_sub_sq_eq_norm_sq_add_norm_sq_iff_angle_eq_pi_div_two (x y : V) :
    ‖x - y‖ * ‖x - y‖ = ‖x‖ * ‖x‖ + ‖y‖ * ‖y‖ ↔ angle x y = π / 2 
Arguments: {V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace ℝ V] (x y : V)
Goal: ‖x - y‖ * ‖x - y‖ = ‖x‖ * ‖x‖ + ‖y‖ * ‖y‖ ↔ InnerProductGeometry.angle x y = π / 2
-- InnerProductGeometry.norm_sub_sq_eq_norm_sq_add_norm_sq'
theorem norm_sub_sq_eq_norm_sq_add_norm_sq' (x y : V) (h : angle x y = π / 2) :
    ‖x - y‖ * ‖x - y‖ = ‖x‖ * ‖x‖ + ‖y‖ * ‖y‖ 
Arguments: {V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace ℝ V] (x y : V) (h : InnerProductGeometry.angle x y = π / 2)
Goal: ‖x - y‖ * ‖x - y‖ = ‖x‖ * ‖x‖ + ‖y‖ * ‖y‖
-- InnerProductGeometry.angle_add_eq_arccos_of_inner_eq_zero
theorem angle_add_eq_arccos_of_inner_eq_zero {x y : V} (h : ⟪x, y⟫ = 0) :
    angle x (x + y) = Real.arccos (‖x‖ / ‖x + y‖) 
Arguments: {V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace ℝ V] {x y : V} (h : ⟪x, y⟫_ℝ = 0)
Goal: InnerProductGeometry.angle x (x + y) = Real.arccos (‖x‖ / ‖x + y‖)
-- InnerProductGeometry.angle_add_eq_arcsin_of_inner_eq_zero
theorem angle_add_eq_arcsin_of_inner_eq_zero {x y : V} (h : ⟪x, y⟫ = 0) (h0 : x ≠ 0 ∨ y ≠ 0) :
    angle x (x + y) = Real.arcsin (‖y‖ / ‖x + y‖) 
Arguments: {V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace ℝ V] {x y : V} (h : ⟪x, y⟫_ℝ = 0) (h0 : x ≠ 0 ∨ y ≠ 0)
Goal: InnerProductGeometry.angle x (x + y) = Real.arcsin (‖y‖ / ‖x + y‖)
-- InnerProductGeometry.angle_add_eq_arctan_of_inner_eq_zero
theorem angle_add_eq_arctan_of_inner_eq_zero {x y : V} (h : ⟪x, y⟫ = 0) (h0 : x ≠ 0) :
    angle x (x + y) = Real.arctan (‖y‖ / ‖x‖) 
Arguments: {V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace ℝ V] {x y : V} (h : ⟪x, y⟫_ℝ = 0) (h0 : x ≠ 0)
Goal: InnerProductGeometry.angle x (x + y) = Real.arctan (‖y‖ / ‖x‖)
-- InnerProductGeometry.angle_add_pos_of_inner_eq_zero
theorem angle_add_pos_of_inner_eq_zero {x y : V} (h : ⟪x, y⟫ = 0) (h0 : x = 0 ∨ y ≠ 0) :
    0 < angle x (x + y) 
Arguments: {V : Type u_1} [NormedAddCommGroup V] [InnerProductSpace ℝ V] {x y : V} (h : ⟪x, y⟫_ℝ = 0) (h0 : x = 0 ∨ y ≠ 0)
Goal: 0 < InnerProductGeometry.angle x (x + y)