Theorem: AlgebraicGeometry.IsAffineOpen.primeIdealOf_genericPoint
File: Mathlib/AlgebraicGeometry/FunctionField.lean

Proof steps:
state_before: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
⊢ (⊤ ∩ ↑U).Nonempty
state_after: no goals
tactic: simpa using h
state_before: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
⊢ hU.primeIdealOf ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(Spec Γ(X, U)).toPresheafedSpace
state_after: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
this : IsAffine ↑U
⊢ hU.primeIdealOf ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(Spec Γ(X, U)).toPresheafedSpace
tactic: haveI : IsAffine _ := hU
state_before: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
this : IsAffine ↑U
⊢ hU.primeIdealOf ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(Spec Γ(X, U)).toPresheafedSpace
state_after: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
this : IsAffine ↑U
⊢ ((↑U).isoSpec.hom ≫ Spec.map (X.presheaf.map (eqToHom ⋯).op)).val.base ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ =
    genericPoint ↑↑(Spec Γ(X, U)).toPresheafedSpace
tactic: delta IsAffineOpen.primeIdealOf
state_before: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
this : IsAffine ↑U
⊢ ((↑U).isoSpec.hom ≫ Spec.map (X.presheaf.map (eqToHom ⋯).op)).val.base ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ =
    genericPoint ↑↑(Spec Γ(X, U)).toPresheafedSpace
state_after: case h.e'_2.h.h.e'_6
X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
this : IsAffine ↑U
e_1✝ : PrimeSpectrum ↑Γ(X, U) = ↑↑(Spec (X.presheaf.obj (op U))).toPresheafedSpace
⊢ ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(↑U).toPresheafedSpace
tactic: convert
    genericPoint_eq_of_isOpenImmersion
      (U.toScheme.isoSpec.hom ≫ Spec.map (X.presheaf.map (eqToHom U.openEmbedding_obj_top).op))
state_before: case h.e'_2.h.h.e'_6
X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
this : IsAffine ↑U
e_1✝ : PrimeSpectrum ↑Γ(X, U) = ↑↑(Spec (X.presheaf.obj (op U))).toPresheafedSpace
⊢ ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(↑U).toPresheafedSpace
state_after: case h.e'_2.h.h.e'_6.a
X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
this : IsAffine ↑U
e_1✝ : PrimeSpectrum ↑Γ(X, U) = ↑↑(Spec (X.presheaf.obj (op U))).toPresheafedSpace
⊢ ↑⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = ↑(genericPoint ↑↑(↑U).toPresheafedSpace)
tactic: apply Subtype.ext
state_before: case h.e'_2.h.h.e'_6.a
X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : X.Opens
hU : IsAffineOpen U
h : Nonempty ↑↑(↑U).toPresheafedSpace
this : IsAffine ↑U
e_1✝ : PrimeSpectrum ↑Γ(X, U) = ↑↑(Spec (X.presheaf.obj (op U))).toPresheafedSpace
⊢ ↑⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = ↑(genericPoint ↑↑(↑U).toPresheafedSpace)
state_after: no goals
tactic: exact (genericPoint_eq_of_isOpenImmersion U.ι).symm