lean2/tests/lean/slow/nat_bug1.lean
Leonardo de Moura 653141135d chore(tests/lean): add missing tests
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-04 15:04:57 -07:00

23 lines
846 B
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

----------------------------------------------------------------------------------------------------
-- Copyright (c) 2014 Floris van Doorn. All rights reserved.
-- Released under Apache 2.0 license as described in the file LICENSE.
-- Author: Floris van Doorn
----------------------------------------------------------------------------------------------------
import logic
open tactic num
inductive nat : Type :=
zero : nat,
succ : nat → nat
notation ``:max := nat
abbreviation plus (x y : ) :
:= nat_rec x (λ n r, succ r) y
definition to_nat [coercion] [inline] (n : num) :
:= num_rec zero (λ n, pos_num_rec (succ zero) (λ n r, plus r (plus r (succ zero))) (λ n r, plus r r) n) n
print "=================="
theorem nat_rec_zero {P : → Type} (x : P 0) (f : ∀m, P m → P (succ m)) : nat_rec x f 0 = x :=
refl _