{-# OPTIONS --cubical-compatible #-} module Prelude where open import Agda.Primitive module šŸ˜ where data āŠ„ : Set where Ā¬_ : Set ā†’ Set Ā¬ A = A ā†’ āŠ„ open šŸ˜ public module šŸ™ where data āŠ¤ : Set where tt : āŠ¤ open šŸ™ public module šŸš where data Bool : Set where true : Bool false : Bool open šŸš public id : {l : Level} {A : Set l} ā†’ A ā†’ A id x = x module Nat where data ā„• : Set where zero : ā„• suc : ā„• ā†’ ā„• {-# BUILTIN NATURAL ā„• #-} infixl 6 _+_ _+_ : ā„• ā†’ ā„• ā†’ ā„• zero + n = n suc m + n = suc (m + n) open Nat public infix 4 _ā‰”_ data _ā‰”_ {l} {A : Set l} : (a b : A) ā†’ Set l where instance refl : {x : A} ā†’ x ā‰” x transport : {lā‚ lā‚‚ : Level} {A : Set lā‚} {x y : A} ā†’ (P : A ā†’ Set lā‚‚) ā†’ (p : x ā‰” y) ā†’ P x ā†’ P y transport {lā‚} {lā‚‚} {A} {x} {y} P refl = id infix 4 _ā‰¢_ _ā‰¢_ : āˆ€ {A : Set} ā†’ A ā†’ A ā†’ Set x ā‰¢ y = Ā¬ (x ā‰” y)