2015-01-05 13:27:09 -08:00
|
|
|
open nat
|
2015-01-05 12:25:14 -08:00
|
|
|
|
2015-02-25 16:20:44 -08:00
|
|
|
definition f : nat → nat → nat
|
|
|
|
| f _ 0 := 0
|
|
|
|
| f 0 _ := 1
|
|
|
|
| f _ _ := arbitrary nat
|
2015-01-05 12:25:14 -08:00
|
|
|
|
2015-02-25 16:20:44 -08:00
|
|
|
theorem f_zero_right : ∀ a, f a 0 = 0
|
|
|
|
| f_zero_right 0 := rfl
|
|
|
|
| f_zero_right (succ _) := rfl
|
2015-01-05 12:25:14 -08:00
|
|
|
|
|
|
|
theorem f_zero_succ (a : nat) : f 0 (a+1) = 1 :=
|
|
|
|
rfl
|
|
|
|
|
2015-01-05 13:27:09 -08:00
|
|
|
theorem f_succ_succ (a b : nat) : f (a+1) (b+1) = arbitrary nat :=
|
2015-01-05 12:25:14 -08:00
|
|
|
rfl
|