1 (* Title: FOL/ex/nat2.thy
4 Copyright 1994 University of Cambridge
6 Theory for examples of simplification and induction on the natural numbers
15 succ,pred :: "nat => nat"
17 "+" :: "[nat,nat] => nat" (infixr 90)
18 "<","<=" :: "[nat,nat] => o" (infixr 70)
22 pred_succ "pred(succ(m)) = m"
25 plus_succ "succ(m)+n = succ(m+n)"
27 nat_distinct1 "~ 0=succ(n)"
28 nat_distinct2 "~ succ(m)=0"
29 succ_inject "succ(m)=succ(n) <-> m=n"
32 leq_succ_succ "succ(m)<=succ(n) <-> m<=n"
33 leq_succ_0 "~ succ(m) <= 0"
35 lt_0_succ "0 < succ(n)"
36 lt_succ_succ "succ(m)<succ(n) <-> m<n"
39 nat_ind "[| P(0); ALL n. P(n)-->P(succ(n)) |] ==> All(P)"