Theorem: AlgebraicGeometry.QuasiCompact.affineProperty_stableUnderBaseChange
File: Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean

tactic: intro X Y S _ _ f g h
state_before: X Y : Scheme
f : X ⟶ Y
⊢ affineProperty.StableUnderBaseChange
state_after: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : affineProperty g
⊢ affineProperty pullback.fst

tactic: rw [QuasiCompact.affineProperty] at h ⊢
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : affineProperty g
⊢ affineProperty pullback.fst
state_after: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
⊢ CompactSpace ↑↑(pullback f g).toPresheafedSpace

tactic: let 𝒰 := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
⊢ CompactSpace ↑↑(pullback f g).toPresheafedSpace
state_after: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
⊢ CompactSpace ↑↑(pullback f g).toPresheafedSpace

tactic: have : Finite 𝒰.J := by dsimp [𝒰]; infer_instance
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
⊢ CompactSpace ↑↑(pullback f g).toPresheafedSpace
state_after: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
this : Finite 𝒰.J
⊢ CompactSpace ↑↑(pullback f g).toPresheafedSpace

tactic: have : ∀ i, CompactSpace (𝒰.obj i) := by intro i; dsimp [𝒰]; infer_instance
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
this : Finite 𝒰.J
⊢ CompactSpace ↑↑(pullback f g).toPresheafedSpace
state_after: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
this✝ : Finite 𝒰.J
this : ∀ (i : 𝒰.J), CompactSpace ↑↑(𝒰.obj i).toPresheafedSpace
⊢ CompactSpace ↑↑(pullback f g).toPresheafedSpace

tactic: exact 𝒰.compactSpace
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
this✝ : Finite 𝒰.J
this : ∀ (i : 𝒰.J), CompactSpace ↑↑(𝒰.obj i).toPresheafedSpace
⊢ CompactSpace ↑↑(pullback f g).toPresheafedSpace
state_after: no goals

tactic: dsimp [𝒰]
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
⊢ Finite 𝒰.J
state_after: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
⊢ Finite Y.affineCover.finiteSubcover.J

tactic: infer_instance
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
⊢ Finite Y.affineCover.finiteSubcover.J
state_after: no goals

tactic: intro i
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
this : Finite 𝒰.J
⊢ ∀ (i : 𝒰.J), CompactSpace ↑↑(𝒰.obj i).toPresheafedSpace
state_after: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
this : Finite 𝒰.J
i : 𝒰.J
⊢ CompactSpace ↑↑(𝒰.obj i).toPresheafedSpace

tactic: dsimp [𝒰]
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
this : Finite 𝒰.J
i : 𝒰.J
⊢ CompactSpace ↑↑(𝒰.obj i).toPresheafedSpace
state_after: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
this : Finite 𝒰.J
i : 𝒰.J
⊢ CompactSpace ↑↑(pullback f (Y.affineCover.map (Y.affineCover.f ↑i) ≫ g)).toPresheafedSpace

tactic: infer_instance
state_before: X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
X Y S : Scheme
inst✝¹ : IsAffine S
inst✝ : IsAffine X
f : X ⟶ S
g : Y ⟶ S
h : CompactSpace ↑↑Y.toPresheafedSpace
𝒰 : (pullback f g).OpenCover := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
this : Finite 𝒰.J
i : 𝒰.J
⊢ CompactSpace ↑↑(pullback f (Y.affineCover.map (Y.affineCover.f ↑i) ≫ g)).toPresheafedSpace
state_after: no goals