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

tactic: simpa using h
state_before: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
⊢ (⊤ ∩ ↑U).Nonempty
state_after: no goals

tactic: haveI : IsAffine _ := hU
state_before: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
⊢ hU.primeIdealOf ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(Spec Γ(X, U)).toPresheafedSpace
state_after: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
this : IsAffine (X.restrict ⋯)
⊢ hU.primeIdealOf ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(Spec Γ(X, U)).toPresheafedSpace

tactic: delta IsAffineOpen.primeIdealOf
state_before: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
this : IsAffine (X.restrict ⋯)
⊢ hU.primeIdealOf ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(Spec Γ(X, U)).toPresheafedSpace
state_after: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
this : IsAffine (X.restrict ⋯)
⊢ ((X.restrict ⋯).isoSpec.hom ≫ Spec.map (X.presheaf.map (eqToHom ⋯).op)).val.base
      ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ =
    genericPoint ↑↑(Spec Γ(X, U)).toPresheafedSpace

tactic: convert
  genericPoint_eq_of_isOpenImmersion
    ((X ∣_ᵤ U).isoSpec.hom ≫ Spec.map (X.presheaf.map (eqToHom U.openEmbedding_obj_top).op))
state_before: X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
this : IsAffine (X.restrict ⋯)
⊢ ((X.restrict ⋯).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 : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
this : IsAffine (X.restrict ⋯)
e_1✝ : PrimeSpectrum ↑Γ(X, U) = ↑↑(Spec Γ(X, U)).toPresheafedSpace
⊢ ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(X ∣_ᵤ U).toPresheafedSpace

tactic: apply Subtype.ext
state_before: case h.e'_2.h.h.e'_6
X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
this : IsAffine (X.restrict ⋯)
e_1✝ : PrimeSpectrum ↑Γ(X, U) = ↑↑(Spec Γ(X, U)).toPresheafedSpace
⊢ ⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = genericPoint ↑↑(X ∣_ᵤ U).toPresheafedSpace
state_after: case h.e'_2.h.h.e'_6.a
X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
this : IsAffine (X.restrict ⋯)
e_1✝ : PrimeSpectrum ↑Γ(X, U) = ↑↑(Spec Γ(X, U)).toPresheafedSpace
⊢ ↑⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = ↑(genericPoint ↑↑(X ∣_ᵤ U).toPresheafedSpace)

tactic: exact (genericPoint_eq_of_isOpenImmersion (Scheme.ιOpens U)).symm
state_before: case h.e'_2.h.h.e'_6.a
X✝ : Scheme
X : Scheme
inst✝ : IsIntegral X
U : Opens ↑↑X.toPresheafedSpace
hU : IsAffineOpen U
h : Nonempty ↥U
this : IsAffine (X.restrict ⋯)
e_1✝ : PrimeSpectrum ↑Γ(X, U) = ↑↑(Spec Γ(X, U)).toPresheafedSpace
⊢ ↑⟨genericPoint ↑↑X.toPresheafedSpace, ⋯⟩ = ↑(genericPoint ↑↑(X ∣_ᵤ U).toPresheafedSpace)
state_after: no goals