module Cat.Reedy.Generalized where
Generalized Reedy categories🔗
A generalized Reedy structure on a precategory consists of:
- two classes of morphisms and
- a function
record is-generalized-reedy {ℓ⁻ ℓ⁺} (Neg : Arrows A ℓ⁻) (Pos : Arrows A ℓ⁺) (dim : A.Ob → Nat) : Type (o ⊔ ℓ ⊔ ℓ⁺ ⊔ ℓ⁻) where
subject to the following conditions:
- The pair forms an orthogonal factorisation system. In particular, this means that both and contain all isomorphism of and are closed under composition.
field neg-pos-ofs : is-ofs A Neg Pos open is-ofs neg-pos-ofs renaming ( is-iso→in-L to is-iso→neg ; is-iso→in-R to is-iso→pos ; L-is-stable to neg-∘ ; R-is-stable to pos-∘ ; L-subcat to Neg-subcat ; R-subcat to Pos-subcat ) public
- If is invertible, then
- If is non-invertible then
- If is non-invertible then
field dim-iso : ∀ {x y} {f : A.Hom x y} → A.is-invertible f → dim x ≡ dim y dim-neg : ∀ {x y} {f : A.Hom x y} → f ∈ Neg → ¬ (A.is-invertible f) → dim x > dim y dim-pos : ∀ {x y} {f : A.Hom x y} → f ∈ Pos → ¬ (A.is-invertible f) → dim x < dim y
- If is in then must be invertible1.
field neg+pos→invertible : ∀ {x y} {f : A.Hom x y} → f ∈ Neg → f ∈ Pos → A.is-invertible f
- Finally, we require that for every and if then In other words, the stabilizer subgroup of relative to is trivial.
field neg-trivial-stabilizer : ∀ {x y} {f : A.Hom y y} {p : A.Hom x y} → A.is-invertible f → p ∈ Neg → f A.∘ p ≡ p → f ≡ A.id
The purpose of this final axiom is to ensure that isomorphisms in view morphisms in as epimorphisms.
iso-neg-epic : ∀ {x y z} {f₁ f₂ : A.Hom y z} {p : A.Hom x y} → A.is-invertible f₁ → A.is-invertible f₂ → p ∈ Neg → f₁ A.∘ p ≡ f₂ A.∘ p → f₁ ≡ f₂
This follows from some isomorphism shuffling. All isomorphisms are monomorphisms, so it suffices to prove that However, is also an iso, so we can apply our axiom to reduce the goal to showing that which follows from our assumption that
iso-neg-epic {f₁ = f₁} {f₂ = f₂} {p = p} f₁-inv f₂-inv p∈A⁻ f₁∘p=f₂∘p = A.invertible→monic f₂⁻¹-inv f₁ f₂ $ f₂.inv A.∘ f₁ ≡⟨ f₂⁻¹∘f₁∘p=id ⟩≡ A.id ≡˘⟨ f₂.invr ⟩≡˘ f₂.inv A.∘ f₂ ∎ where module f₁ = A.is-invertible f₁-inv module f₂ = A.is-invertible f₂-inv f₂⁻¹-inv : A.is-invertible f₂.inv f₂⁻¹-inv = A.is-invertible-inverse f₂-inv f₂⁻¹∘f₁∘p=id : f₂.inv A.∘ f₁ ≡ A.id f₂⁻¹∘f₁∘p=id = neg-trivial-stabilizer (A.invertible-∘ f₂⁻¹-inv f₁-inv) p∈A⁻ $ A.reassocl.from $ A.pre-invl.from f₂-inv f₁∘p=f₂∘p
We can also upgrade the stabilizer condition to an equivalence.
neg-trivial-stabilizer-equiv : ∀ {x y} {f : A.Hom y y} {p : A.Hom x y} → p ∈ Neg → (A.is-invertible f × f A.∘ p ≡ p) ≃ (f ≡ A.id) neg-trivial-stabilizer-equiv p∈A⁻ = prop-ext! (λ (f-inv , fp=p) → neg-trivial-stabilizer f-inv p∈A⁻ fp=p) (λ f=id → (A.subst-is-invertible (sym f=id) A.id-invertible) , A.eliml f=id)
record Generalized-reedy (ℓ⁻ ℓ⁺ : Level) : Type (o ⊔ ℓ ⊔ lsuc ℓ⁻ ⊔ lsuc ℓ⁺) where field Neg : Arrows A ℓ⁻ Pos : Arrows A ℓ⁺ dim : A.Ob → Nat has-generalized-reedy : is-generalized-reedy Neg Pos dim open is-generalized-reedy has-generalized-reedy public
Reedy structures and direct categories🔗
module _ {oc ℓc oa ℓa ℓ⁻ ℓ⁺} {C : Precategory oc ℓc} {A : Precategory oa ℓa} {Neg : Arrows A ℓ⁻} {Pos : Arrows A ℓ⁺} {dim : Precategory.Ob A → Nat} (A-reedy : is-generalized-reedy A Neg Pos dim) where private module A where open Cat.Reasoning A public open is-generalized-reedy A-reedy public open is-generalized-direct
If is a generalized Reedy structure, then the wide subcategory spanned by is a generalized direct category.
generalized-reedy→pos-direct : is-generalized-direct (Wide A.Pos-subcat)
First, note that the inclusion functor is pseudomonic and thus conservative, as contains all isos. This means that if some is non-invertible in then it must also be non-invertible in
In particular, this means that is strictly monotone with respect to the relation
as non-invertible maps in increase dimension. This lets us pull back well-foundedness of to which completes the proof.
generalized-reedy→pos-direct .≺-wf = reflect-wf <-wf dim $ rec! λ f ¬f-inv → A.dim-pos (f .witness) (¬f-inv ⊙ Forget-conservative) where Forget-conservative : is-conservative Forget-wide-subcat Forget-conservative = pseudomonic→conservative (is-pseudomonic-Forget-wide-subcat (A.is-iso→pos _)) _
Reflecting generalized Reedy structures🔗
Let be a generalized Reedy category, and be a reflective subcategory with reflector and then is a generalized Reedy structure on
module _ {oc ℓc oa ℓa ℓ⁻ ℓ⁺} {C : Precategory oc ℓc} {A : Precategory oa ℓa} {Neg : Arrows A ℓ⁻} {Pos : Arrows A ℓ⁺} {dim : Precategory.Ob A → Nat} {ι : Functor C A} {r : Functor A C} where open Functor
reflect-generalized-reedy : (r⊣ι : r ⊣ ι) → is-reflective r⊣ι → Neg ⊆ F-restrict-arrows (ι F∘ r) Neg → Pos ⊆ F-restrict-arrows (ι F∘ r) Pos → is-generalized-reedy A Neg Pos dim → is-generalized-reedy C (F-restrict-arrows ι Neg) (F-restrict-arrows ι Pos) (dim ⊙ ι .F₀) reflect-generalized-reedy r⊣ι ι-ff ι∘r-pos ι∘r-neg A-reedy = C-reedy where
module A where open Cat.Reasoning A public open is-generalized-reedy A-reedy public module C = Cat.Reasoning C open is-generalized-reedy module ι = Cat.Functor.Reasoning.FullyFaithful ι ι-ff
Our first goal is to show that forms an orthogonal factorisation system on This follows from some general results about reflecting OFSs onto reflective subcategories.
C-reedy : is-generalized-reedy C _ _ _ C-reedy .neg-pos-ofs = reflect-ofs r⊣ι ι-ff ι∘r-pos ι∘r-neg A.neg-pos-ofs
Next, let’s show that the restriction of along is well-behaved. By definition is fully faithful, and thus conservative. This means that we can reflect the (non)-existence of isomorphisms in into which in turn lets us reflect all of the properties of dimensions.
C-reedy .dim-iso f-inv = A.dim-iso (ι.F-map-invertible f-inv) C-reedy .dim-neg ι[f]∈A⁻ ¬f-inv = A.dim-neg ι[f]∈A⁻ (¬f-inv ⊙ ι.invertible.from) C-reedy .dim-pos ι[f]∈A⁺ ¬f-inv = A.dim-pos ι[f]∈A⁺ (¬f-inv ⊙ ι.invertible.from) C-reedy .neg+pos→invertible ι[f]∈A⁻ ι[f]∈A⁺ = ι.invertible.from (A.neg+pos→invertible ι[f]∈A⁻ ι[f]∈A⁺)
Finally, we need to show that the stabilizer subgroups of a with are trivial. First, note that a map is equal to if and only if However, has trivial stabilizers in so this is only true if is invertible and fixes Finally, is fully faithful, so this is true if and only if is invertible and
C-reedy .neg-trivial-stabilizer {f = f} {p = p} f-inv ι[p]∈A⁻ f∘p=p = flip Equiv.from (f-inv , f∘p=p) $ f ≡ C.id ≃⟨ ι.to-id ⟩≃ ι.₁ f ≡ A.id ≃˘⟨ A.neg-trivial-stabilizer-equiv ι[p]∈A⁻ ⟩≃˘ A.is-invertible (ι.₁ f) × ι.₁ f A.∘ ι.F₁ p ≡ ι.F₁ p ≃⟨ Σ-ap (ι.invertible-equiv e⁻¹) (λ _ → ι.triangle-equivl) ⟩≃ C.is-invertible f × f C.∘ p ≡ p ≃∎
In the presence of excluded middle, the previous three axioms imply that every map with must be invertible, as otherwise we’d have However, in constructive foundations the best we can do is show that is not non-invertible, which is why we explicitly require this as an axiom.↩︎