ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- EllipticCurve.ofJ_0_of_three_ne_zero
lemma ofJ_0_of_three_ne_zero [h3 : NeZero (3 : F)] :
    ofJ 0 = @ofJ0 _ _ (invertibleOfNonzero h3.out) 
Arguments: {F : Type u} [Field F] [DecidableEq F] [h3 : NeZero 3]
Goal: EllipticCurve.ofJ 0 = EllipticCurve.ofJ0 F
-- EllipticCurve.ofJ_0_of_three_eq_zero
lemma ofJ_0_of_three_eq_zero (h3 : (3 : F) = 0) :
    ofJ 0 = @ofJ1728 _ _ (invertibleOfNonzero <| two_or_three_ne_zero.neg_resolve_right h3) 
Arguments: {F : Type u} [Field F] [DecidableEq F] (h3 : 3 = 0)
Goal: EllipticCurve.ofJ 0 = EllipticCurve.ofJ1728 F
-- EllipticCurve.ofJ_0_of_two_eq_zero
lemma ofJ_0_of_two_eq_zero (h2 : (2 : F) = 0) :
    ofJ 0 = @ofJ0 _ _ (invertibleOfNonzero <| two_or_three_ne_zero.neg_resolve_left h2) 
Arguments: {F : Type u} [Field F] [DecidableEq F] (h2 : 2 = 0)
Goal: EllipticCurve.ofJ 0 = EllipticCurve.ofJ0 F
-- EllipticCurve.ofJ_1728_of_three_eq_zero
lemma ofJ_1728_of_three_eq_zero (h3 : (3 : F) = 0) :
    ofJ 1728 = @ofJ1728 _ _ (invertibleOfNonzero <| two_or_three_ne_zero.neg_resolve_right h3) 
Arguments: {F : Type u} [Field F] [DecidableEq F] (h3 : 3 = 0)
Goal: EllipticCurve.ofJ 1728 = EllipticCurve.ofJ1728 F
-- EllipticCurve.ofJ_1728_of_two_ne_zero
lemma ofJ_1728_of_two_ne_zero [h2 : NeZero (2 : F)] :
    ofJ 1728 = @ofJ1728 _ _ (invertibleOfNonzero h2.out) 
Arguments: {F : Type u} [Field F] [DecidableEq F] [h2 : NeZero 2]
Goal: EllipticCurve.ofJ 1728 = EllipticCurve.ofJ1728 F
-- EllipticCurve.ofJ_1728_of_two_eq_zero
lemma ofJ_1728_of_two_eq_zero (h2 : (2 : F) = 0) :
    ofJ 1728 = @ofJ0 _ _ (invertibleOfNonzero <| two_or_three_ne_zero.neg_resolve_left h2) 
Arguments: {F : Type u} [Field F] [DecidableEq F] (h2 : 2 = 0)
Goal: EllipticCurve.ofJ 1728 = EllipticCurve.ofJ0 F
-- EllipticCurve.ofJ_ne_0_ne_1728
lemma ofJ_ne_0_ne_1728 (h0 : j ≠ 0) (h1728 : j ≠ 1728) : ofJ j =
    @ofJ' _ _ j (invertibleOfNonzero h0) (invertibleOfNonzero <| sub_ne_zero_of_ne h1728) 
Arguments: {F : Type u} [Field F] (j : F) [DecidableEq F] (h0 : j ≠ 0) (h1728 : j ≠ 1728)
Goal: EllipticCurve.ofJ j = EllipticCurve.ofJ' j
-- EllipticCurve.ofJ_j
lemma ofJ_j : (ofJ j).j = j 
Arguments: {F : Type u} [Field F] (j : F) [DecidableEq F]
Goal: (EllipticCurve.ofJ j).j = j
-- AlgebraicGeometry.LocallyRingedSpace.not_mem_prime_iff_unit_in_stalk
theorem not_mem_prime_iff_unit_in_stalk (r : Γ.obj (op X)) (x : X) :
    r ∉ (X.toΓSpecFun x).asIdeal ↔ IsUnit (X.presheaf.Γgerm x r) 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (r : ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X))) (x : ↑X.toTopCat)
Goal: r ∉ (X.toΓSpecFun x).asIdeal ↔ IsUnit ((X.presheaf.Γgerm x) r)
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpec_preimage_basicOpen_eq
theorem toΓSpec_preimage_basicOpen_eq (r : Γ.obj (op X)) :
    X.toΓSpecFun ⁻¹' (basicOpen r).1 = (X.toRingedSpace.basicOpen r).1 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (r : ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
Goal: X.toΓSpecFun ⁻¹' (PrimeSpectrum.basicOpen r).carrier = (X.toRingedSpace.basicOpen r).carrier
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpec_continuous
theorem toΓSpec_continuous : Continuous X.toΓSpecFun 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace)
Goal: Continuous X.toΓSpecFun
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpecBase_apply
@[simps]
def toΓSpecBase : X.toTopCat ⟶ Spec.topObj (Γ.obj (op X)) 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace)
Goal: ∀ (a : ↑X.toTopCat), X.toΓSpecBase a = X.toΓSpecFun a
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpecMapBasicOpen_eq
theorem toΓSpecMapBasicOpen_eq : X.toΓSpecMapBasicOpen r = X.toRingedSpace.basicOpen r 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (r : ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
Goal: X.toΓSpecMapBasicOpen r = X.toRingedSpace.basicOpen r
-- AlgebraicGeometry.LocallyRingedSpace.isUnit_res_toΓSpecMapBasicOpen
theorem isUnit_res_toΓSpecMapBasicOpen : IsUnit (X.toToΓSpecMapBasicOpen r r) 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (r : ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
Goal: IsUnit ((X.toToΓSpecMapBasicOpen r) r)
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpecCApp_iff
theorem toΓSpecCApp_iff
    (f :
      (structureSheaf <| Γ.obj <| op X).val.obj (op <| basicOpen r) ⟶
        X.presheaf.obj (op <| X.toΓSpecMapBasicOpen r)) :
    toOpen _ (basicOpen r) ≫ f = X.toToΓSpecMapBasicOpen r ↔ f = X.toΓSpecCApp r 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (r : ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X))) (f :
  (AlgebraicGeometry.Spec.structureSheaf ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X))).val.obj
      (Opposite.op (PrimeSpectrum.basicOpen r)) ⟶
    X.presheaf.obj (Opposite.op (X.toΓSpecMapBasicOpen r)))
Goal: CategoryTheory.CategoryStruct.comp
      (AlgebraicGeometry.StructureSheaf.toOpen (↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
        (PrimeSpectrum.basicOpen r))
      f =
    X.toToΓSpecMapBasicOpen r ↔
  f = X.toΓSpecCApp r
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpecCApp_spec
theorem toΓSpecCApp_spec : toOpen _ (basicOpen r) ≫ X.toΓSpecCApp r = X.toToΓSpecMapBasicOpen r 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (r : ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
Goal: CategoryTheory.CategoryStruct.comp
    (AlgebraicGeometry.StructureSheaf.toOpen (↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
      (PrimeSpectrum.basicOpen r))
    (X.toΓSpecCApp r) =
  X.toToΓSpecMapBasicOpen r
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpecCBasicOpens_app
@[simps app]
def toΓSpecCBasicOpens :
    (inducedFunctor basicOpen).op ⋙ (structureSheaf (Γ.obj (op X))).1 ⟶
      (inducedFunctor basicOpen).op ⋙ ((TopCat.Sheaf.pushforward _ X.toΓSpecBase).obj X.𝒪).1 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (r :
  (CategoryTheory.InducedCategory
      (TopologicalSpace.Opens (PrimeSpectrum ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X))))
      PrimeSpectrum.basicOpen)ᵒᵖ)
Goal: X.toΓSpecCBasicOpens.app r = X.toΓSpecCApp (Opposite.unop r)
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpecSheafedSpace_base
@[simps]
def toΓSpecSheafedSpace : X.toSheafedSpace ⟶ Spec.toSheafedSpace.obj (op (Γ.obj (op X))) 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace)
Goal: X.toΓSpecSheafedSpace.base = X.toΓSpecBase
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpecSheafedSpace_c
@[simps]
def toΓSpecSheafedSpace : X.toSheafedSpace ⟶ Spec.toSheafedSpace.obj (op (Γ.obj (op X))) 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace)
Goal: X.toΓSpecSheafedSpace.c =
  (TopCat.Sheaf.restrictHomEquivHom
      (AlgebraicGeometry.Spec.structureSheaf ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X))).val
      ((TopCat.Sheaf.pushforward CommRingCat X.toΓSpecBase).obj X.𝒪) ⋯)
    X.toΓSpecCBasicOpens
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpecSheafedSpace_app_eq
theorem toΓSpecSheafedSpace_app_eq :
    X.toΓSpecSheafedSpace.c.app (op (basicOpen r)) = X.toΓSpecCApp r 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (r : ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
Goal: X.toΓSpecSheafedSpace.c.app (Opposite.op (PrimeSpectrum.basicOpen r)) = X.toΓSpecCApp r
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpecSheafedSpace_app_spec
@[reassoc] theorem toΓSpecSheafedSpace_app_spec (r : Γ.obj (op X)) :
    toOpen (Γ.obj (op X)) (basicOpen r) ≫ X.toΓSpecSheafedSpace.c.app (op (basicOpen r)) =
      X.toToΓSpecMapBasicOpen r 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (r : ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
Goal: CategoryTheory.CategoryStruct.comp
    (AlgebraicGeometry.StructureSheaf.toOpen (↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
      (PrimeSpectrum.basicOpen r))
    (X.toΓSpecSheafedSpace.c.app (Opposite.op (PrimeSpectrum.basicOpen r))) =
  X.toToΓSpecMapBasicOpen r
-- AlgebraicGeometry.LocallyRingedSpace.toStalk_stalkMap_toΓSpec
theorem toStalk_stalkMap_toΓSpec (x : X) :
    toStalk _ _ ≫ X.toΓSpecSheafedSpace.stalkMap x = X.presheaf.Γgerm x 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace) (x : ↑X.toTopCat)
Goal: CategoryTheory.CategoryStruct.comp
    (AlgebraicGeometry.StructureSheaf.toStalk
      (↑(Opposite.unop (Opposite.op (AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))))
      (X.toΓSpecSheafedSpace.base x))
    (AlgebraicGeometry.PresheafedSpace.Hom.stalkMap X.toΓSpecSheafedSpace x) =
  X.presheaf.Γgerm x
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpec_val_base
@[simps! val_base]
def toΓSpec : X ⟶ Spec.locallyRingedSpaceObj (Γ.obj (op X)) 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace)
Goal: X.toΓSpec.val.base = X.toΓSpecBase
-- AlgebraicGeometry.LocallyRingedSpace.toΓSpec_preimage_zeroLocus_eq
lemma toΓSpec_preimage_zeroLocus_eq {X : LocallyRingedSpace.{u}}
    (s : Set (X.presheaf.obj (op ⊤))) :
    X.toΓSpec.val.base ⁻¹' PrimeSpectrum.zeroLocus s = X.toRingedSpace.zeroLocus s 
Arguments: {X : AlgebraicGeometry.LocallyRingedSpace} (s : Set ↑(X.presheaf.obj (Opposite.op ⊤)))
Goal: ⇑X.toΓSpec.val.base ⁻¹' PrimeSpectrum.zeroLocus s = X.toRingedSpace.zeroLocus s
-- AlgebraicGeometry.LocallyRingedSpace.comp_ring_hom_ext
theorem comp_ring_hom_ext {X : LocallyRingedSpace.{u}} {R : CommRingCat.{u}} {f : R ⟶ Γ.obj (op X)}
    {β : X ⟶ Spec.locallyRingedSpaceObj R}
    (w : X.toΓSpec.1.base ≫ (Spec.locallyRingedSpaceMap f).1.base = β.1.base)
    (h :
      ∀ r : R,
        f ≫ X.presheaf.map (homOfLE le_top : (Opens.map β.1.base).obj (basicOpen r) ⟶ _).op =
          toOpen R (basicOpen r) ≫ β.1.c.app (op (basicOpen r))) :
    X.toΓSpec ≫ Spec.locallyRingedSpaceMap f = β 
Arguments: {X : AlgebraicGeometry.LocallyRingedSpace} {R : CommRingCat} {f : R ⟶ AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)} {β : X ⟶ AlgebraicGeometry.Spec.locallyRingedSpaceObj R} (w :
  CategoryTheory.CategoryStruct.comp X.toΓSpec.val.base (AlgebraicGeometry.Spec.locallyRingedSpaceMap f).val.base =
    β.val.base) (h :
  ∀ (r : ↑R),
    CategoryTheory.CategoryStruct.comp f (X.presheaf.map (CategoryTheory.homOfLE ⋯).op) =
      CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.StructureSheaf.toOpen (↑R) (PrimeSpectrum.basicOpen r))
        (β.val.c.app (Opposite.op (PrimeSpectrum.basicOpen r))))
Goal: CategoryTheory.CategoryStruct.comp X.toΓSpec (AlgebraicGeometry.Spec.locallyRingedSpaceMap f) = β
-- AlgebraicGeometry.LocallyRingedSpace.Γ_Spec_left_triangle
theorem Γ_Spec_left_triangle : toSpecΓ (Γ.obj (op X)) ≫ X.toΓSpec.1.c.app (op ⊤) = 𝟙 _ 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace)
Goal: CategoryTheory.CategoryStruct.comp
    (AlgebraicGeometry.toSpecΓ (AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
    (X.toΓSpec.val.c.app (Opposite.op ⊤)) =
  CategoryTheory.CategoryStruct.id (AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X))
-- AlgebraicGeometry.ΓSpec.left_triangle
theorem left_triangle (X : LocallyRingedSpace) :
    SpecΓIdentity.inv.app (Γ.obj (op X)) ≫ (identityToΓSpec.app X).val.c.app (op ⊤) = 𝟙 _ 
Arguments: (X : AlgebraicGeometry.LocallyRingedSpace)
Goal: CategoryTheory.CategoryStruct.comp
    (AlgebraicGeometry.LocallyRingedSpace.SpecΓIdentity.inv.app
      (AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
    ((AlgebraicGeometry.identityToΓSpec.app X).val.c.app (Opposite.op ⊤)) =
  CategoryTheory.CategoryStruct.id
    ((CategoryTheory.Functor.id CommRingCat).obj (AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X)))
-- AlgebraicGeometry.ΓSpec.right_triangle
theorem right_triangle (R : CommRingCat) :
    identityToΓSpec.app (Spec.toLocallyRingedSpace.obj <| op R) ≫
        Spec.toLocallyRingedSpace.map (SpecΓIdentity.inv.app R).op =
      𝟙 _ 
Arguments: (R : CommRingCat)
Goal: CategoryTheory.CategoryStruct.comp
    (AlgebraicGeometry.identityToΓSpec.app (AlgebraicGeometry.Spec.toLocallyRingedSpace.obj (Opposite.op R)))
    (AlgebraicGeometry.Spec.toLocallyRingedSpace.map
      (AlgebraicGeometry.LocallyRingedSpace.SpecΓIdentity.inv.app R).op) =
  CategoryTheory.CategoryStruct.id
    ((CategoryTheory.Functor.id AlgebraicGeometry.LocallyRingedSpace).obj
      (AlgebraicGeometry.Spec.toLocallyRingedSpace.obj (Opposite.op R)))
-- AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction_unit
lemma locallyRingedSpaceAdjunction_unit :
    locallyRingedSpaceAdjunction.unit = identityToΓSpec 
Goal: AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.unit = AlgebraicGeometry.identityToΓSpec
-- AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction_counit
lemma locallyRingedSpaceAdjunction_counit :
    locallyRingedSpaceAdjunction.counit = (NatIso.op SpecΓIdentity.{u}).inv 
Goal: AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.counit =
  (CategoryTheory.NatIso.op AlgebraicGeometry.LocallyRingedSpace.SpecΓIdentity).inv
-- AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction_counit_app
@[simp]
lemma locallyRingedSpaceAdjunction_counit_app (R : CommRingCatᵒᵖ) :
    locallyRingedSpaceAdjunction.counit.app R =
      (toOpen R.unop ⊤).op 
Arguments: (R : CommRingCatᵒᵖ)
Goal: AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.counit.app R =
  (AlgebraicGeometry.StructureSheaf.toOpen ↑(Opposite.unop R) ⊤).op
-- AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction_counit_app'
@[simp]
lemma locallyRingedSpaceAdjunction_counit_app' (R : Type u) [CommRing R] :
    locallyRingedSpaceAdjunction.counit.app (op <| CommRingCat.of R) =
      (toOpen R ⊤).op 
Arguments: (R : Type u) [CommRing R]
Goal: AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.counit.app (Opposite.op (CommRingCat.of R)) =
  (AlgebraicGeometry.StructureSheaf.toOpen R ⊤).op
-- AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction_homEquiv_apply
lemma locallyRingedSpaceAdjunction_homEquiv_apply
    {X : LocallyRingedSpace} {R : CommRingCatᵒᵖ}
    (f : Γ.rightOp.obj X ⟶ R) :
    locallyRingedSpaceAdjunction.homEquiv X R f =
      identityToΓSpec.app X ≫ Spec.locallyRingedSpaceMap f.unop 
Arguments: {X : AlgebraicGeometry.LocallyRingedSpace} {R : CommRingCatᵒᵖ} (f : AlgebraicGeometry.LocallyRingedSpace.Γ.rightOp.obj X ⟶ R)
Goal: (AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.homEquiv X R) f =
  CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.identityToΓSpec.app X)
    (AlgebraicGeometry.Spec.locallyRingedSpaceMap f.unop)
-- AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction_homEquiv_apply'
lemma locallyRingedSpaceAdjunction_homEquiv_apply'
    {X : LocallyRingedSpace} {R : Type u} [CommRing R]
    (f : CommRingCat.of R ⟶ Γ.obj <| op X) :
    locallyRingedSpaceAdjunction.homEquiv X (op <| CommRingCat.of R) (op f) =
      identityToΓSpec.app X ≫ Spec.locallyRingedSpaceMap f 
Arguments: {X : AlgebraicGeometry.LocallyRingedSpace} {R : Type u} [CommRing R] (f : CommRingCat.of R ⟶ AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op X))
Goal: (AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.homEquiv X (Opposite.op (CommRingCat.of R))) (Opposite.op f) =
  CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.identityToΓSpec.app X)
    (AlgebraicGeometry.Spec.locallyRingedSpaceMap f)
-- AlgebraicGeometry.ΓSpec.toOpen_comp_locallyRingedSpaceAdjunction_homEquiv_app
lemma toOpen_comp_locallyRingedSpaceAdjunction_homEquiv_app
    {X : LocallyRingedSpace} {R : Type u} [CommRing R]
    (f : Γ.rightOp.obj X ⟶ op (CommRingCat.of R)) (U) :
    StructureSheaf.toOpen R U.unop ≫
      (locallyRingedSpaceAdjunction.homEquiv X (op <| CommRingCat.of R) f).1.c.app U =
    f.unop ≫ X.presheaf.map (homOfLE le_top).op 
Arguments: {X : AlgebraicGeometry.LocallyRingedSpace} {R : Type u} [CommRing R] (f : AlgebraicGeometry.LocallyRingedSpace.Γ.rightOp.obj X ⟶ Opposite.op (CommRingCat.of R)) (U :
  (TopologicalSpace.Opens
      ↑↑(AlgebraicGeometry.Spec.toLocallyRingedSpace.obj (Opposite.op (CommRingCat.of R))).toPresheafedSpace)ᵒᵖ)
Goal: CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.StructureSheaf.toOpen R (Opposite.unop U))
    (((AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.homEquiv X (Opposite.op (CommRingCat.of R))) f).val.c.app
      U) =
  CategoryTheory.CategoryStruct.comp f.unop (X.presheaf.map (CategoryTheory.homOfLE ⋯).op)
-- AlgebraicGeometry.ΓSpec.adjunction_homEquiv_apply
theorem adjunction_homEquiv_apply {X : Scheme} {R : CommRingCatᵒᵖ}
    (f : (op <| Scheme.Γ.obj <| op X) ⟶ R) :
    ΓSpec.adjunction.homEquiv X R f = locallyRingedSpaceAdjunction.homEquiv X.1 R f 
Arguments: {X : AlgebraicGeometry.Scheme} {R : CommRingCatᵒᵖ} (f : Opposite.op (AlgebraicGeometry.Scheme.Γ.obj (Opposite.op X)) ⟶ R)
Goal: (AlgebraicGeometry.ΓSpec.adjunction.homEquiv X R) f =
  (AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.homEquiv X.toLocallyRingedSpace R) f
-- AlgebraicGeometry.ΓSpec.adjunction_homEquiv
theorem adjunction_homEquiv (X : Scheme) (R : CommRingCatᵒᵖ) :
    ΓSpec.adjunction.homEquiv X R = locallyRingedSpaceAdjunction.homEquiv X.1 R 
Arguments: (X : AlgebraicGeometry.Scheme) (R : CommRingCatᵒᵖ)
Goal: AlgebraicGeometry.ΓSpec.adjunction.homEquiv X R =
  AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.homEquiv X.toLocallyRingedSpace R
-- AlgebraicGeometry.ΓSpec.adjunction_homEquiv_symm_apply
theorem adjunction_homEquiv_symm_apply {X : Scheme} {R : CommRingCatᵒᵖ}
    (f : X ⟶ Scheme.Spec.obj R) :
    (ΓSpec.adjunction.homEquiv X R).symm f =
      (locallyRingedSpaceAdjunction.homEquiv X.1 R).symm f 
Arguments: {X : AlgebraicGeometry.Scheme} {R : CommRingCatᵒᵖ} (f : X ⟶ AlgebraicGeometry.Scheme.Spec.obj R)
Goal: (AlgebraicGeometry.ΓSpec.adjunction.homEquiv X R).symm f =
  (AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.homEquiv X.toLocallyRingedSpace R).symm f
-- AlgebraicGeometry.ΓSpec.adjunction_counit_app'
theorem adjunction_counit_app' {R : CommRingCatᵒᵖ} :
    ΓSpec.adjunction.counit.app R = locallyRingedSpaceAdjunction.counit.app R 
Arguments: {R : CommRingCatᵒᵖ}
Goal: AlgebraicGeometry.ΓSpec.adjunction.counit.app R = AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.counit.app R
-- AlgebraicGeometry.ΓSpec.adjunction_counit_app
@[simp]
theorem adjunction_counit_app {R : CommRingCatᵒᵖ} :
    ΓSpec.adjunction.counit.app R = (Scheme.ΓSpecIso (unop R)).inv.op 
Arguments: {R : CommRingCatᵒᵖ}
Goal: AlgebraicGeometry.ΓSpec.adjunction.counit.app R = (AlgebraicGeometry.Scheme.ΓSpecIso (Opposite.unop R)).inv.op
-- AlgebraicGeometry.ΓSpec.adjunction_unit_app
theorem adjunction_unit_app {X : Scheme} :
    ΓSpec.adjunction.unit.app X = locallyRingedSpaceAdjunction.unit.app X.1 
Arguments: {X : AlgebraicGeometry.Scheme}
Goal: AlgebraicGeometry.ΓSpec.adjunction.unit.app X =
  AlgebraicGeometry.ΓSpec.locallyRingedSpaceAdjunction.unit.app X.toLocallyRingedSpace
-- AlgebraicGeometry.ΓSpec.adjunction_unit_naturality
@[reassoc (attr := simp)]
theorem adjunction_unit_naturality {X Y : Scheme.{u}} (f : X ⟶ Y) :
    f ≫ ΓSpec.adjunction.unit.app Y = ΓSpec.adjunction.unit.app X ≫ Spec.map (f.app ⊤) 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y)
Goal: CategoryTheory.CategoryStruct.comp f (AlgebraicGeometry.ΓSpec.adjunction.unit.app Y) =
  CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.ΓSpec.adjunction.unit.app X)
    (AlgebraicGeometry.Spec.map (AlgebraicGeometry.Scheme.Hom.app f ⊤))
-- AlgebraicGeometry.ΓSpec.adjunction_unit_app_app_top
@[simp]
theorem adjunction_unit_app_app_top (X : Scheme.{u}) :
    (ΓSpec.adjunction.unit.app X).app ⊤ = (Scheme.ΓSpecIso Γ(X, ⊤)).hom 
Arguments: (X : AlgebraicGeometry.Scheme)
Goal: AlgebraicGeometry.Scheme.Hom.app (AlgebraicGeometry.ΓSpec.adjunction.unit.app X) ⊤ =
  (AlgebraicGeometry.Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op ⊤))).hom
-- AlgebraicGeometry.ΓSpec.SpecMap_ΓSpecIso_hom
@[simp]
theorem SpecMap_ΓSpecIso_hom (R : CommRingCat.{u}) :
    Spec.map ((Scheme.ΓSpecIso R).hom) = adjunction.unit.app (Spec R) 
Arguments: (R : CommRingCat)
Goal: AlgebraicGeometry.Spec.map (AlgebraicGeometry.Scheme.ΓSpecIso R).hom =
  AlgebraicGeometry.ΓSpec.adjunction.unit.app (AlgebraicGeometry.Spec R)
-- AlgebraicGeometry.ΓSpec.adjunction_unit_map_basicOpen
lemma adjunction_unit_map_basicOpen (X : Scheme.{u}) (r : Γ(X, ⊤)) :
    (ΓSpec.adjunction.unit.app X ⁻¹ᵁ (PrimeSpectrum.basicOpen r)) = X.basicOpen r 
Arguments: (X : AlgebraicGeometry.Scheme) (r : ↑(X.presheaf.obj (Opposite.op ⊤)))
Goal: (TopologicalSpace.Opens.map (AlgebraicGeometry.ΓSpec.adjunction.unit.app X).val.base).obj (PrimeSpectrum.basicOpen r) =
  X.basicOpen r
-- AlgebraicGeometry.ΓSpec.toOpen_unit_app_val_c_app
theorem toOpen_unit_app_val_c_app {X : Scheme.{u}} (U) :
    StructureSheaf.toOpen _ _ ≫ (ΓSpec.adjunction.unit.app X).val.c.app U =
      X.presheaf.map (homOfLE (by exact le_top)).op 
Arguments: {X : AlgebraicGeometry.Scheme} (U :
  (TopologicalSpace.Opens
      ↑↑((AlgebraicGeometry.Scheme.Γ.rightOp.comp AlgebraicGeometry.Scheme.Spec).obj X).toPresheafedSpace)ᵒᵖ)
Goal: CategoryTheory.CategoryStruct.comp
    (AlgebraicGeometry.StructureSheaf.toOpen (↑(Opposite.unop (AlgebraicGeometry.Scheme.Γ.rightOp.obj X)))
      (Opposite.unop U))
    ((AlgebraicGeometry.ΓSpec.adjunction.unit.app X).val.c.app U) =
  X.presheaf.map (CategoryTheory.homOfLE ⋯).op
-- AlgebraicGeometry.ΓSpec.toOpen_unit_app_val_c_app'
@[reassoc (attr := simp)]
theorem toOpen_unit_app_val_c_app' {X : Scheme.{u}} (U : Opens (PrimeSpectrum Γ(X, ⊤))) :
    toOpen Γ(X, ⊤) U ≫ (adjunction.unit.app X).app U =
      X.presheaf.map (homOfLE (by exact le_top)).op 
Arguments: {X : AlgebraicGeometry.Scheme} (U : TopologicalSpace.Opens (PrimeSpectrum ↑(X.presheaf.obj (Opposite.op ⊤))))
Goal: CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.StructureSheaf.toOpen (↑(X.presheaf.obj (Opposite.op ⊤))) U)
    (AlgebraicGeometry.Scheme.Hom.app (AlgebraicGeometry.ΓSpec.adjunction.unit.app X) U) =
  X.presheaf.map (CategoryTheory.homOfLE ⋯).op
-- AlgebraicGeometry.ΓSpecIso_obj_hom
theorem ΓSpecIso_obj_hom {X : Scheme.{u}} (U : X.Opens) :
    (Scheme.ΓSpecIso Γ(X, U)).hom = (Spec.map U.topIso.inv).app ⊤ ≫
      (ΓSpec.adjunction.unit.app U).app ⊤ ≫ U.topIso.hom 
Arguments: {X : AlgebraicGeometry.Scheme} (U : X.Opens)
Goal: (AlgebraicGeometry.Scheme.ΓSpecIso (X.presheaf.obj (Opposite.op U))).hom =
  CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Scheme.Hom.app (AlgebraicGeometry.Spec.map U.topIso.inv) ⊤)
    (CategoryTheory.CategoryStruct.comp
      (AlgebraicGeometry.Scheme.Hom.app (AlgebraicGeometry.ΓSpec.adjunction.unit.app ↑U) ⊤) U.topIso.hom)
-- AlgebraicGeometry.Spec.map_inj
lemma Spec.map_inj : Spec.map φ = Spec.map ψ ↔ φ = ψ 
Arguments: {R S : CommRingCat} {φ ψ : R ⟶ S}
Goal: AlgebraicGeometry.Spec.map φ = AlgebraicGeometry.Spec.map ψ ↔ φ = ψ
-- AlgebraicGeometry.Spec.map_injective
lemma Spec.map_injective {R S : CommRingCat} : Function.Injective (Spec.map : (R ⟶ S) → _) 
Arguments: {R S : CommRingCat}
Goal: Function.Injective AlgebraicGeometry.Spec.map
-- AlgebraicGeometry.Spec.map_preimage
@[simp] lemma Spec.map_preimage : Spec.map (Spec.preimage f) = f 
Arguments: {R S : CommRingCat} (f : AlgebraicGeometry.Spec S ⟶ AlgebraicGeometry.Spec R)
Goal: AlgebraicGeometry.Spec.map (AlgebraicGeometry.Spec.preimage f) = f
-- AlgebraicGeometry.Spec.preimage_map
@[simp] lemma Spec.preimage_map : Spec.preimage (Spec.map φ) = φ 
Arguments: {R S : CommRingCat} (φ : R ⟶ S)
Goal: AlgebraicGeometry.Spec.preimage (AlgebraicGeometry.Spec.map φ) = φ
-- AlgebraicGeometry.Spec.homEquiv_symm_apply
@[simps]
def Spec.homEquiv {R S : CommRingCat} : (Spec S ⟶ Spec R) ≃ (R ⟶ S) 
Arguments: {R S : CommRingCat} (f : R ⟶ S)
Goal: AlgebraicGeometry.Spec.homEquiv.symm f = AlgebraicGeometry.Spec.map f
-- AlgebraicGeometry.Spec.homEquiv_apply
@[simps]
def Spec.homEquiv {R S : CommRingCat} : (Spec S ⟶ Spec R) ≃ (R ⟶ S) 
Arguments: {R S : CommRingCat} (f : AlgebraicGeometry.Spec S ⟶ AlgebraicGeometry.Spec R)
Goal: AlgebraicGeometry.Spec.homEquiv f = AlgebraicGeometry.Spec.preimage f
-- Int.Ico_filter_dvd_eq
lemma Ico_filter_dvd_eq : (Ico a b).filter (r ∣ ·) =
    (Ico ⌈a / (r : ℚ)⌉ ⌈b / (r : ℚ)⌉).map ⟨(· * r), mul_left_injective₀ hr.ne'⟩ 
Arguments: (a b : ℤ) {r : ℤ} (hr : 0 < r)
Goal: Finset.filter (fun x => r ∣ x) (Finset.Ico a b) =
  Finset.map { toFun := fun x => x * r, inj' := ⋯ } (Finset.Ico ⌈↑a / ↑r⌉ ⌈↑b / ↑r⌉)