module untyped.catComb where

open import untyped.type

data CatComb : Type  Type  Set where
  fold : CatComb (U  U) U
  unfold : CatComb U (U  U)
  _∘_ :  {A B C}  CatComb B C  CatComb A B  CatComb A C
  ⟨_,_⟩ :  {A B C}  CatComb A B  CatComb A C  CatComb A (B × C)
  p₁ :  {A B}  CatComb (A × B) A
  p₂ :  {A B}  CatComb (A × B) B
  cur :  {A B C}  CatComb (A × B) C  CatComb A (B  C)
  ev :  {A B}  CatComb (A  B × A) B