lean2/tests/lean/elab1.lean
Leonardo de Moura 4ba097a141 feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end'
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-01-05 13:06:36 -08:00

29 lines
673 B
Text

variable f {A : Type} (a b : A) : A.
check f 10 true
variable g {A B : Type} (a : A) : A.
check g 10
variable h : Pi (A : Type), A -> A.
check fun x, fun A : Type, h A x
variable my_eq : Pi A : Type, A -> A -> Bool.
check fun (A B : Type) (a : _) (b : _) (C : Type), my_eq C a b.
variable a : Bool
variable b : Bool
variable H : a /\ b
theorem t1 : b := Discharge (fun H1, Conj H1 (Conjunct1 H)).
theorem t2 : a = b := Trans (Refl a) (Refl b).
check f Bool Bool.
theorem pierce (a b : Bool) : ((a ⇒ b) ⇒ a) ⇒ a :=
Discharge (λ H, DisjCases (EM a)
(λ H_a, H)
(λ H_na, NotImp1 (MT H H_na)))