ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- RingHom.StableUnderBaseChange.pullback_fst_app_top
theorem StableUnderBaseChange.pullback_fst_app_top
    (hP : StableUnderBaseChange P) (hP' : RespectsIso P)
    {X Y S : Scheme} [IsAffine X] [IsAffine Y] [IsAffine S] (f : X ⟶ S) (g : Y ⟶ S)
    (H : P (g.app ⊤)) : P ((pullback.fst f g).app ⊤) 
Arguments: (P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop) (hP : RingHom.StableUnderBaseChange fun {R S} [CommRing R] [CommRing S] => P) (hP' : RingHom.RespectsIso fun {R S} [CommRing R] [CommRing S] => P) {X Y S : AlgebraicGeometry.Scheme} [AlgebraicGeometry.IsAffine X] [AlgebraicGeometry.IsAffine Y] [AlgebraicGeometry.IsAffine S] (f : X ⟶ S) (g : Y ⟶ S) (H : P (AlgebraicGeometry.Scheme.Hom.app g ⊤))
Goal: P (AlgebraicGeometry.Scheme.Hom.app (CategoryTheory.Limits.pullback.fst f g) ⊤)
-- AlgebraicGeometry.sourceAffineLocally_respectsIso
theorem sourceAffineLocally_respectsIso (h₁ : RingHom.RespectsIso P) :
    (sourceAffineLocally P).toProperty.RespectsIso 
Arguments: (P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop) (h₁ : RingHom.RespectsIso fun {R S} [CommRing R] [CommRing S] => P)
Goal: (AlgebraicGeometry.sourceAffineLocally fun {R S} [CommRing R] [CommRing S] => P).toProperty.RespectsIso
-- AlgebraicGeometry.affineLocally_respectsIso
theorem affineLocally_respectsIso (h : RingHom.RespectsIso P) : (affineLocally P).RespectsIso 
Arguments: (P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop) (h : RingHom.RespectsIso fun {R S} [CommRing R] [CommRing S] => P)
Goal: (AlgebraicGeometry.affineLocally fun {R S} [CommRing R] [CommRing S] => P).RespectsIso
-- AlgebraicGeometry.sourceAffineLocally_morphismRestrict
theorem sourceAffineLocally_morphismRestrict {X Y : Scheme.{u}} (f : X ⟶ Y)
    (U : Y.Opens) (hU : IsAffineOpen U) :
    @sourceAffineLocally P _ _ (f ∣_ U) hU ↔
      ∀ (V : X.affineOpens) (e : V.1 ≤ f ⁻¹ᵁ U), P (f.appLE U V e) 
Arguments: (P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop) {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (U : Y.Opens) (hU : AlgebraicGeometry.IsAffineOpen U)
Goal: AlgebraicGeometry.sourceAffineLocally (fun {R S} [CommRing R] [CommRing S] => P) (f ∣_ U) ↔
  ∀ (V : ↑X.affineOpens) (e : ↑V ≤ f ⁻¹ᵁ U), P (AlgebraicGeometry.Scheme.Hom.appLE f U (↑V) e)
-- AlgebraicGeometry.affineLocally_iff_affineOpens_le
theorem affineLocally_iff_affineOpens_le {X Y : Scheme.{u}} (f : X ⟶ Y) :
    affineLocally.{u} P f ↔
      ∀ (U : Y.affineOpens) (V : X.affineOpens) (e : V.1 ≤ f ⁻¹ᵁ U.1), P (f.appLE U V e) 
Arguments: (P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop) {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y)
Goal: AlgebraicGeometry.affineLocally (fun {R S} [CommRing R] [CommRing S] => P) f ↔
  ∀ (U : ↑Y.affineOpens) (V : ↑X.affineOpens) (e : ↑V ≤ f ⁻¹ᵁ ↑U), P (AlgebraicGeometry.Scheme.Hom.appLE f (↑U) (↑V) e)
-- AlgebraicGeometry.sourceAffineLocally_isLocal
theorem sourceAffineLocally_isLocal (h₁ : RingHom.RespectsIso P)
    (h₂ : RingHom.LocalizationPreserves P) (h₃ : RingHom.OfLocalizationSpan P) :
    (sourceAffineLocally P).IsLocal 
Arguments: (P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop) (h₁ : RingHom.RespectsIso fun {R S} [CommRing R] [CommRing S] => P) (h₂ : RingHom.LocalizationPreserves fun {R S} [CommRing R] [CommRing S] => P) (h₃ : RingHom.OfLocalizationSpan fun {R S} [CommRing R] [CommRing S] => P)
Goal: (AlgebraicGeometry.sourceAffineLocally fun {R S} [CommRing R] [CommRing S] => P).IsLocal
-- AlgebraicGeometry.HasRingHomProperty.eq_affineLocally'
class HasRingHomProperty (P : MorphismProperty Scheme.{u})
    (Q : outParam (∀ {R S : Type u} [CommRing R] [CommRing S], (R →+* S) → Prop)) : Prop where
  isLocal_ringHomProperty : RingHom.PropertyIsLocal Q
  eq_affineLocally' : P = affineLocally Q
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : outParam ({R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop)} [self : AlgebraicGeometry.HasRingHomProperty P Q]
Goal: P = AlgebraicGeometry.affineLocally fun {R S} [CommRing R] [CommRing S] => Q
-- AlgebraicGeometry.HasRingHomProperty.isLocal_ringHomProperty
class HasRingHomProperty (P : MorphismProperty Scheme.{u})
    (Q : outParam (∀ {R S : Type u} [CommRing R] [CommRing S], (R →+* S) → Prop)) : Prop where
  isLocal_ringHomProperty : RingHom.PropertyIsLocal Q
  eq_affineLocally' : P = affineLocally Q
Arguments: (P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme) {Q : outParam ({R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop)} [self : AlgebraicGeometry.HasRingHomProperty P Q]
Goal: RingHom.PropertyIsLocal fun {R S} [CommRing R] [CommRing S] => Q
-- AlgebraicGeometry.HasRingHomProperty.eq_affineLocally
lemma eq_affineLocally : P = affineLocally Q 
Arguments: (P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme) {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q]
Goal: P = AlgebraicGeometry.affineLocally fun {R S} [CommRing R] [CommRing S] => Q
-- AlgebraicGeometry.HasRingHomProperty.HasAffineProperty
@[local instance]
lemma HasAffineProperty : HasAffineProperty P (sourceAffineLocally Q) 
Arguments: (P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme) {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q]
Goal: AlgebraicGeometry.HasAffineProperty P (AlgebraicGeometry.sourceAffineLocally fun {R S} [CommRing R] [CommRing S] => Q)
-- AlgebraicGeometry.HasRingHomProperty.appLE
theorem appLE (H : P f) (U : Y.affineOpens) (V : X.affineOpens) (e) : Q (f.appLE U V e) 
Arguments: (P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme) {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (H : P f) (U : ↑Y.affineOpens) (V : ↑X.affineOpens) (e : ↑V ≤ f ⁻¹ᵁ ↑U)
Goal: Q (AlgebraicGeometry.Scheme.Hom.appLE f (↑U) (↑V) e)
-- AlgebraicGeometry.HasRingHomProperty.app_top
theorem app_top (H : P f) [IsAffine X] [IsAffine Y] : Q (f.app ⊤) 
Arguments: (P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme) {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (H : P f) [AlgebraicGeometry.IsAffine X] [AlgebraicGeometry.IsAffine Y]
Goal: Q (AlgebraicGeometry.Scheme.Hom.app f ⊤)
-- AlgebraicGeometry.HasRingHomProperty.comp_of_isOpenImmersion
theorem comp_of_isOpenImmersion [IsOpenImmersion f] (H : P g) :
    P (f ≫ g) 
Arguments: (P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme) {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y Z : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) [AlgebraicGeometry.IsOpenImmersion f] (H : P g)
Goal: P (f ≫ g)
-- AlgebraicGeometry.HasRingHomProperty.iff_appLE
lemma iff_appLE : P f ↔ ∀ (U : Y.affineOpens) (V : X.affineOpens) (e), Q (f.appLE U V e) 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y}
Goal: P f ↔
  ∀ (U : ↑Y.affineOpens) (V : ↑X.affineOpens) (e : ↑V ≤ f ⁻¹ᵁ ↑U), Q (AlgebraicGeometry.Scheme.Hom.appLE f (↑U) (↑V) e)
-- AlgebraicGeometry.HasRingHomProperty.of_source_openCover
theorem of_source_openCover [IsAffine Y]
    (𝒰 : X.OpenCover) [∀ i, IsAffine (𝒰.obj i)] (H : ∀ i, Q ((𝒰.map i ≫ f).app ⊤)) :
    P f 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} [AlgebraicGeometry.IsAffine Y] (𝒰 : X.OpenCover) [∀ (i : 𝒰.J), AlgebraicGeometry.IsAffine (𝒰.obj i)] (H : ∀ (i : 𝒰.J), Q (AlgebraicGeometry.Scheme.Hom.app (𝒰.map i ≫ f) ⊤))
Goal: P f
-- AlgebraicGeometry.HasRingHomProperty.iff_of_source_openCover
theorem iff_of_source_openCover [IsAffine Y] (𝒰 : X.OpenCover) [∀ i, IsAffine (𝒰.obj i)] :
    P f ↔ ∀ i, Q ((𝒰.map i ≫ f).app ⊤) 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} [AlgebraicGeometry.IsAffine Y] (𝒰 : X.OpenCover) [∀ (i : 𝒰.J), AlgebraicGeometry.IsAffine (𝒰.obj i)]
Goal: P f ↔ ∀ (i : 𝒰.J), Q (AlgebraicGeometry.Scheme.Hom.app (𝒰.map i ≫ f) ⊤)
-- AlgebraicGeometry.HasRingHomProperty.iff_of_isAffine
theorem iff_of_isAffine [IsAffine X] [IsAffine Y] :
    P f ↔ Q (f.app ⊤) 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} [AlgebraicGeometry.IsAffine X] [AlgebraicGeometry.IsAffine Y]
Goal: P f ↔ Q (AlgebraicGeometry.Scheme.Hom.app f ⊤)
-- AlgebraicGeometry.HasRingHomProperty.Spec_iff
theorem Spec_iff {R S : CommRingCat.{u}} {φ : R ⟶ S} :
    P (Spec.map φ) ↔ Q φ 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {R S : CommRingCat} {φ : R ⟶ S}
Goal: P (AlgebraicGeometry.Spec.map φ) ↔ Q φ
-- AlgebraicGeometry.HasRingHomProperty.of_iSup_eq_top
theorem of_iSup_eq_top [IsAffine Y] {ι : Type*}
    (U : ι → X.affineOpens) (hU : ⨆ i, (U i : Opens X) = ⊤)
    (H : ∀ i, Q (f.appLE ⊤ (U i).1 le_top)) :
    P f 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} [AlgebraicGeometry.IsAffine Y] {ι : Type u_1} (U : ι → ↑X.affineOpens) (hU : ⨆ i, ↑(U i) = ⊤) (H : ∀ (i : ι), Q (AlgebraicGeometry.Scheme.Hom.appLE f ⊤ ↑(U i) ⋯))
Goal: P f
-- AlgebraicGeometry.HasRingHomProperty.iff_of_iSup_eq_top
theorem iff_of_iSup_eq_top [IsAffine Y] {ι : Type*}
    (U : ι → X.affineOpens) (hU : ⨆ i, (U i : Opens X) = ⊤) :
    P f ↔ ∀ i, Q (f.appLE ⊤ (U i).1 le_top) 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} [AlgebraicGeometry.IsAffine Y] {ι : Type u_1} (U : ι → ↑X.affineOpens) (hU : ⨆ i, ↑(U i) = ⊤)
Goal: P f ↔ ∀ (i : ι), Q (AlgebraicGeometry.Scheme.Hom.appLE f ⊤ ↑(U i) ⋯)
-- AlgebraicGeometry.HasRingHomProperty.of_comp
theorem of_comp
    (H : ∀ {R S T : Type u} [CommRing R] [CommRing S] [CommRing T],
      ∀ (f : R →+* S) (g : S →+* T), Q (g.comp f) → Q g)
    {X Y Z : Scheme.{u}} {f : X ⟶ Y} {g : Y ⟶ Z} (h : P (f ≫ g)) : P f 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] (H :
  ∀ {R S T : Type u} [inst : CommRing R] [inst_1 : CommRing S] [inst_2 : CommRing T] (f : R →+* S) (g : S →+* T),
    Q (g.comp f) → Q g) {X Y Z : AlgebraicGeometry.Scheme} {f : X ⟶ Y} {g : Y ⟶ Z} (h : P (f ≫ g))
Goal: P f
-- AlgebraicGeometry.HasRingHomProperty.of_isOpenImmersion
lemma of_isOpenImmersion [IsOpenImmersion f] : P f 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] {X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} [AlgebraicGeometry.IsOpenImmersion f]
Goal: P f
-- AlgebraicGeometry.HasRingHomProperty.stableUnderBaseChange
lemma stableUnderBaseChange (hP : RingHom.StableUnderBaseChange Q) : P.StableUnderBaseChange 
Arguments: {P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} [AlgebraicGeometry.HasRingHomProperty P Q] (hP : RingHom.StableUnderBaseChange fun {R S} [CommRing R] [CommRing S] => Q)
Goal: P.StableUnderBaseChange
-- MvPFunctor.map_eq
theorem map_eq {α β : TypeVec n} (g : α ⟹ β) (a : P.A) (f : P.B a ⟹ α) :
    @MvFunctor.map _ P.Obj _ _ _ g ⟨a, f⟩ = ⟨a, g ⊚ f⟩ 
Arguments: {n : ℕ} (P : MvPFunctor.{u} n) {α β : TypeVec.{u} n} (g : α ⟹ β) (a : P.A) (f : P.B a ⟹ α)
Goal: g <$$> ⟨a, f⟩ = ⟨a, g ⊚ f⟩
-- MvPFunctor.id_map
theorem id_map {α : TypeVec n} : ∀ x : P α, TypeVec.id <$$> x = x
  
Arguments: {n : ℕ} (P : MvPFunctor.{u} n) {α : TypeVec.{u} n} (x : ↑P α)
Goal: TypeVec.id <$$> x = x
-- MvPFunctor.comp_map
theorem comp_map {α β γ : TypeVec n} (f : α ⟹ β) (g : β ⟹ γ) :
    ∀ x : P α, (g ⊚ f) <$$> x = g <$$> f <$$> x
  
Arguments: {n : ℕ} (P : MvPFunctor.{u} n) {α β γ : TypeVec.{u} n} (f : α ⟹ β) (g : β ⟹ γ) (x : ↑P α)
Goal: (g ⊚ f) <$$> x = g <$$> f <$$> x
-- MvPFunctor.const.get_map
@[simp]
theorem const.get_map (f : α ⟹ β) (x : const n A α) : const.get (f <$$> x) = const.get x 
Arguments: {n : ℕ} {A : Type u} {α β : TypeVec.{u} n} (f : α ⟹ β) (x : ↑(MvPFunctor.const n A) α)
Goal: MvPFunctor.const.get (f <$$> x) = MvPFunctor.const.get x
-- MvPFunctor.const.get_mk
@[simp]
theorem const.get_mk (x : A) : const.get (const.mk n x : const n A α) = x 
Arguments: {n : ℕ} {A : Type u} {α : TypeVec.{u} n} (x : A)
Goal: MvPFunctor.const.get (MvPFunctor.const.mk n x) = x
-- MvPFunctor.const.mk_get
@[simp]
theorem const.mk_get (x : const n A α) : const.mk n (const.get x) = x 
Arguments: {n : ℕ} {A : Type u} {α : TypeVec.{u} n} (x : ↑(MvPFunctor.const n A) α)
Goal: MvPFunctor.const.mk n (MvPFunctor.const.get x) = x
-- MvPFunctor.comp.get_map
theorem comp.get_map (f : α ⟹ β) (x : comp P Q α) :
    comp.get (f <$$> x) = (fun i (x : Q i α) => f <$$> x) <$$> comp.get x 
Arguments: {n m : ℕ} {P : MvPFunctor.{u} n} {Q : Fin2 n → MvPFunctor.{u} m} {α β : TypeVec.{u} m} (f : α ⟹ β) (x : ↑(P.comp Q) α)
Goal: MvPFunctor.comp.get (f <$$> x) = (fun i x => f <$$> x) <$$> MvPFunctor.comp.get x
-- MvPFunctor.comp.get_mk
@[simp]
theorem comp.get_mk (x : P (fun i => Q i α)) : comp.get (comp.mk x) = x 
Arguments: {n m : ℕ} {P : MvPFunctor.{u} n} {Q : Fin2 n → MvPFunctor.{u} m} {α : TypeVec.{u} m} (x : ↑P fun i => ↑(Q i) α)
Goal: MvPFunctor.comp.get (MvPFunctor.comp.mk x) = x
-- MvPFunctor.comp.mk_get
@[simp]
theorem comp.mk_get (x : comp P Q α) : comp.mk (comp.get x) = x 
Arguments: {n m : ℕ} {P : MvPFunctor.{u} n} {Q : Fin2 n → MvPFunctor.{u} m} {α : TypeVec.{u} m} (x : ↑(P.comp Q) α)
Goal: MvPFunctor.comp.mk (MvPFunctor.comp.get x) = x
-- MvPFunctor.liftP_iff
theorem liftP_iff {α : TypeVec n} (p : ∀ ⦃i⦄, α i → Prop) (x : P α) :
    LiftP p x ↔ ∃ a f, x = ⟨a, f⟩ ∧ ∀ i j, p (f i j) 
Arguments: {n : ℕ} {P : MvPFunctor.{u} n} {α : TypeVec.{u} n} (p : ⦃i : Fin2 n⦄ → α i → Prop) (x : ↑P α)
Goal: MvFunctor.LiftP p x ↔ ∃ a f, x = ⟨a, f⟩ ∧ ∀ (i : Fin2 n) (j : P.B a i), p (f i j)
-- MvPFunctor.liftP_iff'
theorem liftP_iff' {α : TypeVec n} (p : ∀ ⦃i⦄, α i → Prop) (a : P.A) (f : P.B a ⟹ α) :
    @LiftP.{u} _ P.Obj _ α p ⟨a, f⟩ ↔ ∀ i x, p (f i x) 
Arguments: {n : ℕ} {P : MvPFunctor.{u} n} {α : TypeVec.{u} n} (p : ⦃i : Fin2 n⦄ → α i → Prop) (a : P.A) (f : P.B a ⟹ α)
Goal: MvFunctor.LiftP p ⟨a, f⟩ ↔ ∀ (i : Fin2 n) (x : P.B a i), p (f i x)
-- MvPFunctor.liftR_iff
theorem liftR_iff {α : TypeVec n} (r : ∀ ⦃i⦄, α i → α i → Prop) (x y : P α) :
    LiftR @r x y ↔ ∃ a f₀ f₁, x = ⟨a, f₀⟩ ∧ y = ⟨a, f₁⟩ ∧ ∀ i j, r (f₀ i j) (f₁ i j) 
Arguments: {n : ℕ} {P : MvPFunctor.{u} n} {α : TypeVec.{u} n} (r : ⦃i : Fin2 n⦄ → α i → α i → Prop) (x y : ↑P α)
Goal: MvFunctor.LiftR r x y ↔ ∃ a f₀ f₁, x = ⟨a, f₀⟩ ∧ y = ⟨a, f₁⟩ ∧ ∀ (i : Fin2 n) (j : P.B a i), r (f₀ i j) (f₁ i j)
-- MvPFunctor.supp_eq
theorem supp_eq {α : TypeVec n} (a : P.A) (f : P.B a ⟹ α) (i) :
    @supp.{u} _ P.Obj _ α (⟨a, f⟩ : P α) i = f i '' univ 
Arguments: {n : ℕ} {P : MvPFunctor.{u} n} {α : TypeVec.{u} n} (a : P.A) (f : P.B a ⟹ α) (i : Fin2 n)
Goal: MvFunctor.supp ⟨a, f⟩ i = f i '' Set.univ
-- AlgebraicGeometry.Scheme.OpenCover.IsOpen
structure OpenCover (X : Scheme.{u}) where
    J : Type v
    obj : J → Scheme
    map : ∀ j : J, obj j ⟶ X
    f : X → J
    covers : ∀ x, x ∈ Set.range (map (f x)).1.base
    IsOpen : ∀ x, IsOpenImmersion (map x) := by infer_instance
Arguments: {X : AlgebraicGeometry.Scheme} (self : X.OpenCover) (x : self.J)
Goal: AlgebraicGeometry.IsOpenImmersion (self.map x)
-- AlgebraicGeometry.Scheme.OpenCover.covers
structure OpenCover (X : Scheme.{u}) where
    J : Type v
    obj : J → Scheme
    map : ∀ j : J, obj j ⟶ X
    f : X → J
    covers : ∀ x, x ∈ Set.range (map (f x)).1.base
    IsOpen : ∀ x, IsOpenImmersion (map x) := by infer_instance
Arguments: {X : AlgebraicGeometry.Scheme} (self : X.OpenCover) (x : ↑↑X.toPresheafedSpace)
Goal: x ∈ Set.range ⇑(self.map (self.f x)).val.base
-- AlgebraicGeometry.Scheme.OpenCover.iUnion_range
theorem OpenCover.iUnion_range {X : Scheme.{u}} (𝒰 : X.OpenCover) :
    ⋃ i, Set.range (𝒰.map i).1.base = Set.univ 
Arguments: {X : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover)
Goal: ⋃ i, Set.range ⇑(𝒰.map i).val.base = Set.univ
-- AlgebraicGeometry.Scheme.OpenCover.iSup_opensRange
theorem OpenCover.iSup_opensRange {X : Scheme.{u}} (𝒰 : X.OpenCover) :
    ⨆ i, (𝒰.map i).opensRange = ⊤ 
Arguments: {X : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover)
Goal: ⨆ i, AlgebraicGeometry.Scheme.Hom.opensRange (𝒰.map i) = ⊤
-- AlgebraicGeometry.Scheme.OpenCover.bind_obj
@[simps! J obj map]
def OpenCover.bind (f : ∀ x : 𝒰.J, OpenCover (𝒰.obj x)) : OpenCover X 
Arguments: {X : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : (x : 𝒰.J) → (𝒰.obj x).OpenCover) (x : (i : 𝒰.J) × (f i).J)
Goal: (𝒰.bind f).obj x = (f x.fst).obj x.snd
-- AlgebraicGeometry.Scheme.OpenCover.bind_J
@[simps! J obj map]
def OpenCover.bind (f : ∀ x : 𝒰.J, OpenCover (𝒰.obj x)) : OpenCover X 
Arguments: {X : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : (x : 𝒰.J) → (𝒰.obj x).OpenCover)
Goal: (𝒰.bind f).J = ((i : 𝒰.J) × (f i).J)
-- AlgebraicGeometry.Scheme.OpenCover.bind_map
@[simps! J obj map]
def OpenCover.bind (f : ∀ x : 𝒰.J, OpenCover (𝒰.obj x)) : OpenCover X 
Arguments: {X : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : (x : 𝒰.J) → (𝒰.obj x).OpenCover) (x : (i : 𝒰.J) × (f i).J)
Goal: (𝒰.bind f).map x = (f x.fst).map x.snd ≫ 𝒰.map x.fst
-- AlgebraicGeometry.Scheme.openCoverOfIsIso_J
@[simps J obj map]
def openCoverOfIsIso {X Y : Scheme.{u}} (f : X ⟶ Y) [IsIso f] : OpenCover.{v} Y 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) [CategoryTheory.IsIso f]
Goal: (AlgebraicGeometry.Scheme.openCoverOfIsIso f).J = PUnit.{v + 1}
-- AlgebraicGeometry.Scheme.openCoverOfIsIso_map
@[simps J obj map]
def openCoverOfIsIso {X Y : Scheme.{u}} (f : X ⟶ Y) [IsIso f] : OpenCover.{v} Y 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) [CategoryTheory.IsIso f]
Goal: ∀ (x : PUnit.{v + 1}), (AlgebraicGeometry.Scheme.openCoverOfIsIso f).map x = f
-- AlgebraicGeometry.Scheme.openCoverOfIsIso_obj
@[simps J obj map]
def openCoverOfIsIso {X Y : Scheme.{u}} (f : X ⟶ Y) [IsIso f] : OpenCover.{v} Y 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) [CategoryTheory.IsIso f]
Goal: ∀ (x : PUnit.{v + 1}), (AlgebraicGeometry.Scheme.openCoverOfIsIso f).obj x = X
-- AlgebraicGeometry.Scheme.OpenCover.copy_map
@[simps J obj map]
def OpenCover.copy {X : Scheme.{u}} (𝒰 : OpenCover X) (J : Type*) (obj : J → Scheme)
    (map : ∀ i, obj i ⟶ X) (e₁ : J ≃ 𝒰.J) (e₂ : ∀ i, obj i ≅ 𝒰.obj (e₁ i))
    (e₂ : ∀ i, map i = (e₂ i).hom ≫ 𝒰.map (e₁ i)) : OpenCover X 
Arguments: {X : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (J : Type u_1) (obj : J → AlgebraicGeometry.Scheme) (map : (i : J) → obj i ⟶ X) (e₁ : J ≃ 𝒰.J) (e₂ : (i : J) → obj i ≅ 𝒰.obj (e₁ i))
Goal: ∀ (e₂_1 : ∀ (i : J), map i = (e₂ i).hom ≫ 𝒰.map (e₁ i)) (i : J), (𝒰.copy J obj map e₁ e₂ e₂_1).map i = map i
-- AlgebraicGeometry.Scheme.OpenCover.copy_J
@[simps J obj map]
def OpenCover.copy {X : Scheme.{u}} (𝒰 : OpenCover X) (J : Type*) (obj : J → Scheme)
    (map : ∀ i, obj i ⟶ X) (e₁ : J ≃ 𝒰.J) (e₂ : ∀ i, obj i ≅ 𝒰.obj (e₁ i))
    (e₂ : ∀ i, map i = (e₂ i).hom ≫ 𝒰.map (e₁ i)) : OpenCover X 
Arguments: {X : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (J : Type u_1) (obj : J → AlgebraicGeometry.Scheme) (map : (i : J) → obj i ⟶ X) (e₁ : J ≃ 𝒰.J) (e₂ : (i : J) → obj i ≅ 𝒰.obj (e₁ i))
Goal: ∀ (e₂_1 : ∀ (i : J), map i = (e₂ i).hom ≫ 𝒰.map (e₁ i)), (𝒰.copy J obj map e₁ e₂ e₂_1).J = J
-- AlgebraicGeometry.Scheme.OpenCover.copy_obj
@[simps J obj map]
def OpenCover.copy {X : Scheme.{u}} (𝒰 : OpenCover X) (J : Type*) (obj : J → Scheme)
    (map : ∀ i, obj i ⟶ X) (e₁ : J ≃ 𝒰.J) (e₂ : ∀ i, obj i ≅ 𝒰.obj (e₁ i))
    (e₂ : ∀ i, map i = (e₂ i).hom ≫ 𝒰.map (e₁ i)) : OpenCover X 
Arguments: {X : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (J : Type u_1) (obj : J → AlgebraicGeometry.Scheme) (map : (i : J) → obj i ⟶ X) (e₁ : J ≃ 𝒰.J) (e₂ : (i : J) → obj i ≅ 𝒰.obj (e₁ i))
Goal: ∀ (e₂_1 : ∀ (i : J), map i = (e₂ i).hom ≫ 𝒰.map (e₁ i)) (a : J), (𝒰.copy J obj map e₁ e₂ e₂_1).obj a = obj a
-- AlgebraicGeometry.Scheme.OpenCover.pushforwardIso_map
@[simps! J obj map]
def OpenCover.pushforwardIso {X Y : Scheme.{u}} (𝒰 : OpenCover.{v} X) (f : X ⟶ Y) [IsIso f] :
    OpenCover.{v} Y 
Arguments: {X Y : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : X ⟶ Y) [CategoryTheory.IsIso f]
Goal: ∀ (x : 𝒰.J), (𝒰.pushforwardIso f).map x = 𝒰.map x ≫ f
-- AlgebraicGeometry.Scheme.OpenCover.pushforwardIso_obj
@[simps! J obj map]
def OpenCover.pushforwardIso {X Y : Scheme.{u}} (𝒰 : OpenCover.{v} X) (f : X ⟶ Y) [IsIso f] :
    OpenCover.{v} Y 
Arguments: {X Y : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : X ⟶ Y) [CategoryTheory.IsIso f]
Goal: ∀ (x : 𝒰.J), (𝒰.pushforwardIso f).obj x = 𝒰.obj x
-- AlgebraicGeometry.Scheme.OpenCover.pushforwardIso_J
@[simps! J obj map]
def OpenCover.pushforwardIso {X Y : Scheme.{u}} (𝒰 : OpenCover.{v} X) (f : X ⟶ Y) [IsIso f] :
    OpenCover.{v} Y 
Arguments: {X Y : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : X ⟶ Y) [CategoryTheory.IsIso f]
Goal: (𝒰.pushforwardIso f).J = 𝒰.J
-- AlgebraicGeometry.Scheme.OpenCover.add_obj
@[simps]
def OpenCover.add {X Y : Scheme.{u}} (𝒰 : X.OpenCover) (f : Y ⟶ X) [IsOpenImmersion f] :
    X.OpenCover 
Arguments: {X Y : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : Y ⟶ X) [AlgebraicGeometry.IsOpenImmersion f] (i : Option 𝒰.J)
Goal: (𝒰.add f).obj i = Option.rec Y 𝒰.obj i
-- AlgebraicGeometry.Scheme.OpenCover.add_f
@[simps]
def OpenCover.add {X Y : Scheme.{u}} (𝒰 : X.OpenCover) (f : Y ⟶ X) [IsOpenImmersion f] :
    X.OpenCover 
Arguments: {X Y : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : Y ⟶ X) [AlgebraicGeometry.IsOpenImmersion f] (x : ↑↑X.toPresheafedSpace)
Goal: (𝒰.add f).f x = some (𝒰.f x)
-- AlgebraicGeometry.Scheme.OpenCover.add_map
@[simps]
def OpenCover.add {X Y : Scheme.{u}} (𝒰 : X.OpenCover) (f : Y ⟶ X) [IsOpenImmersion f] :
    X.OpenCover 
Arguments: {X Y : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : Y ⟶ X) [AlgebraicGeometry.IsOpenImmersion f] (i : Option 𝒰.J)
Goal: (𝒰.add f).map i = Option.rec f 𝒰.map i
-- AlgebraicGeometry.Scheme.OpenCover.add_J
@[simps]
def OpenCover.add {X Y : Scheme.{u}} (𝒰 : X.OpenCover) (f : Y ⟶ X) [IsOpenImmersion f] :
    X.OpenCover 
Arguments: {X Y : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : Y ⟶ X) [AlgebraicGeometry.IsOpenImmersion f]
Goal: (𝒰.add f).J = Option 𝒰.J
-- AlgebraicGeometry.Scheme.OpenCover.pullbackCover_map
@[simps]
def OpenCover.pullbackCover {X W : Scheme.{u}} (𝒰 : X.OpenCover) (f : W ⟶ X) :
    W.OpenCover 
Arguments: {X W : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : W ⟶ X) (x : 𝒰.J)
Goal: (𝒰.pullbackCover f).map x = CategoryTheory.Limits.pullback.fst f (𝒰.map x)