module Stdlib where

open import Data.Product
open import Data.List.Base

private

  variable
    A B : Set

const : Set  (A  Set)
const P x = P

_∙×_ : (P Q : A  Set)  (A  Set)
(P ∙× Q) x = P x × Q x

_⇒_ : (P Q : A  Set)  (A  Set)
(P  Q) x = P x  Q x

∀[_] : (A  Set)  Set
∀[_] P =  {x}  P x

_⊢_ : (A  B)  (B  Set)  (A  Set)
(f  P) x = P (f x)




data  : Set where




data Dec (P : Set) : Set where
  yes  : P         Dec P
  no   : (P  )   Dec P


variable
  a : A
  as : List A


data All (P : A  Set) : List A  Set where
  []   : All P []
  _∷_  : P a  All P as  All P (a  as)