awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (goal)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
⊢ Nonempty.{u + 1} ↥c.pt
have inr : ∀ (i : I), Nonempty.{u + 1} ↥c.pt
Tactic: have i := Nonempty.some ‹Nonempty I›
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (hypothesis)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
⊢ Nonempty.{u + 1} ↥c.pt
have this : IsCofiltered I
Tactic: have : IsCofiltered I := ⟨⟩
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (hypothesis)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
⊢ Nonempty.{u + 1} ↥c.pt
have this₁ : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
Tactic: have (i' : _) : IsAffine (𝒰.X i') := inferInstanceAs (IsAffine (Spec _))
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (goal)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
⊢ ∃ (j : 𝒰.I₀), ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
have by_contra! : ∀
  (H :
    ∀ (j : 𝒰.I₀), ∃ (i' : I) (f : i' ⟶ i), IsEmpty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)),
  False
Tactic: by_contra! H
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (goal)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
H : ∀ (j : 𝒰.I₀), ∃ (i' : I) (f : i' ⟶ i), IsEmpty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
⊢ False
have choose : ∀ (i' : (j : 𝒰.I₀) → I) (f : (j : 𝒰.I₀) → i' j ⟶ i)
  (hf : ∀ (j : 𝒰.I₀), IsEmpty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map (f j)) 𝒰).X j)), False
Tactic: choose i' f hf using H
Cleared hypotheses: H
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (hypothesis)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
i' : (j : 𝒰.I₀) → I
f : (j : 𝒰.I₀) → i' j ⟶ i
hf : ∀ (j : 𝒰.I₀), IsEmpty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map (f j)) 𝒰).X j)
g : (j : I) →
  (m : j ∈ insert i (Finset.image i' Finset.univ)) →
    IsCofiltered.inf (insert i (Finset.image i' Finset.univ))
        (Finset.image
          (fun (j : 𝒰.I₀) ↦
            PSigma.mk (β := fun (X : I) ↦
              (Y : I) ×'
                (_ : X ∈ insert i (Finset.image i' Finset.univ)) ×'
                  (_ : Y ∈ insert i (Finset.image i' Finset.univ)) ×' (X ⟶ Y))
              (i' j)
              (PSigma.mk (β := fun (Y : I) ↦
                (_ : i' j ∈ insert i (Finset.image i' Finset.univ)) ×'
                  (_ : Y ∈ insert i (Finset.image i' Finset.univ)) ×' (i' j ⟶ Y))
                i
                (PSigma.mk (β := fun (x : i' j ∈ insert i (Finset.image i' Finset.univ)) ↦
                  (_ : i ∈ insert i (Finset.image i' Finset.univ)) ×' (i' j ⟶ i)) ⋯
                  (PSigma.mk (β := fun (x : i ∈ insert i (Finset.image i' Finset.univ)) ↦ i' j ⟶ i) ⋯ (f j)))))
          Finset.univ) ⟶
      j :=
  fun (j : I) ↦
    IsCofiltered.infTo (insert i (Finset.image i' Finset.univ))
      (Finset.image
        (fun (j : 𝒰.I₀) ↦
          PSigma.mk (β := fun (X : I) ↦
            (Y : I) ×'
              (_ : X ∈ insert i (Finset.image i' Finset.univ)) ×'
                (_ : Y ∈ insert i (Finset.image i' Finset.univ)) ×' (X ⟶ Y))
            (i' j)
            (PSigma.mk (β := fun (Y : I) ↦
              (_ : i' j ∈ insert i (Finset.image i' Finset.univ)) ×'
                (_ : Y ∈ insert i (Finset.image i' Finset.univ)) ×' (i' j ⟶ Y))
              i
              (PSigma.mk (β := fun (x : i' j ∈ insert i (Finset.image i' Finset.univ)) ↦
                (_ : i ∈ insert i (Finset.image i' Finset.univ)) ×' (i' j ⟶ i)) ⋯
                (PSigma.mk (β := fun (x : i ∈ insert i (Finset.image i' Finset.univ)) ↦ i' j ⟶ i) ⋯ (f j)))))
        Finset.univ)
⊢ False
have this₁ : ∀ (j : 𝒰.I₀), IsEmpty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map (g i sorry)) 𝒰).X j)
Tactic: have (j : 𝒰.I₀) : IsEmpty ((𝒰.pullback₁ (D.map (g i (by simp)))).X j) := by
        let F : (𝒰.pullback₁ (D.map (g i (by simp)))).X j ⟶
            (𝒰.pullback₁ (D.map (f j))).X j :=
          pullback.map _ _ _ _ (D.map (g _ (by simp))) (𝟙 _) (𝟙 _) (by
            rw [← D.map_comp, IsCofiltered.infTo_commutes]
            · simp [g]
            · simp
            · exact Finset.mem_image_of_mem _ (Finset.mem_univ _)) (by simp)
        exact Function.isEmpty F
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (goal)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this_2 : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
i' : (j : 𝒰.I₀) → I
f : (j : 𝒰.I₀) → i' j ⟶ i
hf : ∀ (j : 𝒰.I₀), IsEmpty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map (f j)) 𝒰).X j)
g : (j : I) →
  (m : j ∈ insert i (Finset.image i' Finset.univ)) →
    IsCofiltered.inf (insert i (Finset.image i' Finset.univ))
        (Finset.image
          (fun (j : 𝒰.I₀) ↦
            PSigma.mk (β := fun (X : I) ↦
              (Y : I) ×'
                (_ : X ∈ insert i (Finset.image i' Finset.univ)) ×'
                  (_ : Y ∈ insert i (Finset.image i' Finset.univ)) ×' (X ⟶ Y))
              (i' j)
              (PSigma.mk (β := fun (Y : I) ↦
                (_ : i' j ∈ insert i (Finset.image i' Finset.univ)) ×'
                  (_ : Y ∈ insert i (Finset.image i' Finset.univ)) ×' (i' j ⟶ Y))
                i
                (PSigma.mk (β := fun (x : i' j ∈ insert i (Finset.image i' Finset.univ)) ↦
                  (_ : i ∈ insert i (Finset.image i' Finset.univ)) ×' (i' j ⟶ i)) ⋯
                  (PSigma.mk (β := fun (x : i ∈ insert i (Finset.image i' Finset.univ)) ↦ i' j ⟶ i) ⋯ (f j)))))
          Finset.univ) ⟶
      j :=
  fun (j : I) ↦
    IsCofiltered.infTo (insert i (Finset.image i' Finset.univ))
      (Finset.image
        (fun (j : 𝒰.I₀) ↦
          PSigma.mk (β := fun (X : I) ↦
            (Y : I) ×'
              (_ : X ∈ insert i (Finset.image i' Finset.univ)) ×'
                (_ : Y ∈ insert i (Finset.image i' Finset.univ)) ×' (X ⟶ Y))
            (i' j)
            (PSigma.mk (β := fun (Y : I) ↦
              (_ : i' j ∈ insert i (Finset.image i' Finset.univ)) ×'
                (_ : Y ∈ insert i (Finset.image i' Finset.univ)) ×' (i' j ⟶ Y))
              i
              (PSigma.mk (β := fun (x : i' j ∈ insert i (Finset.image i' Finset.univ)) ↦
                (_ : i ∈ insert i (Finset.image i' Finset.univ)) ×' (i' j ⟶ i)) ⋯
                (PSigma.mk (β := fun (x : i ∈ insert i (Finset.image i' Finset.univ)) ↦ i' j ⟶ i) ⋯ (f j)))))
        Finset.univ)
this : ∀ (j : 𝒰.I₀), IsEmpty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map (g i ⋯)) 𝒰).X j)
⊢ False
have obtain : ∀
  (x :
    ↥((Precoverage.ZeroHypercover.pullback₁ (D.map (g i sorry)) 𝒰).X
        (Cover.idx (Precoverage.ZeroHypercover.pullback₁ (D.map (g i sorry)) 𝒰) (Nonempty.some sorry)))),
  False
Tactic: obtain ⟨x, -⟩ :=
        Cover.covers (𝒰.pullback₁ (D.map (g i (by simp)))) (Nonempty.some inferInstance)
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (goal)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
⊢ Nonempty.{u + 1} ↥c.pt
have inr : ∀ (j : 𝒰.I₀) (H : ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)),
  Nonempty.{u + 1} ↥c.pt
Tactic: obtain ⟨j, H⟩ :
        ∃ j : 𝒰.I₀, ∀ {i'} (f : i' ⟶ i), Nonempty ((𝒰.pullback₁ (D.map f)).X j) := by
      by_contra! H
      choose i' f hf using H
      let g (j) := IsCofiltered.infTo (insert i (Finset.univ.image i'))
        (Finset.univ.image fun j : 𝒰.I₀ ↦ ⟨_, _, by simp, by simp, f j⟩) (X := j)
      have (j : 𝒰.I₀) : IsEmpty ((𝒰.pullback₁ (D.map (g i (by simp)))).X j) := by
        let F : (𝒰.pullback₁ (D.map (g i (by simp)))).X j ⟶
            (𝒰.pullback₁ (D.map (f j))).X j :=
          pullback.map _ _ _ _ (D.map (g _ (by simp))) (𝟙 _) (𝟙 _) (by
            rw [← D.map_comp, IsCofiltered.infTo_commutes]
            · simp [g]
            · simp
            · exact Finset.mem_image_of_mem _ (Finset.mem_univ _)) (by simp)
        exact Function.isEmpty F
      obtain ⟨x, -⟩ :=
        Cover.covers (𝒰.pullback₁ (D.map (g i (by simp)))) (Nonempty.some inferInstance)
      exact (this _).elim x
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (hypothesis)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
j : 𝒰.I₀
H : ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
F : Over i ⥤ Scheme := Over.post D ⋙ Over.pullback (𝒰.f j) ⋙ Over.forget (𝒰.X j)
⊢ Nonempty.{u + 1} ↥c.pt
have this₁ : ∀ (i' : Over i), IsAffine.{u} (F.obj i')
Tactic: have (i' : _) : IsAffine (F.obj i') :=
      have : IsAffineHom (pullback.snd (D.map i'.hom) (𝒰.f j)) :=
        MorphismProperty.pullback_snd _ _ inferInstance
      isAffine_of_isAffineHom (pullback.snd (D.map i'.hom) (𝒰.f j))
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (hypothesis)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this_2 : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
j : 𝒰.I₀
H : ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
F : Over i ⥤ Scheme := Over.post D ⋙ Over.pullback (𝒰.f j) ⋙ Over.forget (𝒰.X j)
this : ∀ (i' : Over i), IsAffine.{u} (F.obj i')
⊢ Nonempty.{u + 1} ↥c.pt
have this₁ : ∀ (i' : Over i), Nonempty.{u + 1} ↥(F.obj i')
Tactic: have (i' : _) : Nonempty (F.obj i') := H i'.hom
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (hypothesis)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this_2 : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
j : 𝒰.I₀
H : ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
F : Over i ⥤ Scheme := Over.post D ⋙ Over.pullback (𝒰.f j) ⋙ Over.forget (𝒰.X j)
this_3 : ∀ (i' : Over i), IsAffine.{u} (F.obj i')
this : ∀ (i' : Over i), Nonempty.{u + 1} ↥(F.obj i')
e : F ⟶ (F ⋙ Γ.rightOp) ⋙ Scheme.Spec := F.whiskerLeft ΓSpec.adjunction.unit
⊢ Nonempty.{u + 1} ↥c.pt
have this₁ : ∀ (i_1 : Over i), IsIso (e.app i_1)
Tactic: have (i : _) : IsIso (e.app i) := IsAffine.affine
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (hypothesis)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this_2 : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
j : 𝒰.I₀
H : ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
F : Over i ⥤ Scheme := Over.post D ⋙ Over.pullback (𝒰.f j) ⋙ Over.forget (𝒰.X j)
this_3 : ∀ (i' : Over i), IsAffine.{u} (F.obj i')
this_4 : ∀ (i' : Over i), Nonempty.{u + 1} ↥(F.obj i')
e : F ⟶ (F ⋙ Γ.rightOp) ⋙ Scheme.Spec := F.whiskerLeft ΓSpec.adjunction.unit
this : ∀ (i_1 : Over i), IsIso (e.app i_1)
⊢ Nonempty.{u + 1} ↥c.pt
have this₁ : IsIso e
Tactic: have : IsIso e := NatIso.isIso_of_isIso_app e
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (goal)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this_2 : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
j : 𝒰.I₀
H : ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
F : Over i ⥤ Scheme := Over.post D ⋙ Over.pullback (𝒰.f j) ⋙ Over.forget (𝒰.X j)
this_3 : ∀ (i' : Over i), IsAffine.{u} (F.obj i')
this_4 : ∀ (i' : Over i), Nonempty.{u + 1} ↥(F.obj i')
e : F ⟶ (F ⋙ Γ.rightOp) ⋙ Scheme.Spec := F.whiskerLeft ΓSpec.adjunction.unit
this_5 : ∀ (i_1 : Over i), IsIso (e.app i_1)
this : IsIso e
c' : LimitCone F :=
  { cone := (Cone.postcompose (asIso e).inv).obj (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp))),
    isLimit :=
      (Equiv.symm (IsLimit.postcomposeInvEquiv (asIso e) (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))) :
          (a : IsLimit (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))) →
            IsLimit ((Cone.postcompose (asIso e).inv).obj (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))))
        (isLimitOfPreserves Scheme.Spec (limit.isLimit (F ⋙ Γ.rightOp))) }
⊢ Nonempty.{u + 1} ↥c'.cone.pt
have inst : Nontrivial.{u} (↑(Opposite.unop (limit.cone (F ⋙ Γ.rightOp)).pt) : Type u)
Tactic: apply +allowSynthFailures PrimeSpectrum.instNonemptyOfNontrivial
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (goal)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this_2 : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
j : 𝒰.I₀
H : ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
F : Over i ⥤ Scheme := Over.post D ⋙ Over.pullback (𝒰.f j) ⋙ Over.forget (𝒰.X j)
this_3 : ∀ (i' : Over i), IsAffine.{u} (F.obj i')
this_4 : ∀ (i' : Over i), Nonempty.{u + 1} ↥(F.obj i')
e : F ⟶ (F ⋙ Γ.rightOp) ⋙ Scheme.Spec := F.whiskerLeft ΓSpec.adjunction.unit
this_5 : ∀ (i_1 : Over i), IsIso (e.app i_1)
this : IsIso e
c' : LimitCone F :=
  { cone := (Cone.postcompose (asIso e).inv).obj (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp))),
    isLimit :=
      (Equiv.symm (IsLimit.postcomposeInvEquiv (asIso e) (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))) :
          (a : IsLimit (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))) →
            IsLimit ((Cone.postcompose (asIso e).inv).obj (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))))
        (isLimitOfPreserves Scheme.Spec (limit.isLimit (F ⋙ Γ.rightOp))) }
i' : (Over i)ᵒᵖ
⊢ Nontrivial.{u} (↑((F ⋙ Γ.rightOp).leftOp.obj i') : Type u)
have inst : Nonempty.{u + 1} ↥(↑⊤ : Scheme)
Tactic: apply +allowSynthFailures Scheme.component_nontrivial
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (hypothesis)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this_2 : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
j : 𝒰.I₀
H : ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
F : Over i ⥤ Scheme := Over.post D ⋙ Over.pullback (𝒰.f j) ⋙ Over.forget (𝒰.X j)
this_3 : ∀ (i' : Over i), IsAffine.{u} (F.obj i')
this_4 : ∀ (i' : Over i), Nonempty.{u + 1} ↥(F.obj i')
e : F ⟶ (F ⋙ Γ.rightOp) ⋙ Scheme.Spec := F.whiskerLeft ΓSpec.adjunction.unit
this_5 : ∀ (i_1 : Over i), IsIso (e.app i_1)
this : IsIso e
c' : LimitCone F :=
  { cone := (Cone.postcompose (asIso e).inv).obj (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp))),
    isLimit :=
      (Equiv.symm (IsLimit.postcomposeInvEquiv (asIso e) (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))) :
          (a : IsLimit (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))) →
            IsLimit ((Cone.postcompose (asIso e).inv).obj (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))))
        (isLimitOfPreserves Scheme.Spec (limit.isLimit (F ⋙ Γ.rightOp))) }
⊢ Nontrivial.{u} (↑(Opposite.unop (limit.cone (F ⋙ Γ.rightOp)).pt) : Type u)
have this₁ : ∀ (i' : (Over i)ᵒᵖ), Nontrivial.{u} (↑((F ⋙ Γ.rightOp).leftOp.obj i') : Type u)
Tactic: have (i' : _) : Nontrivial ((F ⋙ Scheme.Γ.rightOp).leftOp.obj i') := by
        apply +allowSynthFailures Scheme.component_nontrivial
        simp
-- Lean 4 proof step from Mathlib.AlgebraicGeometry.AffineTransitionLimit (hypothesis)
Goal:
I : Type u
inst : Category.{u, u} I
D : I ⥤ Scheme
c : Cone D
hc : IsLimit c
inst_1 : IsCofilteredOrEmpty I
inst_2 : ∀ {i j : I} (f : i ⟶ j), IsAffineHom (D.map f)
inst_3 : ∀ (i : I), Nonempty.{u + 1} ↥(D.obj i)
inst_4 : ∀ (i : I), CompactSpace.{u} ↥(D.obj i)
h : Nonempty I
i : I
this_1 : IsCofiltered I
𝒰 : (D.obj i).OpenCover := OpenCover.finiteSubcover (D.obj i).affineCover
this_2 : ∀ (i' : 𝒰.I₀), IsAffine.{u} (𝒰.X i')
j : 𝒰.I₀
H : ∀ {i' : I} (f : i' ⟶ i), Nonempty.{u + 1} ↥((Precoverage.ZeroHypercover.pullback₁ (D.map f) 𝒰).X j)
F : Over i ⥤ Scheme := Over.post D ⋙ Over.pullback (𝒰.f j) ⋙ Over.forget (𝒰.X j)
this_3 : ∀ (i' : Over i), IsAffine.{u} (F.obj i')
this_4 : ∀ (i' : Over i), Nonempty.{u + 1} ↥(F.obj i')
e : F ⟶ (F ⋙ Γ.rightOp) ⋙ Scheme.Spec := F.whiskerLeft ΓSpec.adjunction.unit
this_5 : ∀ (i_1 : Over i), IsIso (e.app i_1)
this : IsIso e
c' : LimitCone F :=
  { cone := (Cone.postcompose (asIso e).inv).obj (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp))),
    isLimit :=
      (Equiv.symm (IsLimit.postcomposeInvEquiv (asIso e) (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))) :
          (a : IsLimit (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))) →
            IsLimit ((Cone.postcompose (asIso e).inv).obj (Scheme.Spec.mapCone (limit.cone (F ⋙ Γ.rightOp)))))
        (isLimitOfPreserves Scheme.Spec (limit.isLimit (F ⋙ Γ.rightOp))) }
⊢ Nonempty.{u + 1} ↥c.pt
have this₁ : Nonempty.{u + 1} ↥c'.cone.pt
Tactic: have : Nonempty c'.1.pt := by
      apply +allowSynthFailures PrimeSpectrum.instNonemptyOfNontrivial
      have (i' : _) : Nontrivial ((F ⋙ Scheme.Γ.rightOp).leftOp.obj i') := by
        apply +allowSynthFailures Scheme.component_nontrivial
        simp
      exact CommRingCat.FilteredColimits.nontrivial
        (isColimitCoconeLeftOpOfCone _ (limit.isLimit (F ⋙ Scheme.Γ.rightOp)))