File: Mathlib/Geometry/Euclidean/Inversion/ImageHyperplane.lean

full_name: EuclideanGeometry.inversion_mem_perpBisector_inversion_iff
code: /-- The inversion with center `c` and radius `R` maps a sphere passing through the center to a
hyperplane. -/
theorem inversion_mem_perpBisector_inversion_iff (hR : R ≠ 0) (hx : x ≠ c) (hy : y ≠ c) :
    inversion c R x ∈ perpBisector c (inversion c R y) ↔ dist x y = dist y c 
goal: EuclideanGeometry.inversion c R x ∈ AffineSubspace.perpBisector c (EuclideanGeometry.inversion c R y) ↔
  dist x y = dist y c

full_name: EuclideanGeometry.inversion_mem_perpBisector_inversion_iff'
code: /-- The inversion with center `c` and radius `R` maps a sphere passing through the center to a
hyperplane. -/
theorem inversion_mem_perpBisector_inversion_iff' (hR : R ≠ 0) (hy : y ≠ c) :
    inversion c R x ∈ perpBisector c (inversion c R y) ↔ dist x y = dist y c ∧ x ≠ c 
goal: EuclideanGeometry.inversion c R x ∈ AffineSubspace.perpBisector c (EuclideanGeometry.inversion c R y) ↔
  dist x y = dist y c ∧ x ≠ c

full_name: EuclideanGeometry.preimage_inversion_perpBisector_inversion
code: theorem preimage_inversion_perpBisector_inversion (hR : R ≠ 0) (hy : y ≠ c) :
    inversion c R ⁻¹' perpBisector c (inversion c R y) = sphere y (dist y c) \ {c} 
goal: EuclideanGeometry.inversion c R ⁻¹' ↑(AffineSubspace.perpBisector c (EuclideanGeometry.inversion c R y)) =
  Metric.sphere y (dist y c) \ {c}

full_name: EuclideanGeometry.preimage_inversion_perpBisector
code: theorem preimage_inversion_perpBisector (hR : R ≠ 0) (hy : y ≠ c) :
    inversion c R ⁻¹' perpBisector c y = sphere (inversion c R y) (R ^ 2 / dist y c) \ {c} 
goal: EuclideanGeometry.inversion c R ⁻¹' ↑(AffineSubspace.perpBisector c y) =
  Metric.sphere (EuclideanGeometry.inversion c R y) (R ^ 2 / dist y c) \ {c}

full_name: EuclideanGeometry.image_inversion_perpBisector
code: theorem image_inversion_perpBisector (hR : R ≠ 0) (hy : y ≠ c) :
    inversion c R '' perpBisector c y = sphere (inversion c R y) (R ^ 2 / dist y c) \ {c} 
goal: EuclideanGeometry.inversion c R '' ↑(AffineSubspace.perpBisector c y) =
  Metric.sphere (EuclideanGeometry.inversion c R y) (R ^ 2 / dist y c) \ {c}

full_name: EuclideanGeometry.preimage_inversion_sphere_dist_center
code: theorem preimage_inversion_sphere_dist_center (hR : R ≠ 0) (hy : y ≠ c) :
    inversion c R ⁻¹' sphere y (dist y c) =
      insert c (perpBisector c (inversion c R y) : Set P) 
goal: EuclideanGeometry.inversion c R ⁻¹' Metric.sphere y (dist y c) =
  insert c ↑(AffineSubspace.perpBisector c (EuclideanGeometry.inversion c R y))

full_name: EuclideanGeometry.image_inversion_sphere_dist_center
code: theorem image_inversion_sphere_dist_center (hR : R ≠ 0) (hy : y ≠ c) :
    inversion c R '' sphere y (dist y c) = insert c (perpBisector c (inversion c R y) : Set P) 
goal: EuclideanGeometry.inversion c R '' Metric.sphere y (dist y c) =
  insert c ↑(AffineSubspace.perpBisector c (EuclideanGeometry.inversion c R y))

full_name: EuclideanGeometry.mapsTo_inversion_affineSubspace_of_mem
code: /-- Inversion sends an affine subspace passing through the center to itself. -/
theorem mapsTo_inversion_affineSubspace_of_mem {p : AffineSubspace ℝ P} (hp : c ∈ p) :
    MapsTo (inversion c R) p p 
goal: Set.MapsTo (EuclideanGeometry.inversion c R) ↑p ↑p

full_name: EuclideanGeometry.image_inversion_affineSubspace_of_mem
code: /-- Inversion sends an affine subspace passing through the center to itself. -/
theorem image_inversion_affineSubspace_of_mem {p : AffineSubspace ℝ P} (hR : R ≠ 0) (hp : c ∈ p) :
    inversion c R '' p = p 
goal: EuclideanGeometry.inversion c R '' ↑p = ↑p