Source code on Github
{-# OPTIONS --without-K #-}
module Class.Prelude where

open import Agda.Primitive public
  using () renaming (Set to Type; Setω to Typeω)
open import Level public
  using (Level; _⊔_) renaming (suc to lsuc)
open import Function public
  using (id; _∘_; _∋_; _$_; const; constᵣ; flip; it)

open import Data.Empty public
  using (; ⊥-elim)
open import Data.Unit public
  using (; tt)
open import Data.Product public
  using (_×_; _,_; proj₁; proj₂; Σ; ; -,_)
open import Data.Sum public
  using (_⊎_; inj₁; inj₂)
open import Data.Bool public
  using (Bool; true; false; not; if_then_else_; T)
open import Data.Nat public
  using (; zero; suc)
open import Data.Fin as Fin public
  using (Fin; zero; suc)
open import Data.Integer public
  using (; 0ℤ; 1ℤ)
open import Data.Rational public
  using ()
open import Data.Float public
  using (Float)
open import Data.Char public
  using (Char)
open import Data.String public
  using (String)
open import Data.Maybe public
  using (Maybe; just; nothing; maybe; fromMaybe)
open import Data.List public
  using (List; []; _∷_; [_]; map; _++_; foldr; concat; concatMap)
open import Data.List.NonEmpty public
  using (List⁺; _∷_; _⁺++⁺_; foldr₁)
open import Data.Vec public
  using (Vec; []; _∷_)
open import Data.These public
  using (These; this; that; these)

open import Relation.Nullary public
  using (¬_; Dec; yes; no)
open import Relation.Nullary.Decidable public
  using (⌊_⌋; dec-yes; isYes)
open import Relation.Unary public
  using (Pred)
  renaming (Decidable to Decidable¹)
open import Relation.Binary public
  using (REL; Rel; DecidableEquality)
  renaming (Decidable to Decidable²)
module _ {a b c} where
  3REL : (A : Set a) (B : Set b) (C : Set 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)

open import Reflection public
  using (TC; Arg; Abs)

variable
   ℓ′ ℓ″ : Level
  A B C : Type 

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