module Constructions.Coproduct (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 open import Data.Bool import posIR open posIR C HomC idC _∘C_ infixl 3 _+IR_ _+IR_ : IR+ -> IR+ -> IR+ a +IR b = σ Bool (λ { true → a ; false → b })