packages feed

Agda-2.3.2.2: src/prototyping/nameless/test.lam

Nat  : *
zero : Nat
suc  : Nat -> Nat

elimNat : (P : Nat -> *) ->
          P zero -> ((n : Nat) -> P n -> P (suc n)) ->
          (n : Nat) -> P n

id : (A : *) -> A -> A
   = \A x -> x

plus : (n m : Nat) -> Nat
     = \n m -> elimNat (\z -> Nat) m (\z -> suc) n

List : * -> *
nil : (A : *) -> List A
cons : (A : *) -> A -> List A -> List A
map : (A B : *) -> (A -> B) -> List A -> List B

False : *
True : *
tt : True
And : * -> * -> *
andI : (A B : *) -> A -> B -> And A B
fst : (A B : *) -> And A B -> A
snd : (A B : *) -> And A B -> B
Or : * -> * -> *
inl : (A B : *) -> A -> Or A B
inr : (A B : *) -> B -> Or A B
orE : (A B C : *) -> (A -> C) -> (B -> C) -> Or A B -> C
Not : * -> * = \A -> A -> False

nnEM : (P : *) -> Not (Not (Or P (Not P)))
  = \P H -> H (inr (\p -> H (inl p)))