Source code on Github
{-# OPTIONS --cubical-compatible #-}
module Class.Prelude where

open import Agda.Primitive public
  using () renaming (Set to Type; Setω to Typeω)
open import Level public
  using (Level; _⊔_; Lift; lift; 0ℓ) renaming (suc to lsuc)
module Fun where open import Function.Base public
open Fun public
  using (id; _∘_; _∘₂_; _∋_; _$_; const; constᵣ; flip; it; case_of_; _|>_)

open import Data.Empty public
  using (; ⊥-elim)
open import Data.Unit public
  using (; tt)
open import Data.These public
  using (These; this; that; these)
open import Data.Refinement public
  using (Refinement; _,_; value)
module Prod where open import Data.Product public
open Prod public
  using (_×_; _,_; proj₁; proj₂; Σ; ; ∃-syntax; -,_)
module Sum where open import Data.Sum public
open Sum public
  using (_⊎_; inj₁; inj₂)
module 𝔹 where open import Data.Bool public
open 𝔹 public
  using (Bool; true; false; not; if_then_else_; T)
module Nat where open import Data.Nat public; open import Data.Nat.Properties public
open Nat public
  using (; zero; suc)
module Bin where open import Data.Nat.Binary public
open Bin public
  using (ℕᵇ)
module Fi where open import Data.Fin public
open Fi public
  using (Fin; zero; suc)
module Int where open import Data.Integer public
open Int public
  using (; 0ℤ; 1ℤ; -_)
module Q where open import Data.Rational public
open Q public
  using ()
module Fl where open import Data.Float public
open Fl public
  using (Float)
module Ch where open import Data.Char public
open Ch public
  using (Char)
module Str where open import Data.String public
open Str public
  using (String)
module Word where open import Data.Word64 public
open Word public
  using (Word64)
module Mb where open import Data.Maybe public
open Mb public
  using (Maybe; just; nothing; maybe; fromMaybe)
module L where open import Data.List public
open L public
  using (List; []; _∷_; [_]; map; _++_; foldr; concat; concatMap; length)
module L⁺ where open import Data.List.NonEmpty public
open L⁺ public
  using (List⁺; _∷_; _⁺++⁺_; foldr₁)
module V where open import Data.Vec public
open V public
  using (Vec; []; _∷_)

module Meta where
  open import Reflection public
  open import Reflection.AST public
  open import Reflection.TCM public
open Meta public
  using (TC; Arg; Abs)

open import Relation.Nullary public
  using (¬_; Dec; yes; no; contradiction; Irrelevant)
open import Relation.Nullary.Decidable public
  using (⌊_⌋; dec-yes; isYes)
  renaming (map′ to mapDec)
open import Relation.Unary public
  using (Pred)
  renaming (Decidable to Decidable¹)
open import Relation.Binary public
  using ( REL; Rel; DecidableEquality
        ; IsEquivalence; Setoid
        )
  renaming (Decidable to Decidable²)
module _ {a b c} where
  3REL : (A : Type a) (B : Type b) (C : Type c) ( : Level)  Type _
  3REL A B C  = A  B  C  Type 

  Decidable³ :  {A B C }  3REL A B C   Type _
  Decidable³ _~_~_ =  x y z  Dec (x ~ y ~ z)
open import Relation.Binary.PropositionalEquality public
  using (_≡_; refl; sym; cong; subst; trans)

variable
   ℓ′ ℓ″ ℓ‴ : Level
  A B C : Type 
  x y : A
  P Q : Pred A 
  R R′ : Rel A 
  n m : 

module Alg (_~_ : Rel A ) where
  open import Algebra.Definitions _~_ public
module Alg≡ {} {A : Type } = Alg (_≡_ {A = A})

itω :  {A : Typeω}   A   A
itω  x  = x