open import 1Lab.Prelude hiding (_∘_ ; id ; _↪_ ; _↠_)
open import Cat.Morphism
open import Cat.Base
open Precategory
module Cat.Morphism.Instances where
abstract
instance
H-Level-is-invertible
: ∀ {o ℓ} {C : Precategory o ℓ} {a b} {f : C .Hom a b} {n} → H-Level (is-invertible C f) (suc n)
H-Level-is-invertible {C = C} = prop-instance (is-invertible-is-prop C)
unquoteDecl H-Level-↪ = declare-record-hlevel 2 H-Level-↪ (quote _↪_)
unquoteDecl H-Level-↠ = declare-record-hlevel 2 H-Level-↠ (quote _↠_)
unquoteDecl H-Level-Inverses = declare-record-hlevel 2 H-Level-Inverses (quote Inverses)
unquoteDecl H-Level-≅ = declare-record-hlevel 2 H-Level-≅ (quote _≅_)
unquoteDecl
H-Level-has-section = declare-record-hlevel 2 H-Level-has-section (quote has-section)
unquoteDecl
H-Level-has-retract = declare-record-hlevel 2 H-Level-has-retract (quote has-retract)
module _ {o ℓ} {C : Precategory o ℓ} where instance
Extensional-↪ : ∀ {a b ℓr} ⦃ _ : Extensional (C .Hom a b) ℓr ⦄ → Extensional (_↪_ C a b) ℓr
Extensional-↪ ⦃ sa ⦄ = injection→extensional! (↪-pathp C) sa
Extensional-↠ : ∀ {a b ℓr} ⦃ _ : Extensional (C .Hom a b) ℓr ⦄ → Extensional (_↠_ C a b) ℓr
Extensional-↠ ⦃ sa ⦄ = injection→extensional! (↠-pathp C) sa
Extensional-≅ : ∀ {a b ℓr} ⦃ _ : Extensional (C .Hom a b) ℓr ⦄ → Extensional (_≅_ C a b) ℓr
Extensional-≅ ⦃ sa ⦄ = injection→extensional! (≅-pathp C refl refl) sa
Funlike-≅
: ∀ {ℓ' ℓ''} {A : Type ℓ'} {B : A → Type ℓ''}
→ ∀ {a b} ⦃ i : Funlike (Hom C a b) A B ⦄
→ Funlike (_≅_ C a b) A B
Funlike-≅ .Funlike._·_ f x = f .to · x