Loogle!
Result
Found 90 declarations mentioning CategoryTheory.Presieve.ofArrows.
- CategoryTheory.Presieve.ofArrows 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} (Y : ι → C) (f : (i : ι) → Y i ⟶ X) : CategoryTheory.Presieve X - CategoryTheory.Presieve.ofArrows.mk 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} {Y : ι → C} {f : (i : ι) → Y i ⟶ X} (i : ι) : CategoryTheory.Presieve.ofArrows Y f (f i) - CategoryTheory.Presieve.ofArrows_pUnit 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} (f : Y ⟶ X) : (CategoryTheory.Presieve.ofArrows (fun x => Y) fun x => f) = CategoryTheory.Presieve.singleton f - CategoryTheory.Presieve.ofArrows.idx 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {ι : Type u_1} {S : C} {X : ι → C} {f : (i : ι) → X i ⟶ S} {Y : C} {g : Y ⟶ S} (hf : CategoryTheory.Presieve.ofArrows X f g) : ι - CategoryTheory.Presieve.instHasPullbackOfHasPairwisePullbacksOfArrows 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {α : Type v₂} {X : α → C} {B : C} (π : (a : α) → X a ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] (a b : α) : CategoryTheory.Limits.HasPullback (π a) (π b) - CategoryTheory.Presieve.ofArrows_of_unique 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} [Unique ι] {Y : ι → C} (f : (i : ι) → Y i ⟶ X) : CategoryTheory.Presieve.ofArrows Y f = CategoryTheory.Presieve.singleton (f default) - CategoryTheory.Presieve.ofArrows.obj_idx 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {ι : Type u_1} {S : C} {X : ι → C} {f : (i : ι) → X i ⟶ S} {Y : C} {g : Y ⟶ S} (hf : CategoryTheory.Presieve.ofArrows X f g) : X hf.idx = Y - CategoryTheory.Presieve.exists_eq_ofArrows 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} (R : CategoryTheory.Presieve X) : ∃ ι Y f, R = CategoryTheory.Presieve.ofArrows Y f - CategoryTheory.Presieve.instHasPullbacksOfArrowsOfHasPullback 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} (f : Y ⟶ X) {ι : Type u_1} (Z : ι → C) (g : (i : ι) → Z i ⟶ X) [∀ (i : ι), CategoryTheory.Limits.HasPullback (g i) f] : (CategoryTheory.Presieve.ofArrows Z g).HasPullbacks f - CategoryTheory.Presieve.ofArrows_comp_eq_of_surjective 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} {σ : Type u_2} {Y : ι → C} (f : (i : ι) → Y i ⟶ X) {a : σ → ι} (ha : Function.Surjective a) : (CategoryTheory.Presieve.ofArrows (Y ∘ a) fun i => f (a i)) = CategoryTheory.Presieve.ofArrows Y f - CategoryTheory.Presieve.pushforward_ofArrows 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {ι : Type u_1} {U : ι → C} {X Y : C} (g : (i : ι) → U i ⟶ X) (f : X ⟶ Y) : CategoryTheory.Presieve.pushforward f (CategoryTheory.Presieve.ofArrows U g) = CategoryTheory.Presieve.ofArrows U fun x => CategoryTheory.CategoryStruct.comp (g x) f - CategoryTheory.Presieve.ofArrows_le_iff 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} {Y : ι → C} {f : (i : ι) → Y i ⟶ X} {R : CategoryTheory.Presieve X} : CategoryTheory.Presieve.ofArrows Y f ≤ R ↔ ∀ (i : ι), R (f i) - CategoryTheory.Presieve.ofArrows_comp_le 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} {σ : Type u_2} {Y : ι → C} (f : (i : ι) → Y i ⟶ X) (a : σ → ι) : (CategoryTheory.Presieve.ofArrows (Y ∘ a) fun i => f (a i)) ≤ CategoryTheory.Presieve.ofArrows Y f - CategoryTheory.Presieve.uncurry_ofArrows 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} (Y : ι → C) (f : (i : ι) → Y i ⟶ X) : (CategoryTheory.Presieve.ofArrows Y f).uncurry = Set.range fun i => ⟨Y i, f i⟩ - CategoryTheory.Presieve.ofArrows.mk' 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} {Y : ι → C} {f : (i : ι) → Y i ⟶ X} {Z : C} {g : Z ⟶ X} (i : ι) (h : Z = Y i) (hg : g = CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom h) (f i)) : CategoryTheory.Presieve.ofArrows Y f g - CategoryTheory.Presieve.ofArrows_surj 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} {Y : ι → C} (f : (i : ι) → Y i ⟶ X) {Z : C} (g : Z ⟶ X) (hg : CategoryTheory.Presieve.ofArrows Y f g) : ∃ i, ∃ (h : Y i = Z), g = CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯) (f i) - CategoryTheory.Presieve.ofArrows_category 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {S : C} (R : CategoryTheory.Presieve S) : (CategoryTheory.Presieve.ofArrows (fun f => f.obj.left) fun f => f.obj.hom) = R - CategoryTheory.Presieve.ofArrows_pullback 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} (f : Y ⟶ X) {ι : Type u_1} (Z : ι → C) (g : (i : ι) → Z i ⟶ X) [∀ (i : ι), CategoryTheory.Limits.HasPullback (g i) f] : (CategoryTheory.Presieve.ofArrows (fun i => CategoryTheory.Limits.pullback (g i) f) fun x => CategoryTheory.Limits.pullback.snd (g x) f) = CategoryTheory.Presieve.pullbackArrows f (CategoryTheory.Presieve.ofArrows Z g) - CategoryTheory.Presieve.ofArrows_of_isEmpty 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} [IsEmpty ι] {Y : ι → C} (f : (i : ι) → Y i ⟶ X) : CategoryTheory.Presieve.ofArrows Y f = ⊥ - CategoryTheory.Presieve.ofArrows.hom_idx 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {ι : Type u_1} {S : C} {X : ι → C} {f : (i : ι) → X i ⟶ S} {Y : C} {g : Y ⟶ S} (hf : CategoryTheory.Presieve.ofArrows X f g) : f hf.idx = CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯) g - CategoryTheory.Presieve.ofArrows.eq_eqToHom_comp_hom_idx 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {ι : Type u_1} {S : C} {X : ι → C} {f : (i : ι) → X i ⟶ S} {Y : C} {g : Y ⟶ S} (hf : CategoryTheory.Presieve.ofArrows X f g) : g = CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯) (f hf.idx) - CategoryTheory.Presieve.bindOfArrows_ofArrows 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {ι : Type u_1} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) {σ : ι → Type u_2} {Y : (i : ι) → σ i → C} (g : (i : ι) → (j : σ i) → Y i j ⟶ X i) : (CategoryTheory.Presieve.bindOfArrows X f fun i => CategoryTheory.Presieve.ofArrows (Y i) (g i)) = CategoryTheory.Presieve.ofArrows (fun p => Y p.fst p.snd) fun p => CategoryTheory.CategoryStruct.comp (g p.fst p.snd) (f p.fst) - CategoryTheory.Presieve.ofArrows_bind 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {ι : Type u_1} (Z : ι → C) (g : (i : ι) → Z i ⟶ X) (j : ⦃Y : C⦄ → (f : Y ⟶ X) → CategoryTheory.Presieve.ofArrows Z g f → Type u_2) (W : ⦃Y : C⦄ → (f : Y ⟶ X) → (H : CategoryTheory.Presieve.ofArrows Z g f) → j f H → C) (k : ⦃Y : C⦄ → (f : Y ⟶ X) → (H : CategoryTheory.Presieve.ofArrows Z g f) → (i : j f H) → W f H i ⟶ Y) : ((CategoryTheory.Presieve.ofArrows Z g).bind fun x f H => CategoryTheory.Presieve.ofArrows (W f H) (k f H)) = CategoryTheory.Presieve.ofArrows (fun i => W (g i.fst) ⋯ i.snd) fun ij => CategoryTheory.CategoryStruct.comp (k (g ij.fst) ⋯ ij.snd) (g ij.fst) - CategoryTheory.Presieve.ofArrows_eq_ofArrows_uncurry 📋 Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {ι : Type u_1} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) : CategoryTheory.Presieve.ofArrows X f = CategoryTheory.Presieve.ofArrows (fun i => X (CategoryTheory.Presieve.ofArrows.idx ⋯)) fun i => f (CategoryTheory.Presieve.ofArrows.idx ⋯) - CategoryTheory.Presieve.map_ofArrows 📋 Mathlib.CategoryTheory.Sites.Sieves.Functoriality
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {X : C} {ι : Type u_1} {Y : ι → C} (f : (i : ι) → Y i ⟶ X) : CategoryTheory.Presieve.map F (CategoryTheory.Presieve.ofArrows Y f) = CategoryTheory.Presieve.ofArrows (fun i => F.obj (Y i)) fun i => F.map (f i) - CategoryTheory.Precoverage.mem_coverings_of_isPullback 📋 Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Precoverage C} [J.IsStableUnderBaseChange] {ι : Type w} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) (hR : CategoryTheory.Presieve.ofArrows X f ∈ J.coverings S) {Y : C} (g : Y ⟶ S) {P : ι → C} (p₁ : (i : ι) → P i ⟶ Y) (p₂ : (i : ι) → P i ⟶ X i) (h : ∀ (i : ι), CategoryTheory.IsPullback (p₁ i) (p₂ i) g (f i)) : CategoryTheory.Presieve.ofArrows P p₁ ∈ J.coverings Y - CategoryTheory.Precoverage.IsStableUnderBaseChange.mem_coverings_of_isPullback 📋 Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {J : CategoryTheory.Precoverage C} [self : J.IsStableUnderBaseChange] {ι : Type (max u v)} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) (hR : CategoryTheory.Presieve.ofArrows X f ∈ J.coverings S) {Y : C} (g : Y ⟶ S) {P : ι → C} (p₁ : (i : ι) → P i ⟶ Y) (p₂ : (i : ι) → P i ⟶ X i) (h : ∀ (i : ι), CategoryTheory.IsPullback (p₁ i) (p₂ i) g (f i)) : CategoryTheory.Presieve.ofArrows P p₁ ∈ J.coverings Y - CategoryTheory.Precoverage.IsStableUnderBaseChange.mk 📋 Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Precoverage C} (mem_coverings_of_isPullback : ∀ {ι : Type (max u v)} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S), CategoryTheory.Presieve.ofArrows X f ∈ J.coverings S → ∀ {Y : C} (g : Y ⟶ S) {P : ι → C} (p₁ : (i : ι) → P i ⟶ Y) (p₂ : (i : ι) → P i ⟶ X i), (∀ (i : ι), CategoryTheory.IsPullback (p₁ i) (p₂ i) g (f i)) → CategoryTheory.Presieve.ofArrows P p₁ ∈ J.coverings Y) : J.IsStableUnderBaseChange - CategoryTheory.Precoverage.comp_mem_coverings 📋 Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Precoverage C} [J.IsStableUnderComposition] {ι : Type w} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) (hf : CategoryTheory.Presieve.ofArrows X f ∈ J.coverings S) {σ : ι → Type w'} {Y : (i : ι) → σ i → C} (g : (i : ι) → (j : σ i) → Y i j ⟶ X i) (hg : ∀ (i : ι), CategoryTheory.Presieve.ofArrows (Y i) (g i) ∈ J.coverings (X i)) : (CategoryTheory.Presieve.ofArrows (fun p => Y p.fst p.snd) fun x => CategoryTheory.CategoryStruct.comp (g x.fst x.snd) (f x.fst)) ∈ J.coverings S - CategoryTheory.Precoverage.IsStableUnderComposition.comp_mem_coverings 📋 Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {J : CategoryTheory.Precoverage C} [self : J.IsStableUnderComposition] {ι : Type (max u v)} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) (hf : CategoryTheory.Presieve.ofArrows X f ∈ J.coverings S) {σ : ι → Type (max u v)} {Y : (i : ι) → σ i → C} (g : (i : ι) → (j : σ i) → Y i j ⟶ X i) (hg : ∀ (i : ι), CategoryTheory.Presieve.ofArrows (Y i) (g i) ∈ J.coverings (X i)) : (CategoryTheory.Presieve.ofArrows (fun p => Y p.fst p.snd) fun x => CategoryTheory.CategoryStruct.comp (g x.fst x.snd) (f x.fst)) ∈ J.coverings S - CategoryTheory.Precoverage.IsStableUnderComposition.mk 📋 Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Precoverage C} (comp_mem_coverings : ∀ {ι : Type (max u v)} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S), CategoryTheory.Presieve.ofArrows X f ∈ J.coverings S → ∀ {σ : ι → Type (max u v)} {Y : (i : ι) → σ i → C} (g : (i : ι) → (j : σ i) → Y i j ⟶ X i), (∀ (i : ι), CategoryTheory.Presieve.ofArrows (Y i) (g i) ∈ J.coverings (X i)) → (CategoryTheory.Presieve.ofArrows (fun p => Y p.fst p.snd) fun x => CategoryTheory.CategoryStruct.comp (g x.fst x.snd) (f x.fst)) ∈ J.coverings S) : J.IsStableUnderComposition - CategoryTheory.Presieve.Arrows.PullbackCompatible 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type u_1} {X : I → C} (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] (x : (i : I) → P.obj (Opposite.op (X i))) : Prop - CategoryTheory.Presieve.Arrows.Compatible.familyOfElements 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {B : C} {I : Type u_1} {X : I → C} {π : (i : I) → X i ⟶ B} {x : (i : I) → P.obj (Opposite.op (X i))} (hx : CategoryTheory.Presieve.Arrows.Compatible P π x) : CategoryTheory.Presieve.FamilyOfElements P (CategoryTheory.Presieve.ofArrows X π) - CategoryTheory.Presieve.Arrows.pullbackCompatible_iff 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type u_1} {X : I → C} (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] (x : (i : I) → P.obj (Opposite.op (X i))) : CategoryTheory.Presieve.Arrows.Compatible P π x ↔ CategoryTheory.Presieve.Arrows.PullbackCompatible P π x - CategoryTheory.Presieve.Arrows.Compatible.familyOfElements_compatible 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {B : C} {I : Type u_1} {X : I → C} {π : (i : I) → X i ⟶ B} {x : (i : I) → P.obj (Opposite.op (X i))} (hx : CategoryTheory.Presieve.Arrows.Compatible P π x) : hx.familyOfElements.Compatible - CategoryTheory.Presieve.isSheafFor_ofArrows_iff_bijective_toCompabible 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type u_1} {X : I → C} (π : (i : I) → X i ⟶ B) : CategoryTheory.Presieve.IsSheafFor P (CategoryTheory.Presieve.ofArrows X π) ↔ Function.Bijective (CategoryTheory.Presieve.Arrows.toCompatible P π) - CategoryTheory.Presieve.Arrows.Compatible.exists_familyOfElements 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {B : C} {I : Type u_1} {X : I → C} {π : (i : I) → X i ⟶ B} {x : (i : I) → P.obj (Opposite.op (X i))} (hx : CategoryTheory.Presieve.Arrows.Compatible P π x) : ∃ x', ∀ (i : I), x' (π i) ⋯ = x i - CategoryTheory.Presieve.FamilyOfElements.isAmalgamation_iff_ofArrows 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type u_1} {X : I → C} (π : (i : I) → X i ⟶ B) (x : CategoryTheory.Presieve.FamilyOfElements P (CategoryTheory.Presieve.ofArrows X π)) (t : P.obj (Opposite.op B)) : x.IsAmalgamation t ↔ ∀ (i : I), (CategoryTheory.ConcreteCategory.hom (P.map (π i).op)) t = x (π i) ⋯ - CategoryTheory.Presieve.isSheafFor_arrows_iff 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type u_1} {X : I → C} (π : (i : I) → X i ⟶ B) : CategoryTheory.Presieve.IsSheafFor P (CategoryTheory.Presieve.ofArrows X π) ↔ ∀ (x : (i : I) → P.obj (Opposite.op (X i))), CategoryTheory.Presieve.Arrows.Compatible P π x → ∃! t, ∀ (i : I), (CategoryTheory.ConcreteCategory.hom (P.map (π i).op)) t = x i - CategoryTheory.Presieve.isSheafFor_over_map_op_comp_ofArrows_iff 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {I : Type u_1} {B B' : C} (p : B ⟶ B') (P : CategoryTheory.Functor (CategoryTheory.Over B')ᵒᵖ (Type w)) {X : CategoryTheory.Over B} {Y : I → CategoryTheory.Over B} (f : (i : I) → Y i ⟶ X) : CategoryTheory.Presieve.IsSheafFor ((CategoryTheory.Over.map p).op.comp P) (CategoryTheory.Presieve.ofArrows Y f) ↔ CategoryTheory.Presieve.IsSheafFor P (CategoryTheory.Presieve.ofArrows (fun i => (CategoryTheory.Over.map p).obj (Y i)) fun i => (CategoryTheory.Over.map p).map (f i)) - CategoryTheory.Presieve.isSheafFor_arrows_iff_pullbacks 📋 Mathlib.CategoryTheory.Sites.IsSheafFor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type u_1} {X : I → C} (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] : CategoryTheory.Presieve.IsSheafFor P (CategoryTheory.Presieve.ofArrows X π) ↔ ∀ (x : (i : I) → P.obj (Opposite.op (X i))), CategoryTheory.Presieve.Arrows.PullbackCompatible P π x → ∃! t, ∀ (i : I), (CategoryTheory.ConcreteCategory.hom (P.map (π i).op)) t = x i - CategoryTheory.Equalizer.Presieve.Arrows.SecondObj 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type t} [Small.{w, t} I] (X : I → C) (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] : Type w - CategoryTheory.Equalizer.Presieve.Arrows.firstMap 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type t} [Small.{w, t} I] (X : I → C) (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] : CategoryTheory.Equalizer.Presieve.Arrows.FirstObj P X ⟶ CategoryTheory.Equalizer.Presieve.Arrows.SecondObj P X π - CategoryTheory.Equalizer.Presieve.Arrows.secondMap 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type t} [Small.{w, t} I] (X : I → C) (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] : CategoryTheory.Equalizer.Presieve.Arrows.FirstObj P X ⟶ CategoryTheory.Equalizer.Presieve.Arrows.SecondObj P X π - CategoryTheory.Equalizer.Presieve.Arrows.sheaf_condition 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type t} [Small.{w, t} I] (X : I → C) (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] : CategoryTheory.Presieve.IsSheafFor P (CategoryTheory.Presieve.ofArrows X π) ↔ Nonempty (CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.Fork.ofι (CategoryTheory.Equalizer.Presieve.Arrows.forkMap P X π) ⋯)) - CategoryTheory.Equalizer.Presieve.Arrows.w 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type t} [Small.{w, t} I] (X : I → C) (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Equalizer.Presieve.Arrows.forkMap P X π) (CategoryTheory.Equalizer.Presieve.Arrows.firstMap P X π) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Equalizer.Presieve.Arrows.forkMap P X π) (CategoryTheory.Equalizer.Presieve.Arrows.secondMap P X π) - CategoryTheory.Equalizer.Presieve.Arrows.compatible_iff 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type w} (X : I → C) (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] (x : CategoryTheory.Equalizer.Presieve.Arrows.FirstObj P X) : CategoryTheory.Presieve.Arrows.Compatible P π ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.Types.productIso fun i => P.obj (Opposite.op (X i))).hom) x) ↔ (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Equalizer.Presieve.Arrows.firstMap P X π)) x = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Equalizer.Presieve.Arrows.secondMap P X π)) x - CategoryTheory.Equalizer.Presieve.Arrows.SecondObj.ext 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type t} [Small.{w, t} I] (X : I → C) (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] (z₁ z₂ : CategoryTheory.Equalizer.Presieve.Arrows.SecondObj P X π) (h : ∀ (ij : I × I), (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.Pi.π (fun ij => P.obj (Opposite.op (CategoryTheory.Limits.pullback (π ij.1) (π ij.2)))) ij)) z₁ = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.Pi.π (fun ij => P.obj (Opposite.op (CategoryTheory.Limits.pullback (π ij.1) (π ij.2)))) ij)) z₂) : z₁ = z₂ - CategoryTheory.Equalizer.Presieve.Arrows.SecondObj.ext_iff 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] {P : CategoryTheory.Functor Cᵒᵖ (Type w)} {B : C} {I : Type t} [Small.{w, t} I] {X : I → C} {π : (i : I) → X i ⟶ B} [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] {z₁ z₂ : CategoryTheory.Equalizer.Presieve.Arrows.SecondObj P X π} : z₁ = z₂ ↔ ∀ (ij : I × I), (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.Pi.π (fun ij => P.obj (Opposite.op (CategoryTheory.Limits.pullback (π ij.1) (π ij.2)))) ij)) z₁ = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.Pi.π (fun ij => P.obj (Opposite.op (CategoryTheory.Limits.pullback (π ij.1) (π ij.2)))) ij)) z₂ - CategoryTheory.Equalizer.Presieve.Arrows.compatible_iff_of_small 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) {B : C} {I : Type t} [Small.{w, t} I] (X : I → C) (π : (i : I) → X i ⟶ B) [(CategoryTheory.Presieve.ofArrows X π).HasPairwisePullbacks] (x : CategoryTheory.Equalizer.Presieve.Arrows.FirstObj P X) : CategoryTheory.Presieve.Arrows.Compatible P π ((equivShrink ((i : I) → P.obj (Opposite.op (X i)))).symm ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.Types.Small.productIso fun i => P.obj (Opposite.op (X i))).hom) x)) ↔ (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Equalizer.Presieve.Arrows.firstMap P X π)) x = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Equalizer.Presieve.Arrows.secondMap P X π)) x - CategoryTheory.Precoverage.mem_iff_exists_zeroHypercover 📋 Mathlib.CategoryTheory.Sites.Hypercover.Zero
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Precoverage C} {X : C} {R : CategoryTheory.Presieve X} : R ∈ J.coverings X ↔ ∃ 𝒰, R = CategoryTheory.Presieve.ofArrows 𝒰.X 𝒰.f - CategoryTheory.Presieve.isSheafFor_ofArrows_comp_iff 📋 Mathlib.CategoryTheory.Sites.PrecoverageToGrothendieck
{C : Type u_4} [CategoryTheory.Category.{u_3, u_4} C] {F : CategoryTheory.Functor Cᵒᵖ (Type u_1)} {X : C} {ι : Type u_2} {Y Z : ι → C} (g : (i : ι) → Z i ⟶ X) (e : (i : ι) → Y i ≅ Z i) : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Y fun i => CategoryTheory.CategoryStruct.comp (e i).hom (g i)) ↔ CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Z g) - CategoryTheory.Types.ofArrows_mem_jointlySurjectivePrecoverage_iff 📋 Mathlib.CategoryTheory.Sites.JointlySurjective
{X : Type u} {ι : Type u_1} {Y : ι → Type u} {f : (i : ι) → Y i ⟶ X} : CategoryTheory.Presieve.ofArrows Y f ∈ CategoryTheory.Types.jointlySurjectivePrecoverage.coverings X ↔ ∀ (x : (fun X => X) X), ∃ i, x ∈ Set.range ⇑(CategoryTheory.ConcreteCategory.hom (f i)) - CategoryTheory.Presieve.ofArrows_mem_comap_jointlySurjectivePrecoverage_iff 📋 Mathlib.CategoryTheory.Sites.JointlySurjective
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (F : CategoryTheory.Functor C (Type u)) {X : C} {ι : Type u_2} {Y : ι → C} {f : (i : ι) → Y i ⟶ X} : CategoryTheory.Presieve.ofArrows Y f ∈ (CategoryTheory.Precoverage.comap F CategoryTheory.Types.jointlySurjectivePrecoverage).coverings X ↔ ∀ (x : F.obj X), ∃ i, x ∈ Set.range ⇑(CategoryTheory.ConcreteCategory.hom (F.map (f i))) - CategoryTheory.MorphismProperty.ofArrows_mem_precoverage 📋 Mathlib.CategoryTheory.Sites.MorphismProperty
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {P : CategoryTheory.MorphismProperty C} {X : C} {ι : Type u_2} {Y : ι → C} {f : (i : ι) → Y i ⟶ X} : CategoryTheory.Presieve.ofArrows Y f ∈ P.precoverage.coverings X ↔ ∀ (i : ι), P (f i) - AlgebraicGeometry.Scheme.ofArrows_mem_precoverage_iff 📋 Mathlib.AlgebraicGeometry.Sites.MorphismProperty
(P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme) {S : AlgebraicGeometry.Scheme} {ι : Type u_1} {X : ι → AlgebraicGeometry.Scheme} {f : (i : ι) → X i ⟶ S} : CategoryTheory.Presieve.ofArrows X f ∈ (AlgebraicGeometry.Scheme.precoverage P).coverings S ↔ (∀ (x : ↥S), ∃ i, x ∈ Set.range ⇑(f i)) ∧ ∀ (i : ι), P (f i) - AlgebraicGeometry.Scheme.OpenCover.exists_of_isCofiltered_of_finite 📋 Mathlib.AlgebraicGeometry.AffineTransitionLimit
{I : Type u} [CategoryTheory.Category.{u, u} I] (D : CategoryTheory.Functor I AlgebraicGeometry.Scheme) (c : CategoryTheory.Limits.Cone D) (hc : CategoryTheory.Limits.IsLimit c) [CategoryTheory.IsCofiltered I] [∀ {i j : I} (f : i ⟶ j), AlgebraicGeometry.IsAffineHom (D.map f)] [∀ (i : I), CompactSpace ↥(D.obj i)] [∀ (i : I), QuasiSeparatedSpace ↥(D.obj i)] (𝒰 : c.pt.OpenCover) [∀ (i : 𝒰.I₀), AlgebraicGeometry.IsAffine (𝒰.X i)] [Finite 𝒰.I₀] : ∃ i R f, ∃ (_ : CategoryTheory.Presieve.ofArrows (fun i => AlgebraicGeometry.Spec (R i)) f ∈ AlgebraicGeometry.Scheme.zariskiPrecoverage.coverings (D.obj i)), ∃ g, ∀ (j : 𝒰.I₀), CategoryTheory.IsPullback (g j) (𝒰.f j) (f j) (c.π.app i) - AlgebraicGeometry.Scheme.Cover.mem_pretopology 📋 Mathlib.AlgebraicGeometry.Sites.Pretopology
{P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} [P.IsStableUnderBaseChange] [P.IsMultiplicative] {X : AlgebraicGeometry.Scheme} {𝒰 : AlgebraicGeometry.Scheme.Cover (AlgebraicGeometry.Scheme.precoverage P) X} : CategoryTheory.Presieve.ofArrows 𝒰.X 𝒰.f ∈ (AlgebraicGeometry.Scheme.pretopology P).coverings X - AlgebraicGeometry.Scheme.exists_cover_of_mem_pretopology 📋 Mathlib.AlgebraicGeometry.Sites.Pretopology
{P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} [P.IsStableUnderBaseChange] [P.IsMultiplicative] {X : AlgebraicGeometry.Scheme} {R : CategoryTheory.Presieve X} : R ∈ (AlgebraicGeometry.Scheme.pretopology P).coverings X → ∃ 𝒰, R = CategoryTheory.Presieve.ofArrows 𝒰.X 𝒰.f - AlgebraicGeometry.Scheme.mem_pretopology_iff 📋 Mathlib.AlgebraicGeometry.Sites.Pretopology
{P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} [P.IsStableUnderBaseChange] [P.IsMultiplicative] {X : AlgebraicGeometry.Scheme} {R : CategoryTheory.Presieve X} : R ∈ (AlgebraicGeometry.Scheme.pretopology P).coverings X ↔ ∃ 𝒰, R = CategoryTheory.Presieve.ofArrows 𝒰.X 𝒰.f - AlgebraicGeometry.Scheme.exists_cover_of_mem_grothendieckTopology 📋 Mathlib.AlgebraicGeometry.Sites.Pretopology
{P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} [P.IsStableUnderBaseChange] [P.IsMultiplicative] {X : AlgebraicGeometry.Scheme} {S : CategoryTheory.Sieve X} : S ∈ (AlgebraicGeometry.Scheme.grothendieckTopology P) X → ∃ 𝒰, CategoryTheory.Presieve.ofArrows 𝒰.X 𝒰.f ≤ S.arrows - AlgebraicGeometry.Scheme.mem_grothendieckTopology_iff 📋 Mathlib.AlgebraicGeometry.Sites.Pretopology
{P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} [P.IsStableUnderBaseChange] [P.IsMultiplicative] {X : AlgebraicGeometry.Scheme} {S : CategoryTheory.Sieve X} : S ∈ (AlgebraicGeometry.Scheme.grothendieckTopology P) X ↔ ∃ 𝒰, CategoryTheory.Presieve.ofArrows 𝒰.X 𝒰.f ≤ S.arrows - CategoryTheory.Precoverage.ZeroHypercover.Hom.isSheafFor_iff 📋 Mathlib.CategoryTheory.Sites.Hypercover.SheafOfTypes
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {K : CategoryTheory.Precoverage C} [K.IsStableUnderBaseChange] {S : C} {F : CategoryTheory.Functor Cᵒᵖ (Type u_2)} {𝒰 : K.ZeroHypercover S} {𝒱 : K.ZeroHypercover S} (f : CategoryTheory.Precoverage.ZeroHypercover.Hom K 𝒰 𝒱) (H₁ : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows 𝒰.X 𝒰.f)) (H₂ : ∀ {X : C} (f : X ⟶ S), CategoryTheory.Presieve.IsSeparatedFor F (CategoryTheory.Presieve.ofArrows (CategoryTheory.Precoverage.ZeroHypercover.pullback₂ f 𝒰).X (CategoryTheory.Precoverage.ZeroHypercover.pullback₂ f 𝒰).f)) : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows 𝒱.X 𝒱.f) - CategoryTheory.Presieve.isSheafFor_sigmaDesc_iff 📋 Mathlib.CategoryTheory.Sites.CoproductSheafCondition
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {S : C} {ι : Type u_3} {X : ι → C} (f : (i : ι) → X i ⟶ S) [(CategoryTheory.Presieve.ofArrows X f).HasPairwisePullbacks] {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.Limits.IsColimit c) (hc' : CategoryTheory.IsUniversalColimit c) [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.Cofan.IsColimit.desc hc f) (CategoryTheory.Limits.Cofan.IsColimit.desc hc f)] [∀ (i : ι), CategoryTheory.Limits.HasPullback (f i) (CategoryTheory.Limits.Cofan.IsColimit.desc hc f)] (F : CategoryTheory.Functor Cᵒᵖ (Type u_4)) [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun i => Opposite.op (X i)) F] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun ij => Opposite.op (CategoryTheory.Limits.pullback (f ij.1) (f ij.2))) F] : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.singleton (CategoryTheory.Limits.Cofan.IsColimit.desc hc f)) ↔ CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows X f) - CategoryTheory.Presieve.isTerminal_of_isSheafFor_empty_presieve 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] (I : C) (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => Empty.instIsEmpty.elim a)) : CategoryTheory.Limits.IsTerminal (F.obj (Opposite.op I)) - CategoryTheory.Presieve.preservesTerminal_of_isSheaf_for_empty 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : C} (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => Empty.instIsEmpty.elim a)) (hI : CategoryTheory.Limits.IsInitial I) : CategoryTheory.Limits.PreservesLimit (CategoryTheory.Functor.empty Cᵒᵖ) F - CategoryTheory.Presieve.isSheafFor_of_preservesProduct 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor Cᵒᵖ (Type w)) {α : Type u_1} [Small.{w, u_1} α] {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) [(CategoryTheory.Presieve.ofArrows X c.inj).HasPairwisePullbacks] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun x => Opposite.op (X x)) F] : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows X c.inj) - CategoryTheory.Presieve.preservesProduct_of_isSheafFor 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : C} (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => Empty.instIsEmpty.elim a)) (hI : CategoryTheory.Limits.IsInitial I) {α : Type u_1} [Small.{w, u_1} α] {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) [(CategoryTheory.Presieve.ofArrows X c.inj).HasPairwisePullbacks] [CategoryTheory.Limits.HasInitial C] [∀ (i : α), CategoryTheory.Mono (c.inj i)] (hd : Pairwise fun i j => CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j)) (c.inj i) (c.inj j)) (hF' : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows X c.inj)) : CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun x => Opposite.op (X x)) F - CategoryTheory.Presieve.isSheafFor_iff_preservesProduct 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : C} (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => Empty.instIsEmpty.elim a)) (hI : CategoryTheory.Limits.IsInitial I) {α : Type u_1} [Small.{w, u_1} α] {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) [(CategoryTheory.Presieve.ofArrows X c.inj).HasPairwisePullbacks] [CategoryTheory.Limits.HasInitial C] [∀ (i : α), CategoryTheory.Mono (c.inj i)] (hd : Pairwise fun i j => CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j)) (c.inj i) (c.inj j)) : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows X c.inj) ↔ CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun x => Opposite.op (X x)) F - CategoryTheory.Presieve.firstMap_eq_secondMap 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : C} (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => Empty.instIsEmpty.elim a)) (hI : CategoryTheory.Limits.IsInitial I) {α : Type u_1} [Small.{w, u_1} α] {X : α → C} (c : CategoryTheory.Limits.Cofan X) [(CategoryTheory.Presieve.ofArrows X c.inj).HasPairwisePullbacks] [CategoryTheory.Limits.HasInitial C] [∀ (i : α), CategoryTheory.Mono (c.inj i)] (hd : Pairwise fun i j => CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j)) (c.inj i) (c.inj j)) : CategoryTheory.Equalizer.Presieve.Arrows.firstMap F X c.inj = CategoryTheory.Equalizer.Presieve.Arrows.secondMap F X c.inj - AlgebraicGeometry.Scheme.Cover.isSheafFor_sigma_iff 📋 Mathlib.AlgebraicGeometry.Sites.BigZariski
{P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {F : CategoryTheory.Functor AlgebraicGeometry.Schemeᵒᵖ (Type u_1)} [AlgebraicGeometry.IsZariskiLocalAtSource P] (hF : CategoryTheory.Presieve.IsSheaf AlgebraicGeometry.Scheme.zariskiTopology F) {S : AlgebraicGeometry.Scheme} (𝒰 : AlgebraicGeometry.Scheme.Cover (AlgebraicGeometry.Scheme.precoverage P) S) [Finite 𝒰.I₀] : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows 𝒰.sigma.X 𝒰.sigma.f) ↔ CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows 𝒰.X 𝒰.f) - AlgebraicGeometry.Scheme.AffineZariskiSite.presieveOfSections_eq_ofArrows 📋 Mathlib.AlgebraicGeometry.Sites.SmallAffineZariski
{X : AlgebraicGeometry.Scheme} (U : X.AffineZariskiSite) (s : Set ↑(X.presheaf.obj (Opposite.op U.toOpens))) : U.presieveOfSections s = CategoryTheory.Presieve.ofArrows (fun i => U.basicOpen ↑i) fun i => CategoryTheory.homOfLE ⋯ - AlgebraicGeometry.Scheme.Cover.toPresieveOver_le_arrows_iff 📋 Mathlib.AlgebraicGeometry.Sites.Small
{P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {S : AlgebraicGeometry.Scheme} [P.IsStableUnderBaseChange] {X : CategoryTheory.Over S} (R : CategoryTheory.Sieve X) (𝒰 : AlgebraicGeometry.Scheme.Cover (AlgebraicGeometry.Scheme.precoverage P) X.left) [AlgebraicGeometry.Scheme.Cover.Over S 𝒰] : 𝒰.toPresieveOver ≤ R.arrows ↔ CategoryTheory.Presieve.ofArrows 𝒰.X 𝒰.f ≤ ((CategoryTheory.Sieve.overEquiv X) R).arrows - CategoryTheory.Sieve.effectiveEpimorphic_family 📋 Mathlib.CategoryTheory.Sites.EffectiveEpimorphic
{C : Type u} [CategoryTheory.Category.{v, u} C] {B : C} {α : Type u_1} (X : α → C) (π : (a : α) → X a ⟶ B) : (CategoryTheory.Presieve.ofArrows X π).EffectiveEpimorphic ↔ CategoryTheory.EffectiveEpiFamily X π - CategoryTheory.Sieve.generateFamily_eq 📋 Mathlib.CategoryTheory.Sites.EffectiveEpimorphic
{C : Type u} [CategoryTheory.Category.{v, u} C] {B : C} {α : Type u_1} (X : α → C) (π : (a : α) → X a ⟶ B) : CategoryTheory.Sieve.generate (CategoryTheory.Presieve.ofArrows X π) = CategoryTheory.Sieve.generateFamily X π - CategoryTheory.isSheaf_coherent 📋 Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Precoherent C] (P : CategoryTheory.Functor Cᵒᵖ (Type w)) : CategoryTheory.Presieve.IsSheaf (CategoryTheory.coherentTopology C) P ↔ ∀ (B : C) (α : Type) [Finite α] (X : α → C) (π : (a : α) → X a ⟶ B), CategoryTheory.EffectiveEpiFamily X π → CategoryTheory.Presieve.IsSheafFor P (CategoryTheory.Presieve.ofArrows X π) - CategoryTheory.Presieve.Extensive.arrows_nonempty_isColimit 📋 Mathlib.CategoryTheory.Sites.Coherent.ExtensiveSheaves
{C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {X : C} {R : CategoryTheory.Presieve X} [self : R.Extensive] : ∃ α, ∃ (_ : Finite α), ∃ Z π, R = CategoryTheory.Presieve.ofArrows Z π ∧ Nonempty (CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofan.mk X π)) - CategoryTheory.Presieve.Extensive.mk 📋 Mathlib.CategoryTheory.Sites.Coherent.ExtensiveSheaves
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : C} {R : CategoryTheory.Presieve X} (arrows_nonempty_isColimit : ∃ α, ∃ (_ : Finite α), ∃ Z π, R = CategoryTheory.Presieve.ofArrows Z π ∧ Nonempty (CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofan.mk X π))) : R.Extensive - CategoryTheory.instExtensiveOfArrowsι 📋 Mathlib.CategoryTheory.Sites.Coherent.ExtensiveSheaves
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.FinitaryPreExtensive C] {α : Type} [Finite α] (Z : α → C) : (CategoryTheory.Presieve.ofArrows Z fun i => CategoryTheory.Limits.Sigma.ι Z i).Extensive - CategoryTheory.Presieve.regular.mk 📋 Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : C} {R : CategoryTheory.Presieve X} (single_epi : ∃ Y f, (R = CategoryTheory.Presieve.ofArrows (fun x => Y) fun x => f) ∧ CategoryTheory.EffectiveEpi f) : R.regular - CategoryTheory.Presieve.regular.single_epi 📋 Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves
{C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {X : C} {R : CategoryTheory.Presieve X} [self : R.regular] : ∃ Y f, (R = CategoryTheory.Presieve.ofArrows (fun x => Y) fun x => f) ∧ CategoryTheory.EffectiveEpi f - CategoryTheory.regularTopology.parallelPair_pullback_initial 📋 Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X B : C} (π : X ⟶ B) (c : CategoryTheory.Limits.PullbackCone π π) (hc : CategoryTheory.Limits.IsLimit c) : (CategoryTheory.Limits.parallelPair (CategoryTheory.ObjectProperty.homMk (CategoryTheory.Over.homMk c.fst ⋯)).op (CategoryTheory.ObjectProperty.homMk (CategoryTheory.Over.homMk c.snd ⋯)).op).Initial - CategoryTheory.Pseudofunctor.isStackFor_ofArrows_iff 📋 Mathlib.CategoryTheory.Sites.Descent.DescentData
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Pseudofunctor (CategoryTheory.LocallyDiscrete Cᵒᵖ) CategoryTheory.Cat) {ι : Type t} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) : F.IsStackFor (CategoryTheory.Presieve.ofArrows X f) ↔ (F.toDescentData f).IsEquivalence - CategoryTheory.Pseudofunctor.isPrestackFor_ofArrows_iff 📋 Mathlib.CategoryTheory.Sites.Descent.DescentData
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Pseudofunctor (CategoryTheory.LocallyDiscrete Cᵒᵖ) CategoryTheory.Cat) {ι : Type t} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) : F.IsPrestackFor (CategoryTheory.Presieve.ofArrows X f) ↔ Nonempty (F.toDescentData f).FullyFaithful - CategoryTheory.Pseudofunctor.bijective_toDescentData_map_iff 📋 Mathlib.CategoryTheory.Sites.Descent.DescentData
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Pseudofunctor (CategoryTheory.LocallyDiscrete Cᵒᵖ) CategoryTheory.Cat} {ι : Type t} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) (M N : ↑(F.obj { as := Opposite.op S })) : Function.Bijective (F.toDescentData f).map ↔ CategoryTheory.Presieve.IsSheafFor (F.presheafHom M N) (CategoryTheory.Presieve.ofArrows (fun i => CategoryTheory.Over.mk (f i)) fun i => CategoryTheory.Over.homMk (f i) ⋯) - CategoryTheory.Precoverage.ofArrows_mem_finite 📋 Mathlib.CategoryTheory.Sites.Finite
{C : Type u} [CategoryTheory.Category.{v, u} C] {X : C} {ι : Type u_1} [Finite ι] (Y : ι → C) (f : (i : ι) → Y i ⟶ X) : CategoryTheory.Presieve.ofArrows Y f ∈ (CategoryTheory.Precoverage.finite C).coverings X - CategoryTheory.Pretopology.ofArrows_mem_finite 📋 Mathlib.CategoryTheory.Sites.Finite
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] {X : C} {ι : Type u_1} [Finite ι] (Y : ι → C) (f : (i : ι) → Y i ⟶ X) : CategoryTheory.Presieve.ofArrows Y f ∈ (CategoryTheory.Pretopology.finite C).coverings X - CategoryTheory.PreOneHypercover.sieve₀_cylinder 📋 Mathlib.CategoryTheory.Sites.Hypercover.Homotopy
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} {E : CategoryTheory.PreOneHypercover S} {F : CategoryTheory.PreOneHypercover S} [CategoryTheory.Limits.HasPullbacks C] (f g : E.Hom F) : (CategoryTheory.PreOneHypercover.cylinder f g).sieve₀ = CategoryTheory.Sieve.generate (CategoryTheory.Presieve.bindOfArrows E.X E.f fun i => (CategoryTheory.Sieve.pullback (CategoryTheory.Limits.pullback.lift (f.h₀ i) (g.h₀ i) ⋯) (F.sieve₁' (f.s₀ i) (g.s₀ i))).arrows) - CategoryTheory.PreOneHypercover.toPullback_cylinder 📋 Mathlib.CategoryTheory.Sites.Hypercover.Homotopy
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} {E : CategoryTheory.PreOneHypercover S} {F : CategoryTheory.PreOneHypercover S} [CategoryTheory.Limits.HasPullbacks C] (f g : E.Hom F) {i j : (CategoryTheory.PreOneHypercover.cylinder f g).I₀} (k : (CategoryTheory.PreOneHypercover.cylinder f g).I₁ i j) : (CategoryTheory.PreOneHypercover.cylinder f g).toPullback k = CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.map (CategoryTheory.PreOneHypercover.cylinderf f g i.snd) (CategoryTheory.PreOneHypercover.cylinderf f g j.snd) (E.f i.fst) (E.f j.fst) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.lift (f.h₀ i.fst) (g.h₀ i.fst) ⋯) (F.toPullback i.snd)) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.lift (f.h₀ j.fst) (g.h₀ j.fst) ⋯) (F.toPullback j.snd)) (CategoryTheory.CategoryStruct.id S) ⋯ ⋯) (CategoryTheory.Limits.pullback.lift (E.p₁ k.down) (E.p₂ k.down) ⋯) - CategoryTheory.PreOneHypercover.sieve₁'_cylinder 📋 Mathlib.CategoryTheory.Sites.Hypercover.Homotopy
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} {E : CategoryTheory.PreOneHypercover S} {F : CategoryTheory.PreOneHypercover S} [CategoryTheory.Limits.HasPullbacks C] (f g : E.Hom F) (i j : (i : E.I₀) × F.I₁ (f.s₀ i) (g.s₀ i)) : (CategoryTheory.PreOneHypercover.cylinder f g).sieve₁' i j = CategoryTheory.Sieve.pullback (CategoryTheory.Limits.pullback.map ((CategoryTheory.PreOneHypercover.cylinder f g).f i) ((CategoryTheory.PreOneHypercover.cylinder f g).f j) (E.f i.fst) (E.f j.fst) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.lift (f.h₀ i.fst) (g.h₀ i.fst) ⋯) (F.toPullback i.snd)) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.lift (f.h₀ j.fst) (g.h₀ j.fst) ⋯) (F.toPullback j.snd)) (CategoryTheory.CategoryStruct.id S) ⋯ ⋯) (E.sieve₁' i.fst j.fst)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59