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

Proof steps:
state_before: X Y : Scheme
f : X ⟶ Y
⊢ MorphismProperty.StableUnderBaseChange @QuasiCompact
state_after: X Y : Scheme
f : X ⟶ Y
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
⊢ MorphismProperty.StableUnderBaseChange @QuasiCompact
tactic: letI := HasAffineProperty.isLocal_affineProperty @QuasiCompact
state_before: X Y : Scheme
f : X ⟶ Y
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
⊢ MorphismProperty.StableUnderBaseChange @QuasiCompact
state_after: case hP'
X Y : Scheme
f : X ⟶ Y
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
⊢ AffineTargetMorphismProperty.StableUnderBaseChange fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace
tactic: apply HasAffineProperty.stableUnderBaseChange
state_before: case hP'
X Y : Scheme
f : X ⟶ Y
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
⊢ AffineTargetMorphismProperty.StableUnderBaseChange fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace
state_after: case hP'.H
X Y : Scheme
f : X ⟶ Y
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
⊢ ∀ ⦃X Y S : Scheme⦄ [inst : IsAffine S] [inst : IsAffine X] (f : X ⟶ S) (g : Y ⟶ S),
    CompactSpace ↑↑Y.toPresheafedSpace → CompactSpace ↑↑(pullback f g).toPresheafedSpace
tactic: apply AffineTargetMorphismProperty.StableUnderBaseChange.mk
state_before: case hP'.H
X Y : Scheme
f : X ⟶ Y
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
⊢ ∀ ⦃X Y S : Scheme⦄ [inst : IsAffine S] [inst : IsAffine X] (f : X ⟶ S) (g : Y ⟶ S),
    CompactSpace ↑↑Y.toPresheafedSpace → CompactSpace ↑↑(pullback f g).toPresheafedSpace
state_after: case hP'.H
X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
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: intro X Y S _ _ f g h
state_before: case hP'.H
X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
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: case hP'.H
X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
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: let 𝒰 := Scheme.Pullback.openCoverOfRight Y.affineCover.finiteSubcover f g
state_before: case hP'.H
X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
this : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
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: case hP'.H
X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
this✝ : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
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 : Finite 𝒰.J := by dsimp [𝒰]; infer_instance
state_before: case hP'.H
X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
this✝ : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
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: case hP'.H
X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
this✝¹ : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
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: have : ∀ i, CompactSpace (𝒰.obj i) := by intro i; dsimp [𝒰]; infer_instance
state_before: case hP'.H
X✝ Y✝ : Scheme
f✝ : X✝ ⟶ Y✝
this✝¹ : AffineTargetMorphismProperty.IsLocal fun X x x_1 x => CompactSpace ↑↑X.toPresheafedSpace :=
  HasAffineProperty.isLocal_affineProperty @QuasiCompact
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: exact 𝒰.compactSpace