lean2/tests/lean/run/eq13.lean
Leonardo de Moura d8f3bcec67 feat(library/init/logic): add 'arbitrary'
It is identical to default, but it is opaque.
That is, when we use 'arbitrary A', we cannot rely on the particular
value selected.
2015-01-05 13:27:09 -08:00

16 lines
320 B
Text

open nat
definition f : nat → nat → nat,
f _ 0 := 0,
f 0 _ := 1,
f _ _ := arbitrary nat
theorem f_zero_right : ∀ a, f a 0 = 0,
f_zero_right 0 := rfl,
f_zero_right (succ _) := rfl
theorem f_zero_succ (a : nat) : f 0 (a+1) = 1 :=
rfl
theorem f_succ_succ (a b : nat) : f (a+1) (b+1) = arbitrary nat :=
rfl