624 by (etac (nat_0_le RS subst) 1); |
622 by (etac (nat_0_le RS subst) 1); |
625 by (Simp_tac 1); |
623 by (Simp_tac 1); |
626 qed "nat_less_iff"; |
624 qed "nat_less_iff"; |
627 |
625 |
628 |
626 |
629 (*Users don't want to see (int 0) or w + - z*) |
627 (*Users don't want to see (int 0), int(Suc 0) or w + - z*) |
630 Addsimps [int_0, symmetric zdiff_def]; |
628 Addsimps [int_0, int_Suc, symmetric zdiff_def]; |
|
629 |
|
630 Goal "nat #0 = 0"; |
|
631 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
632 qed "nat_0"; |
|
633 |
|
634 Goal "nat #1 = 1"; |
|
635 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
636 qed "nat_1"; |
|
637 |
|
638 Goal "nat #2 = 2"; |
|
639 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
640 qed "nat_2"; |
|
641 |
|
642 Goal "nat #3 = Suc 2"; |
|
643 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
644 qed "nat_3"; |
|
645 |
|
646 Goal "nat #4 = Suc (Suc 2)"; |
|
647 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
648 qed "nat_4"; |
|
649 |
|
650 Goal "nat #5 = Suc (Suc (Suc 2))"; |
|
651 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
652 qed "nat_5"; |
|
653 |
|
654 Goal "nat #6 = Suc (Suc (Suc (Suc 2)))"; |
|
655 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
656 qed "nat_6"; |
|
657 |
|
658 Goal "nat #7 = Suc (Suc (Suc (Suc (Suc 2))))"; |
|
659 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
660 qed "nat_7"; |
|
661 |
|
662 Goal "nat #8 = Suc (Suc (Suc (Suc (Suc (Suc 2)))))"; |
|
663 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
664 qed "nat_8"; |
|
665 |
|
666 Goal "nat #9 = Suc (Suc (Suc (Suc (Suc (Suc (Suc 2))))))"; |
|
667 by (simp_tac (simpset() addsimps [nat_eq_iff]) 1); |
|
668 qed "nat_9"; |
|
669 |
|
670 (*Users also don't want to see (nat 0), (nat 1), ...*) |
|
671 Addsimps [nat_0, nat_1, nat_2, nat_3, nat_4, |
|
672 nat_5, nat_6, nat_7, nat_8, nat_9]; |
|
673 |
631 |
674 |
632 Goal "#0 <= w ==> (nat w < nat z) = (w<z)"; |
675 Goal "#0 <= w ==> (nat w < nat z) = (w<z)"; |
633 by (case_tac "neg z" 1); |
676 by (case_tac "neg z" 1); |
634 by (auto_tac (claset(), simpset() addsimps [nat_less_iff])); |
677 by (auto_tac (claset(), simpset() addsimps [nat_less_iff])); |
635 by (auto_tac (claset() addIs [zless_trans], |
678 by (auto_tac (claset() addIs [zless_trans], |