module Intro
(C : Set1)
(HomC : C -> C -> Set)
(idC : (c : C) -> HomC c c)
(_∘C_ : {a b c : C} -> HomC b c -> HomC a b -> HomC a c)
where
import Prelude
open Prelude C HomC idC _∘C_
import posIR
open posIR C HomC idC _∘C_
mutual
{-# NO_POSITIVITY_CHECK #-}
data U (c : IR+) : Set where
intro : index (⟦ c ⟧IR+ (U c , T)) -> U c
{-# TERMINATING #-}
T : {c : IR+} -> U c -> C
T {c} (intro x) = fam (⟦ c ⟧IR+ (U c , T)) x
introMorphism : {c : IR+} -> HomFamC (⟦ c ⟧IR+ (U c , T)) (U c , T)
introMorphism = intro , (λ x → idC _)