ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.coherentTopology.eq_induced
lemma eq_induced : haveI := F.reflects_precoherent
    coherentTopology C =
      F.inducedTopology (coherentTopology _) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (F : CategoryTheory.Functor C D) [F.PreservesFiniteEffectiveEpiFamilies] [F.ReflectsFiniteEffectiveEpiFamilies] [F.Full] [F.Faithful] [F.EffectivelyEnough] [CategoryTheory.Precoherent D]
Goal: CategoryTheory.coherentTopology C = F.inducedTopology (CategoryTheory.coherentTopology D)
-- CategoryTheory.coherentTopology.coverPreserving
lemma coverPreserving : haveI := F.reflects_precoherent
    CoverPreserving (coherentTopology _) (coherentTopology _) F 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (F : CategoryTheory.Functor C D) [F.PreservesFiniteEffectiveEpiFamilies] [F.ReflectsFiniteEffectiveEpiFamilies] [F.Full] [F.Faithful] [F.EffectivelyEnough] [CategoryTheory.Precoherent D]
Goal: CategoryTheory.CoverPreserving (CategoryTheory.coherentTopology C) (CategoryTheory.coherentTopology D) F
-- CategoryTheory.regularTopology.exists_effectiveEpi_iff_mem_induced
theorem exists_effectiveEpi_iff_mem_induced (X : C) (S : Sieve X) :
    (∃ (Y : C) (π : Y ⟶ X),
      EffectiveEpi π ∧ S.arrows π) ↔
    (S ∈ F.inducedTopology (regularTopology _) X) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (F : CategoryTheory.Functor C D) [F.PreservesEffectiveEpis] [F.ReflectsEffectiveEpis] [F.Full] [F.Faithful] [F.EffectivelyEnough] [CategoryTheory.Preregular D] (X : C) (S : CategoryTheory.Sieve X)
Goal: (∃ Y π, CategoryTheory.EffectiveEpi π ∧ S.arrows π) ↔
  S ∈ (F.inducedTopology (CategoryTheory.regularTopology D)).sieves X
-- CategoryTheory.regularTopology.eq_induced
lemma eq_induced : haveI := F.reflects_preregular
    regularTopology C =
      F.inducedTopology (regularTopology _) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (F : CategoryTheory.Functor C D) [F.PreservesEffectiveEpis] [F.ReflectsEffectiveEpis] [F.Full] [F.Faithful] [F.EffectivelyEnough] [CategoryTheory.Preregular D]
Goal: CategoryTheory.regularTopology C = F.inducedTopology (CategoryTheory.regularTopology D)
-- CategoryTheory.regularTopology.coverPreserving
lemma coverPreserving : haveI := F.reflects_preregular
    CoverPreserving (regularTopology _) (regularTopology _) F 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (F : CategoryTheory.Functor C D) [F.PreservesEffectiveEpis] [F.ReflectsEffectiveEpis] [F.Full] [F.Faithful] [F.EffectivelyEnough] [CategoryTheory.Preregular D]
Goal: CategoryTheory.CoverPreserving (CategoryTheory.regularTopology C) (CategoryTheory.regularTopology D) F
-- CategoryTheory.Presheaf.isSheaf_coherent_iff_regular_and_extensive
theorem isSheaf_coherent_iff_regular_and_extensive [Preregular C] [FinitaryPreExtensive C] :
    IsSheaf (coherentTopology C) F ↔
    IsSheaf (extensiveTopology C) F ∧ IsSheaf (regularTopology C) F 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] (F : CategoryTheory.Functor Cᵒᵖ A) [CategoryTheory.Preregular C] [CategoryTheory.FinitaryPreExtensive C]
Goal: CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) F ↔
  CategoryTheory.Presheaf.IsSheaf (CategoryTheory.extensiveTopology C) F ∧
    CategoryTheory.Presheaf.IsSheaf (CategoryTheory.regularTopology C) F
-- CategoryTheory.Presheaf.isSheaf_iff_preservesFiniteProducts_and_equalizerCondition
theorem isSheaf_iff_preservesFiniteProducts_and_equalizerCondition
    [Preregular C] [FinitaryExtensive C]
    [h : ∀ {Y X : C} (f : Y ⟶ X) [EffectiveEpi f], HasPullback f f] :
    IsSheaf (coherentTopology C) F ↔ Nonempty (PreservesFiniteProducts F) ∧
      EqualizerCondition F 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] (F : CategoryTheory.Functor Cᵒᵖ A) [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [h : ∀ {Y X : C} (f : Y ⟶ X) [inst : CategoryTheory.EffectiveEpi f], CategoryTheory.Limits.HasPullback f f]
Goal: CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) F ↔
  Nonempty (CategoryTheory.Limits.PreservesFiniteProducts F) ∧ CategoryTheory.regularTopology.EqualizerCondition F
-- CategoryTheory.Presheaf.isSheaf_iff_preservesFiniteProducts_of_projective
theorem isSheaf_iff_preservesFiniteProducts_of_projective [Preregular C] [FinitaryExtensive C]
    [∀ (X : C), Projective X] :
    IsSheaf (coherentTopology C) F ↔ Nonempty (PreservesFiniteProducts F) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] (F : CategoryTheory.Functor Cᵒᵖ A) [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X]
Goal: CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) F ↔
  Nonempty (CategoryTheory.Limits.PreservesFiniteProducts F)
-- CategoryTheory.Presheaf.isSheaf_iff_extensiveSheaf_of_projective
theorem isSheaf_iff_extensiveSheaf_of_projective [Preregular C] [FinitaryExtensive C]
    [∀ (X : C), Projective X] :
    IsSheaf (coherentTopology C) F ↔ IsSheaf (extensiveTopology C) F 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] (F : CategoryTheory.Functor Cᵒᵖ A) [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X]
Goal: CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) F ↔
  CategoryTheory.Presheaf.IsSheaf (CategoryTheory.extensiveTopology C) F
-- CategoryTheory.Presheaf.coherentExtensiveEquivalence_functor_map_val
@[simps]
def coherentExtensiveEquivalence [Preregular C] [FinitaryExtensive C] [∀ (X : C), Projective X] :
    Sheaf (coherentTopology C) A ≌ Sheaf (extensiveTopology C) A 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X]
Goal: ∀ {X Y : CategoryTheory.Sheaf (CategoryTheory.coherentTopology C) A} (f : X ⟶ Y),
  (CategoryTheory.Presheaf.coherentExtensiveEquivalence.functor.map f).val = f.val
-- CategoryTheory.Presheaf.coherentExtensiveEquivalence_functor_obj_val
@[simps]
def coherentExtensiveEquivalence [Preregular C] [FinitaryExtensive C] [∀ (X : C), Projective X] :
    Sheaf (coherentTopology C) A ≌ Sheaf (extensiveTopology C) A 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X] (F : CategoryTheory.Sheaf (CategoryTheory.coherentTopology C) A)
Goal: (CategoryTheory.Presheaf.coherentExtensiveEquivalence.functor.obj F).val = F.val
-- CategoryTheory.Presheaf.coherentExtensiveEquivalence_inverse_map_val
@[simps]
def coherentExtensiveEquivalence [Preregular C] [FinitaryExtensive C] [∀ (X : C), Projective X] :
    Sheaf (coherentTopology C) A ≌ Sheaf (extensiveTopology C) A 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X]
Goal: ∀ {X Y : CategoryTheory.Sheaf (CategoryTheory.extensiveTopology C) A} (f : X ⟶ Y),
  (CategoryTheory.Presheaf.coherentExtensiveEquivalence.inverse.map f).val = f.val
-- CategoryTheory.Presheaf.coherentExtensiveEquivalence_counitIso
@[simps]
def coherentExtensiveEquivalence [Preregular C] [FinitaryExtensive C] [∀ (X : C), Projective X] :
    Sheaf (coherentTopology C) A ≌ Sheaf (extensiveTopology C) A 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X]
Goal: CategoryTheory.Presheaf.coherentExtensiveEquivalence.counitIso =
  CategoryTheory.Iso.refl
    ({ obj := fun F => { val := F.val, cond := ⋯ }, map := fun {X Y} f => { val := f.val }, map_id := ⋯,
          map_comp := ⋯ }.comp
      { obj := fun F => { val := F.val, cond := ⋯ }, map := fun {X Y} f => { val := f.val }, map_id := ⋯,
        map_comp := ⋯ })
-- CategoryTheory.Presheaf.coherentExtensiveEquivalence_unitIso
@[simps]
def coherentExtensiveEquivalence [Preregular C] [FinitaryExtensive C] [∀ (X : C), Projective X] :
    Sheaf (coherentTopology C) A ≌ Sheaf (extensiveTopology C) A 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X]
Goal: CategoryTheory.Presheaf.coherentExtensiveEquivalence.unitIso =
  CategoryTheory.Iso.refl (CategoryTheory.Functor.id (CategoryTheory.Sheaf (CategoryTheory.coherentTopology C) A))
-- CategoryTheory.Presheaf.coherentExtensiveEquivalence_inverse_obj_val
@[simps]
def coherentExtensiveEquivalence [Preregular C] [FinitaryExtensive C] [∀ (X : C), Projective X] :
    Sheaf (coherentTopology C) A ≌ Sheaf (extensiveTopology C) A 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X] (F : CategoryTheory.Sheaf (CategoryTheory.extensiveTopology C) A)
Goal: (CategoryTheory.Presheaf.coherentExtensiveEquivalence.inverse.obj F).val = F.val
-- CategoryTheory.Presheaf.isSheaf_coherent_of_hasPullbacks_comp
lemma isSheaf_coherent_of_hasPullbacks_comp [Preregular C] [FinitaryExtensive C]
    [h : ∀ {Y X : C} (f : Y ⟶ X) [EffectiveEpi f], HasPullback f f] [PreservesFiniteLimits s]
    (hF : IsSheaf (coherentTopology C) F) : IsSheaf (coherentTopology C) (F ⋙ s) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] (F : CategoryTheory.Functor Cᵒᵖ A) {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (s : CategoryTheory.Functor A B) [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [h : ∀ {Y X : C} (f : Y ⟶ X) [inst : CategoryTheory.EffectiveEpi f], CategoryTheory.Limits.HasPullback f f] [CategoryTheory.Limits.PreservesFiniteLimits s] (hF : CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) F)
Goal: CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) (F.comp s)
-- CategoryTheory.Presheaf.isSheaf_coherent_of_hasPullbacks_of_comp
lemma isSheaf_coherent_of_hasPullbacks_of_comp [Preregular C] [FinitaryExtensive C]
    [h : ∀ {Y X : C} (f : Y ⟶ X) [EffectiveEpi f], HasPullback f f]
    [ReflectsFiniteLimits s]
    (hF : IsSheaf (coherentTopology C) (F ⋙ s)) : IsSheaf (coherentTopology C) F 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] (F : CategoryTheory.Functor Cᵒᵖ A) {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (s : CategoryTheory.Functor A B) [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [h : ∀ {Y X : C} (f : Y ⟶ X) [inst : CategoryTheory.EffectiveEpi f], CategoryTheory.Limits.HasPullback f f] [CategoryTheory.Limits.ReflectsFiniteLimits s] (hF : CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) (F.comp s))
Goal: CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) F
-- CategoryTheory.Presheaf.isSheaf_coherent_of_projective_comp
lemma isSheaf_coherent_of_projective_comp [Preregular C] [FinitaryExtensive C]
    [∀ (X : C), Projective X] [PreservesFiniteProducts s]
    (hF : IsSheaf (coherentTopology C) F) : IsSheaf (coherentTopology C) (F ⋙ s) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] (F : CategoryTheory.Functor Cᵒᵖ A) {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (s : CategoryTheory.Functor A B) [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X] [CategoryTheory.Limits.PreservesFiniteProducts s] (hF : CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) F)
Goal: CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) (F.comp s)
-- CategoryTheory.Presheaf.isSheaf_coherent_of_projective_of_comp
lemma isSheaf_coherent_of_projective_of_comp [Preregular C] [FinitaryExtensive C]
    [∀ (X : C), Projective X]
    [ReflectsFiniteProducts s]
    (hF : IsSheaf (coherentTopology C) (F ⋙ s)) : IsSheaf (coherentTopology C) F 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] (F : CategoryTheory.Functor Cᵒᵖ A) {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (s : CategoryTheory.Functor A B) [CategoryTheory.Preregular C] [CategoryTheory.FinitaryExtensive C] [∀ (X : C), CategoryTheory.Projective X] [CategoryTheory.Limits.ReflectsFiniteProducts s] (hF : CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) (F.comp s))
Goal: CategoryTheory.Presheaf.IsSheaf (CategoryTheory.coherentTopology C) F
-- CategoryTheory.Presieve.FamilyOfElements.map_apply
@[simp]
lemma FamilyOfElements.map_apply
    (p : FamilyOfElements P R) (φ : P ⟶ Q) {Y : C} (f : Y ⟶ X) (hf : R f) :
    p.map φ f hf = φ.app _ (p f hf) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P Q : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} (p : CategoryTheory.Presieve.FamilyOfElements P R) (φ : P ⟶ Q) {Y : C} (f : Y ⟶ X) (hf : R f)
Goal: p.map φ f hf = φ.app (Opposite.op Y) (p f hf)
-- CategoryTheory.Presieve.FamilyOfElements.restrict_map
lemma FamilyOfElements.restrict_map
    (p : FamilyOfElements P R) (φ : P ⟶ Q) {R' : Presieve X} (h : R' ≤ R) :
    (p.restrict h).map φ = (p.map φ).restrict h 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P Q : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} (p : CategoryTheory.Presieve.FamilyOfElements P R) (φ : P ⟶ Q) {R' : CategoryTheory.Presieve X} (h : R' ≤ R)
Goal: (CategoryTheory.Presieve.FamilyOfElements.restrict h p).map φ =
  CategoryTheory.Presieve.FamilyOfElements.restrict h (p.map φ)
-- CategoryTheory.Presieve.pullbackCompatible_iff
theorem pullbackCompatible_iff (x : FamilyOfElements P R) [R.hasPullbacks] :
    x.Compatible ↔ x.PullbackCompatible 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} (x : CategoryTheory.Presieve.FamilyOfElements P R) [R.hasPullbacks]
Goal: x.Compatible ↔ x.PullbackCompatible
-- CategoryTheory.Presieve.FamilyOfElements.Compatible.restrict
theorem FamilyOfElements.Compatible.restrict {R₁ R₂ : Presieve X} (h : R₁ ≤ R₂)
    {x : FamilyOfElements P R₂} : x.Compatible → (x.restrict h).Compatible 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R₁ R₂ : CategoryTheory.Presieve X} (h : R₁ ≤ R₂) {x : CategoryTheory.Presieve.FamilyOfElements P R₂}
Goal: x.Compatible → (CategoryTheory.Presieve.FamilyOfElements.restrict h x).Compatible
-- CategoryTheory.Presieve.FamilyOfElements.Compatible.sieveExtend
theorem FamilyOfElements.Compatible.sieveExtend {x : FamilyOfElements P R} (hx : x.Compatible) :
    x.sieveExtend.Compatible 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} {x : CategoryTheory.Presieve.FamilyOfElements P R} (hx : x.Compatible)
Goal: x.sieveExtend.Compatible
-- CategoryTheory.Presieve.extend_agrees
theorem extend_agrees {x : FamilyOfElements P R} (t : x.Compatible) {f : Y ⟶ X} (hf : R f) :
    x.sieveExtend f (le_generate R Y hf) = x f hf 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X Y : C} {R : CategoryTheory.Presieve X} {x : CategoryTheory.Presieve.FamilyOfElements P R} (t : x.Compatible) {f : Y ⟶ X} (hf : R f)
Goal: x.sieveExtend f ⋯ = x f hf
-- CategoryTheory.Presieve.restrict_extend
@[simp]
theorem restrict_extend {x : FamilyOfElements P R} (t : x.Compatible) :
    x.sieveExtend.restrict (le_generate R) = x 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} {x : CategoryTheory.Presieve.FamilyOfElements P R} (t : x.Compatible)
Goal: CategoryTheory.Presieve.FamilyOfElements.restrict ⋯ x.sieveExtend = x
-- CategoryTheory.Presieve.compatible_iff_sieveCompatible
theorem compatible_iff_sieveCompatible (x : FamilyOfElements P (S : Presieve X)) :
    x.Compatible ↔ x.SieveCompatible 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {S : CategoryTheory.Sieve X} (x : CategoryTheory.Presieve.FamilyOfElements P S.arrows)
Goal: x.Compatible ↔ x.SieveCompatible
-- CategoryTheory.Presieve.FamilyOfElements.Compatible.to_sieveCompatible
theorem FamilyOfElements.Compatible.to_sieveCompatible {x : FamilyOfElements P (S : Presieve X)}
    (t : x.Compatible) : x.SieveCompatible 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {S : CategoryTheory.Sieve X} {x : CategoryTheory.Presieve.FamilyOfElements P S.arrows} (t : x.Compatible)
Goal: x.SieveCompatible
-- CategoryTheory.Presieve.extend_restrict
@[simp]
theorem extend_restrict {x : FamilyOfElements P (generate R)} (t : x.Compatible) :
    (x.restrict (le_generate R)).sieveExtend = x 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} {x : CategoryTheory.Presieve.FamilyOfElements P (CategoryTheory.Sieve.generate R).arrows} (t : x.Compatible)
Goal: (CategoryTheory.Presieve.FamilyOfElements.restrict ⋯ x).sieveExtend = x
-- CategoryTheory.Presieve.restrict_inj
theorem restrict_inj {x₁ x₂ : FamilyOfElements P (generate R)} (t₁ : x₁.Compatible)
    (t₂ : x₂.Compatible) : x₁.restrict (le_generate R) = x₂.restrict (le_generate R) → x₁ = x₂ 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} {x₁ x₂ : CategoryTheory.Presieve.FamilyOfElements P (CategoryTheory.Sieve.generate R).arrows} (t₁ : x₁.Compatible) (t₂ : x₂.Compatible)
Goal: CategoryTheory.Presieve.FamilyOfElements.restrict ⋯ x₁ = CategoryTheory.Presieve.FamilyOfElements.restrict ⋯ x₂ →
  x₁ = x₂
-- CategoryTheory.Presieve.compatibleEquivGenerateSieveCompatible_apply_coe
@[simps]
noncomputable def compatibleEquivGenerateSieveCompatible :
    { x : FamilyOfElements P R // x.Compatible } ≃
      { x : FamilyOfElements P (generate R : Presieve X) // x.Compatible } 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} (x : { x // x.Compatible })
Goal: ↑(CategoryTheory.Presieve.compatibleEquivGenerateSieveCompatible x) = (↑x).sieveExtend
-- CategoryTheory.Presieve.compatibleEquivGenerateSieveCompatible_symm_apply_coe
@[simps]
noncomputable def compatibleEquivGenerateSieveCompatible :
    { x : FamilyOfElements P R // x.Compatible } ≃
      { x : FamilyOfElements P (generate R : Presieve X) // x.Compatible } 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} (x : { x // x.Compatible })
Goal: ↑(CategoryTheory.Presieve.compatibleEquivGenerateSieveCompatible.symm x) =
  CategoryTheory.Presieve.FamilyOfElements.restrict ⋯ ↑x
-- CategoryTheory.Presieve.FamilyOfElements.comp_of_compatible
theorem FamilyOfElements.comp_of_compatible (S : Sieve X) {x : FamilyOfElements P S}
    (t : x.Compatible) {f : Y ⟶ X} (hf : S f) {Z} (g : Z ⟶ Y) :
    x (g ≫ f) (S.downward_closed hf g) = P.map g.op (x f hf) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X Y : C} (S : CategoryTheory.Sieve X) {x : CategoryTheory.Presieve.FamilyOfElements P S.arrows} (t : x.Compatible) {f : Y ⟶ X} (hf : S.arrows f) {Z : C} (g : Z ⟶ Y)
Goal: x (CategoryTheory.CategoryStruct.comp g f) ⋯ = P.map g.op (x f hf)
-- CategoryTheory.Presieve.FamilyOfElements.Compatible.functorPullback
theorem FamilyOfElements.Compatible.functorPullback (h : x.Compatible) :
    (x.functorPullback F).Compatible 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor D C) {Z : D} {T : CategoryTheory.Presieve (F.obj Z)} {x : CategoryTheory.Presieve.FamilyOfElements P T} (h : x.Compatible)
Goal: (CategoryTheory.Presieve.FamilyOfElements.functorPullback F x).Compatible
-- CategoryTheory.Presieve.FamilyOfElements.Compatible.pullback
theorem FamilyOfElements.Compatible.pullback (f : Y ⟶ X) {x : FamilyOfElements P S}
    (h : x.Compatible) : (x.pullback f).Compatible 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X Y : C} {S : CategoryTheory.Sieve X} (f : Y ⟶ X) {x : CategoryTheory.Presieve.FamilyOfElements P S.arrows} (h : x.Compatible)
Goal: (CategoryTheory.Presieve.FamilyOfElements.pullback f x).Compatible
-- CategoryTheory.Presieve.FamilyOfElements.compPresheafMap_id
@[simp]
theorem FamilyOfElements.compPresheafMap_id (x : FamilyOfElements P R) :
    x.compPresheafMap (𝟙 P) = x 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} (x : CategoryTheory.Presieve.FamilyOfElements P R)
Goal: CategoryTheory.Presieve.FamilyOfElements.compPresheafMap (CategoryTheory.CategoryStruct.id P) x = x
-- CategoryTheory.Presieve.FamilyOfElements.compPresheafMap_comp
@[simp]
theorem FamilyOfElements.compPresheafMap_comp (x : FamilyOfElements P R) (f : P ⟶ Q)
    (g : Q ⟶ U) : (x.compPresheafMap f).compPresheafMap g = x.compPresheafMap (f ≫ g) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P Q U : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} (x : CategoryTheory.Presieve.FamilyOfElements P R) (f : P ⟶ Q) (g : Q ⟶ U)
Goal: CategoryTheory.Presieve.FamilyOfElements.compPresheafMap g
    (CategoryTheory.Presieve.FamilyOfElements.compPresheafMap f x) =
  CategoryTheory.Presieve.FamilyOfElements.compPresheafMap (CategoryTheory.CategoryStruct.comp f g) x
-- CategoryTheory.Presieve.FamilyOfElements.Compatible.compPresheafMap
theorem FamilyOfElements.Compatible.compPresheafMap (f : P ⟶ Q) {x : FamilyOfElements P R}
    (h : x.Compatible) : (x.compPresheafMap f).Compatible 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P Q : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} (f : P ⟶ Q) {x : CategoryTheory.Presieve.FamilyOfElements P R} (h : x.Compatible)
Goal: (CategoryTheory.Presieve.FamilyOfElements.compPresheafMap f x).Compatible
-- CategoryTheory.Presieve.FamilyOfElements.IsAmalgamation.compPresheafMap
theorem FamilyOfElements.IsAmalgamation.compPresheafMap {x : FamilyOfElements P R} {t} (f : P ⟶ Q)
    (h : x.IsAmalgamation t) : (x.compPresheafMap f).IsAmalgamation (f.app (op X) t) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P Q : CategoryTheory.Functor Cᵒᵖ (Type w)} {X : C} {R : CategoryTheory.Presieve X} {x : CategoryTheory.Presieve.FamilyOfElements P R} {t : P.obj (Opposite.op X)} (f : P ⟶ Q) (h : x.IsAmalgamation t)
Goal: (CategoryTheory.Presieve.FamilyOfElements.compPresheafMap f x).IsAmalgamation (f.app (Opposite.op X) t)