ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- EuclideanGeometry.exists_circumradius_eq_of_cospherical_subset
theorem exists_circumradius_eq_of_cospherical_subset {s : AffineSubspace ℝ P} {ps : Set P}
    (h : ps ⊆ s) [Nonempty s] {n : ℕ} [FiniteDimensional ℝ s.direction]
    (hd : finrank ℝ s.direction = n) (hc : Cospherical ps) :
    ∃ r : ℝ, ∀ sx : Simplex ℝ P n, Set.range sx.points ⊆ ps → sx.circumradius = r 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : AffineSubspace ℝ P} {ps : Set P} (h : ps ⊆ ↑s) [Nonempty ↥s] {n : ℕ} [FiniteDimensional ℝ ↥s.direction] (hd : FiniteDimensional.finrank ℝ ↥s.direction = n) (hc : EuclideanGeometry.Cospherical ps)
Goal: ∃ r, ∀ (sx : Affine.Simplex ℝ P n), Set.range sx.points ⊆ ps → sx.circumradius = r
-- EuclideanGeometry.circumradius_eq_of_cospherical_subset
theorem circumradius_eq_of_cospherical_subset {s : AffineSubspace ℝ P} {ps : Set P} (h : ps ⊆ s)
    [Nonempty s] {n : ℕ} [FiniteDimensional ℝ s.direction] (hd : finrank ℝ s.direction = n)
    (hc : Cospherical ps) {sx₁ sx₂ : Simplex ℝ P n} (hsx₁ : Set.range sx₁.points ⊆ ps)
    (hsx₂ : Set.range sx₂.points ⊆ ps) : sx₁.circumradius = sx₂.circumradius 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : AffineSubspace ℝ P} {ps : Set P} (h : ps ⊆ ↑s) [Nonempty ↥s] {n : ℕ} [FiniteDimensional ℝ ↥s.direction] (hd : FiniteDimensional.finrank ℝ ↥s.direction = n) (hc : EuclideanGeometry.Cospherical ps) {sx₁ sx₂ : Affine.Simplex ℝ P n} (hsx₁ : Set.range sx₁.points ⊆ ps) (hsx₂ : Set.range sx₂.points ⊆ ps)
Goal: sx₁.circumradius = sx₂.circumradius
-- EuclideanGeometry.exists_circumradius_eq_of_cospherical
theorem exists_circumradius_eq_of_cospherical {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V]
    (hd : finrank ℝ V = n) (hc : Cospherical ps) :
    ∃ r : ℝ, ∀ sx : Simplex ℝ P n, Set.range sx.points ⊆ ps → sx.circumradius = r 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V] (hd : FiniteDimensional.finrank ℝ V = n) (hc : EuclideanGeometry.Cospherical ps)
Goal: ∃ r, ∀ (sx : Affine.Simplex ℝ P n), Set.range sx.points ⊆ ps → sx.circumradius = r
-- EuclideanGeometry.circumradius_eq_of_cospherical
theorem circumradius_eq_of_cospherical {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V]
    (hd : finrank ℝ V = n) (hc : Cospherical ps) {sx₁ sx₂ : Simplex ℝ P n}
    (hsx₁ : Set.range sx₁.points ⊆ ps) (hsx₂ : Set.range sx₂.points ⊆ ps) :
    sx₁.circumradius = sx₂.circumradius 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V] (hd : FiniteDimensional.finrank ℝ V = n) (hc : EuclideanGeometry.Cospherical ps) {sx₁ sx₂ : Affine.Simplex ℝ P n} (hsx₁ : Set.range sx₁.points ⊆ ps) (hsx₂ : Set.range sx₂.points ⊆ ps)
Goal: sx₁.circumradius = sx₂.circumradius
-- EuclideanGeometry.exists_circumcenter_eq_of_cospherical_subset
theorem exists_circumcenter_eq_of_cospherical_subset {s : AffineSubspace ℝ P} {ps : Set P}
    (h : ps ⊆ s) [Nonempty s] {n : ℕ} [FiniteDimensional ℝ s.direction]
    (hd : finrank ℝ s.direction = n) (hc : Cospherical ps) :
    ∃ c : P, ∀ sx : Simplex ℝ P n, Set.range sx.points ⊆ ps → sx.circumcenter = c 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : AffineSubspace ℝ P} {ps : Set P} (h : ps ⊆ ↑s) [Nonempty ↥s] {n : ℕ} [FiniteDimensional ℝ ↥s.direction] (hd : FiniteDimensional.finrank ℝ ↥s.direction = n) (hc : EuclideanGeometry.Cospherical ps)
Goal: ∃ c, ∀ (sx : Affine.Simplex ℝ P n), Set.range sx.points ⊆ ps → sx.circumcenter = c
-- EuclideanGeometry.circumcenter_eq_of_cospherical_subset
theorem circumcenter_eq_of_cospherical_subset {s : AffineSubspace ℝ P} {ps : Set P} (h : ps ⊆ s)
    [Nonempty s] {n : ℕ} [FiniteDimensional ℝ s.direction] (hd : finrank ℝ s.direction = n)
    (hc : Cospherical ps) {sx₁ sx₂ : Simplex ℝ P n} (hsx₁ : Set.range sx₁.points ⊆ ps)
    (hsx₂ : Set.range sx₂.points ⊆ ps) : sx₁.circumcenter = sx₂.circumcenter 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : AffineSubspace ℝ P} {ps : Set P} (h : ps ⊆ ↑s) [Nonempty ↥s] {n : ℕ} [FiniteDimensional ℝ ↥s.direction] (hd : FiniteDimensional.finrank ℝ ↥s.direction = n) (hc : EuclideanGeometry.Cospherical ps) {sx₁ sx₂ : Affine.Simplex ℝ P n} (hsx₁ : Set.range sx₁.points ⊆ ps) (hsx₂ : Set.range sx₂.points ⊆ ps)
Goal: sx₁.circumcenter = sx₂.circumcenter
-- EuclideanGeometry.exists_circumcenter_eq_of_cospherical
theorem exists_circumcenter_eq_of_cospherical {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V]
    (hd : finrank ℝ V = n) (hc : Cospherical ps) :
    ∃ c : P, ∀ sx : Simplex ℝ P n, Set.range sx.points ⊆ ps → sx.circumcenter = c 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V] (hd : FiniteDimensional.finrank ℝ V = n) (hc : EuclideanGeometry.Cospherical ps)
Goal: ∃ c, ∀ (sx : Affine.Simplex ℝ P n), Set.range sx.points ⊆ ps → sx.circumcenter = c
-- EuclideanGeometry.circumcenter_eq_of_cospherical
theorem circumcenter_eq_of_cospherical {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V]
    (hd : finrank ℝ V = n) (hc : Cospherical ps) {sx₁ sx₂ : Simplex ℝ P n}
    (hsx₁ : Set.range sx₁.points ⊆ ps) (hsx₂ : Set.range sx₂.points ⊆ ps) :
    sx₁.circumcenter = sx₂.circumcenter 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V] (hd : FiniteDimensional.finrank ℝ V = n) (hc : EuclideanGeometry.Cospherical ps) {sx₁ sx₂ : Affine.Simplex ℝ P n} (hsx₁ : Set.range sx₁.points ⊆ ps) (hsx₂ : Set.range sx₂.points ⊆ ps)
Goal: sx₁.circumcenter = sx₂.circumcenter
-- EuclideanGeometry.exists_circumsphere_eq_of_cospherical_subset
theorem exists_circumsphere_eq_of_cospherical_subset {s : AffineSubspace ℝ P} {ps : Set P}
    (h : ps ⊆ s) [Nonempty s] {n : ℕ} [FiniteDimensional ℝ s.direction]
    (hd : finrank ℝ s.direction = n) (hc : Cospherical ps) :
    ∃ c : Sphere P, ∀ sx : Simplex ℝ P n, Set.range sx.points ⊆ ps → sx.circumsphere = c 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : AffineSubspace ℝ P} {ps : Set P} (h : ps ⊆ ↑s) [Nonempty ↥s] {n : ℕ} [FiniteDimensional ℝ ↥s.direction] (hd : FiniteDimensional.finrank ℝ ↥s.direction = n) (hc : EuclideanGeometry.Cospherical ps)
Goal: ∃ c, ∀ (sx : Affine.Simplex ℝ P n), Set.range sx.points ⊆ ps → sx.circumsphere = c
-- EuclideanGeometry.circumsphere_eq_of_cospherical_subset
theorem circumsphere_eq_of_cospherical_subset {s : AffineSubspace ℝ P} {ps : Set P} (h : ps ⊆ s)
    [Nonempty s] {n : ℕ} [FiniteDimensional ℝ s.direction] (hd : finrank ℝ s.direction = n)
    (hc : Cospherical ps) {sx₁ sx₂ : Simplex ℝ P n} (hsx₁ : Set.range sx₁.points ⊆ ps)
    (hsx₂ : Set.range sx₂.points ⊆ ps) : sx₁.circumsphere = sx₂.circumsphere 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : AffineSubspace ℝ P} {ps : Set P} (h : ps ⊆ ↑s) [Nonempty ↥s] {n : ℕ} [FiniteDimensional ℝ ↥s.direction] (hd : FiniteDimensional.finrank ℝ ↥s.direction = n) (hc : EuclideanGeometry.Cospherical ps) {sx₁ sx₂ : Affine.Simplex ℝ P n} (hsx₁ : Set.range sx₁.points ⊆ ps) (hsx₂ : Set.range sx₂.points ⊆ ps)
Goal: sx₁.circumsphere = sx₂.circumsphere
-- EuclideanGeometry.exists_circumsphere_eq_of_cospherical
theorem exists_circumsphere_eq_of_cospherical {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V]
    (hd : finrank ℝ V = n) (hc : Cospherical ps) :
    ∃ c : Sphere P, ∀ sx : Simplex ℝ P n, Set.range sx.points ⊆ ps → sx.circumsphere = c 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V] (hd : FiniteDimensional.finrank ℝ V = n) (hc : EuclideanGeometry.Cospherical ps)
Goal: ∃ c, ∀ (sx : Affine.Simplex ℝ P n), Set.range sx.points ⊆ ps → sx.circumsphere = c
-- EuclideanGeometry.circumsphere_eq_of_cospherical
theorem circumsphere_eq_of_cospherical {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V]
    (hd : finrank ℝ V = n) (hc : Cospherical ps) {sx₁ sx₂ : Simplex ℝ P n}
    (hsx₁ : Set.range sx₁.points ⊆ ps) (hsx₂ : Set.range sx₂.points ⊆ ps) :
    sx₁.circumsphere = sx₂.circumsphere 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {ps : Set P} {n : ℕ} [FiniteDimensional ℝ V] (hd : FiniteDimensional.finrank ℝ V = n) (hc : EuclideanGeometry.Cospherical ps) {sx₁ sx₂ : Affine.Simplex ℝ P n} (hsx₁ : Set.range sx₁.points ⊆ ps) (hsx₂ : Set.range sx₂.points ⊆ ps)
Goal: sx₁.circumsphere = sx₂.circumsphere
-- EuclideanGeometry.eq_or_eq_reflection_of_dist_eq
theorem eq_or_eq_reflection_of_dist_eq {n : ℕ} {s : Simplex ℝ P n} {p p₁ p₂ : P} {r : ℝ}
    (hp₁ : p₁ ∈ affineSpan ℝ (insert p (Set.range s.points)))
    (hp₂ : p₂ ∈ affineSpan ℝ (insert p (Set.range s.points))) (h₁ : ∀ i, dist (s.points i) p₁ = r)
    (h₂ : ∀ i, dist (s.points i) p₂ = r) :
    p₁ = p₂ ∨ p₁ = reflection (affineSpan ℝ (Set.range s.points)) p₂ 
Arguments: {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {n : ℕ} {s : Affine.Simplex ℝ P n} {p p₁ p₂ : P} {r : ℝ} (hp₁ : p₁ ∈ affineSpan ℝ (insert p (Set.range s.points))) (hp₂ : p₂ ∈ affineSpan ℝ (insert p (Set.range s.points))) (h₁ : ∀ (i : Fin (n + 1)), dist (s.points i) p₁ = r) (h₂ : ∀ (i : Fin (n + 1)), dist (s.points i) p₂ = r)
Goal: p₁ = p₂ ∨ p₁ = (EuclideanGeometry.reflection (affineSpan ℝ (Set.range s.points))) p₂
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.base_open
class PresheafedSpace.IsOpenImmersion {X Y : PresheafedSpace C} (f : X ⟶ Y) : Prop where
    base_open : OpenEmbedding f.base
    c_iso : ∀ U : Opens X, IsIso (f.c.app (op (base_open.isOpenMap.functor.obj U)))
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} {f : X ⟶ Y} [self : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f]
Goal: OpenEmbedding ⇑f.base
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.c_iso
class PresheafedSpace.IsOpenImmersion {X Y : PresheafedSpace C} (f : X ⟶ Y) : Prop where
    base_open : OpenEmbedding f.base
    c_iso : ∀ U : Opens X, IsIso (f.c.app (op (base_open.isOpenMap.functor.obj U)))
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} {f : X ⟶ Y} [self : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (U : TopologicalSpace.Opens ↑↑X)
Goal: CategoryTheory.IsIso (f.c.app (Opposite.op (⋯.functor.obj U)))
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoRestrict_hom_c_app
@[simps! hom_c_app]
noncomputable def isoRestrict : X ≅ Y.restrict H.base_open 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f]
Goal: ∀ (X_1 : (TopologicalSpace.Opens ↑↑(Y.restrict ⋯))ᵒᵖ),
  (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoRestrict f).hom.c.app X_1 =
    f.c.app (Opposite.op ((AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.opensFunctor f).obj (Opposite.unop X_1))) ≫
      X.presheaf.map (CategoryTheory.eqToHom ⋯)
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoRestrict_hom_ofRestrict
@[reassoc (attr := simp)]
theorem isoRestrict_hom_ofRestrict : (isoRestrict f).hom ≫ Y.ofRestrict _ = f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f]
Goal: (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoRestrict f).hom ≫ Y.ofRestrict ⋯ = f
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoRestrict_inv_ofRestrict
@[reassoc (attr := simp)]
theorem isoRestrict_inv_ofRestrict : (isoRestrict f).inv ≫ f = Y.ofRestrict _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f]
Goal: (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoRestrict f).inv ≫ f = Y.ofRestrict ⋯
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.c_iso'
lemma c_iso' {V : Opens Y} (U : Opens X) (h : V = (opensFunctor f).obj U) :
    IsIso (f.c.app (Opposite.op V)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] {V : TopologicalSpace.Opens ↑↑Y} (U : TopologicalSpace.Opens ↑↑X) (h : V = (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.opensFunctor f).obj U)
Goal: CategoryTheory.IsIso (f.c.app (Opposite.op V))
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.inv_naturality
@[simp, reassoc]
theorem inv_naturality {U V : (Opens X)ᵒᵖ} (i : U ⟶ V) :
    X.presheaf.map i ≫ H.invApp (unop V) =
      invApp f (unop U) ≫ Y.presheaf.map (opensFunctor f |>.op.map i) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] {U V : (TopologicalSpace.Opens ↑↑X)ᵒᵖ} (i : U ⟶ V)
Goal: X.presheaf.map i ≫ AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.invApp f (Opposite.unop V) =
  AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.invApp f (Opposite.unop U) ≫
    Y.presheaf.map ((AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.opensFunctor f).op.map i)
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.inv_invApp
theorem inv_invApp (U : Opens X) :
    inv (H.invApp U) =
      f.c.app (op (opensFunctor f |>.obj U)) ≫
        X.presheaf.map
          (eqToHom (by simp [Opens.map, Set.preimage_image_eq _ H.base_open.inj])) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (U : TopologicalSpace.Opens ↑↑X)
Goal: CategoryTheory.inv (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.invApp f U) =
  f.c.app (Opposite.op ((AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.opensFunctor f).obj U)) ≫
    X.presheaf.map (CategoryTheory.eqToHom ⋯)
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.invApp_app
@[simp, reassoc, elementwise]
theorem invApp_app (U : Opens X) :
    invApp f U ≫ f.c.app (op (opensFunctor f |>.obj U)) =
      X.presheaf.map (eqToHom (by simp [Opens.map, Set.preimage_image_eq _ H.base_open.inj])) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (U : TopologicalSpace.Opens ↑↑X)
Goal: AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.invApp f U ≫
    f.c.app (Opposite.op ((AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.opensFunctor f).obj U)) =
  X.presheaf.map (CategoryTheory.eqToHom ⋯)
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.app_invApp
@[simp, reassoc]
theorem app_invApp (U : Opens Y) :
    f.c.app (op U) ≫ H.invApp ((Opens.map f.base).obj U) =
      Y.presheaf.map
        ((homOfLE (Set.image_preimage_subset f.base U.1)).op :
          op U ⟶ op (opensFunctor f |>.obj ((Opens.map f.base).obj U))) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (U : TopologicalSpace.Opens ↑↑Y)
Goal: f.c.app (Opposite.op U) ≫
    AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.invApp f ((TopologicalSpace.Opens.map f.base).obj U) =
  Y.presheaf.map (CategoryTheory.homOfLE ⋯).op
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.app_inv_app'
@[reassoc]
theorem app_inv_app' (U : Opens Y) (hU : (U : Set Y) ⊆ Set.range f.base) :
    f.c.app (op U) ≫ invApp f ((Opens.map f.base).obj U) =
      Y.presheaf.map
        (eqToHom
            (le_antisymm (Set.image_preimage_subset f.base U.1) <|
              (Set.image_preimage_eq_inter_range (f := f.base) (t := U.1)).symm ▸
                Set.subset_inter_iff.mpr ⟨fun _ h => h, hU⟩)).op 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (U : TopologicalSpace.Opens ↑↑Y) (hU : ↑U ⊆ Set.range ⇑f.base)
Goal: f.c.app (Opposite.op U) ≫
    AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.invApp f ((TopologicalSpace.Opens.map f.base).obj U) =
  Y.presheaf.map (CategoryTheory.eqToHom ⋯).op
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.ofRestrict_invApp
@[elementwise, simp]
theorem ofRestrict_invApp {C : Type*} [Category C] (X : PresheafedSpace C) {Y : TopCat}
    {f : Y ⟶ TopCat.of X.carrier} (h : OpenEmbedding f) (U : Opens (X.restrict h).carrier) :
    (PresheafedSpace.IsOpenImmersion.ofRestrict X h).invApp U = 𝟙 _ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] (X : AlgebraicGeometry.PresheafedSpace C) {Y : TopCat} {f : Y ⟶ TopCat.of ↑↑X} (h : OpenEmbedding ⇑f) (U : TopologicalSpace.Opens ↑↑(X.restrict h))
Goal: AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.invApp (X.ofRestrict h) U =
  𝟙 ((X.restrict h).presheaf.obj (Opposite.op U))
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.to_iso
theorem to_iso [h' : Epi f.base] : IsIso f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Y) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] [h' : CategoryTheory.Epi f.base]
Goal: CategoryTheory.IsIso f
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullback_cone_of_left_condition
theorem pullback_cone_of_left_condition : pullbackConeOfLeftFst f g ≫ f = Y.ofRestrict _ ≫ g 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z)
Goal: AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeftFst f g ≫ f = Y.ofRestrict ⋯ ≫ g
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeftLift_fst
theorem pullbackConeOfLeftLift_fst :
    pullbackConeOfLeftLift f g s ≫ (pullbackConeOfLeft f g).fst = s.fst 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z) (s : CategoryTheory.Limits.PullbackCone f g)
Goal: AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeftLift f g s ≫
    (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeft f g).fst =
  s.fst
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeftLift_snd
theorem pullbackConeOfLeftLift_snd :
    pullbackConeOfLeftLift f g s ≫ (pullbackConeOfLeft f g).snd = s.snd 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z) (s : CategoryTheory.Limits.PullbackCone f g)
Goal: AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeftLift f g s ≫
    (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeft f g).snd =
  s.snd
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullback_snd_isIso_of_range_subset
theorem pullback_snd_isIso_of_range_subset (H : Set.range g.base ⊆ Set.range f.base) :
    IsIso (pullback.snd f g) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z) (H : Set.range ⇑g.base ⊆ Set.range ⇑f.base)
Goal: CategoryTheory.IsIso (CategoryTheory.Limits.pullback.snd f g)
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.lift_fac
@[simp, reassoc]
theorem lift_fac (H : Set.range g.base ⊆ Set.range f.base) : lift f g H ≫ f = g 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z) (H : Set.range ⇑g.base ⊆ Set.range ⇑f.base)
Goal: AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.lift f g H ≫ f = g
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.lift_uniq
theorem lift_uniq (H : Set.range g.base ⊆ Set.range f.base) (l : Y ⟶ X) (hl : l ≫ f = g) :
    l = lift f g H 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z) (H : Set.range ⇑g.base ⊆ Set.range ⇑f.base) (l : Y ⟶ X) (hl : l ≫ f = g)
Goal: l = AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.lift f g H
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoOfRangeEq_inv
@[simps]
def isoOfRangeEq [IsOpenImmersion g] (e : Set.range f.base = Set.range g.base) : X ≅ Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z) [AlgebraicGeometry.PresheafedSpace.IsOpenImmersion g] (e : Set.range ⇑f.base = Set.range ⇑g.base)
Goal: (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoOfRangeEq f g e).inv =
  AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.lift f g ⋯
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoOfRangeEq_hom
@[simps]
def isoOfRangeEq [IsOpenImmersion g] (e : Set.range f.base = Set.range g.base) : X ≅ Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z) [AlgebraicGeometry.PresheafedSpace.IsOpenImmersion g] (e : Set.range ⇑f.base = Set.range ⇑g.base)
Goal: (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.isoOfRangeEq f g e).hom =
  AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.lift g f ⋯
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.toSheafedSpace_toPresheafedSpace
@[simp]
theorem toSheafedSpace_toPresheafedSpace : (toSheafedSpace Y f).toPresheafedSpace = X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X : AlgebraicGeometry.PresheafedSpace C} (Y : AlgebraicGeometry.SheafedSpace C) (f : X ⟶ Y.toPresheafedSpace) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f]
Goal: (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.toSheafedSpace Y f).toPresheafedSpace = X
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.toSheafedSpaceHom_base
@[simp]
theorem toSheafedSpaceHom_base : (toSheafedSpaceHom Y f).base = f.base 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X : AlgebraicGeometry.PresheafedSpace C} (Y : AlgebraicGeometry.SheafedSpace C) (f : X ⟶ Y.toPresheafedSpace) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f]
Goal: (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.toSheafedSpaceHom Y f).base = f.base
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.toSheafedSpaceHom_c
@[simp]
theorem toSheafedSpaceHom_c : (toSheafedSpaceHom Y f).c = f.c 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X : AlgebraicGeometry.PresheafedSpace C} (Y : AlgebraicGeometry.SheafedSpace C) (f : X ⟶ Y.toPresheafedSpace) [H : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f]
Goal: (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.toSheafedSpaceHom Y f).c = f.c
-- AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.sheafedSpace_toSheafedSpace
@[simp]
theorem sheafedSpace_toSheafedSpace {X Y : SheafedSpace C} (f : X ⟶ Y) [IsOpenImmersion f] :
    toSheafedSpace Y f = X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : AlgebraicGeometry.SheafedSpace C} (f : X ⟶ Y) [AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f]
Goal: AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.toSheafedSpace Y f = X