Theorems / mh_cate_a78895
Mathlib held-out
Category theory · easy
theorem lg_target {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.EssentiallySmall.{w, v, u} C] : CategoryTheory.HasSubobjectClassifier (CategoryTheory.Functor Cᵒᵖ (Type w)) := by- Mathlib declaration
- CategoryTheory.instHasSubobjectClassifierFunctorOppositeTypeOfEssentiallySmall
- Held-out module
- Mathlib.CategoryTheory.Topos.Sheaf
- Banned modules (itself + downstream)
- 1
- Reference proof premises (reachable / held-out)
- 0 / 0
Traces
Each configuration's full record: what was retrieved, what the model wrote, what Lean said back.
Not verified1 model calls · 1 Lean checks · $0.00006
Attempts
- sample 0 · round 0Lean 3 syntax3.5 s model time
Proof apply_instance obtain {subobject_classifier} := CategoryTheory.EssentiallySmall.hasSubobjectClassifier_of_essentially_small C apply (CategoryTheory.Functor.map_subobject_classifier subobject_classifier)What Lean printed (this is all the model sees on repair) 4:3: error: unknown tactic 3:193: error: unsolved goals C : Type u inst✝¹ : CategoryTheory.Category.{v, u} C inst✝ : CategoryTheory.EssentiallySmall.{w, v, u} C ⊢ CategoryTheory.HasSubobjectClassifier (CategoryTheory.Functor Cᵒᵖ (Type w))
Reference proof
Mathlib's own source for this declaration, shown for comparison. It may use lemmas the prover is not allowed to use.
/-- Presheaf categories on an essentially small domain have a subobject classifier. -/
instance [EssentiallySmall.{w} C] : HasSubobjectClassifier (Cᵒᵖ ⥤ Type w) where
exists_classifier := ⟨(Presheaf.classifier (SmallModel C)).ofEquivalence
(Equivalence.congrLeft (E := Type w) (equivSmallModel C).op).symm⟩