lean2/tests/lean/run/fun.lean
Leonardo de Moura 4b91cfccff feat(frontends/lean/builtin_exprs): make notation ( e : T ) builtin
In the previous approach, the following (definitionally equal) term was being generated

       (fun (A : Type) (a : A), a) T e
2015-06-10 14:52:59 -07:00

22 lines
344 B
Text

import logic algebra.function
open function bool
constant f : num → bool
constant g : num → num
check f ∘ g ∘ g
check (id : num → num)
constant h : num → bool → num
check swap h
check swap h ff num.zero
check (swap h ff num.zero : num)
constant f1 : num → num → bool
constant f2 : bool → num
check (f1 on f2) ff tt