equal
deleted
inserted
replaced
543 apply (metis finite_1.exhaust) |
543 apply (metis finite_1.exhaust) |
544 done |
544 done |
545 |
545 |
546 end |
546 end |
547 |
547 |
548 hide_const a\<^isub>1 |
548 hide_const (open) a\<^isub>1 |
549 |
549 |
550 datatype finite_2 = a\<^isub>1 | a\<^isub>2 |
550 datatype finite_2 = a\<^isub>1 | a\<^isub>2 |
551 |
551 |
552 notation (output) a\<^isub>1 ("a\<^isub>1") |
552 notation (output) a\<^isub>1 ("a\<^isub>1") |
553 notation (output) a\<^isub>2 ("a\<^isub>2") |
553 notation (output) a\<^isub>2 ("a\<^isub>2") |
596 apply (metis finite_2.distinct finite_2.nchotomy)+ |
596 apply (metis finite_2.distinct finite_2.nchotomy)+ |
597 done |
597 done |
598 |
598 |
599 end |
599 end |
600 |
600 |
601 hide_const a\<^isub>1 a\<^isub>2 |
601 hide_const (open) a\<^isub>1 a\<^isub>2 |
602 |
602 |
603 |
603 |
604 datatype finite_3 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 |
604 datatype finite_3 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 |
605 |
605 |
606 notation (output) a\<^isub>1 ("a\<^isub>1") |
606 notation (output) a\<^isub>1 ("a\<^isub>1") |
649 instance proof (intro_classes) |
649 instance proof (intro_classes) |
650 qed (auto simp add: less_finite_3_def less_eq_finite_3_def split: finite_3.split_asm) |
650 qed (auto simp add: less_finite_3_def less_eq_finite_3_def split: finite_3.split_asm) |
651 |
651 |
652 end |
652 end |
653 |
653 |
654 hide_const a\<^isub>1 a\<^isub>2 a\<^isub>3 |
654 hide_const (open) a\<^isub>1 a\<^isub>2 a\<^isub>3 |
655 |
655 |
656 |
656 |
657 datatype finite_4 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 | a\<^isub>4 |
657 datatype finite_4 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 | a\<^isub>4 |
658 |
658 |
659 notation (output) a\<^isub>1 ("a\<^isub>1") |
659 notation (output) a\<^isub>1 ("a\<^isub>1") |
685 by (auto, case_tac x) auto |
685 by (auto, case_tac x) auto |
686 qed (auto simp add: enum_finite_4_def intro: finite_4.exhaust) |
686 qed (auto simp add: enum_finite_4_def intro: finite_4.exhaust) |
687 |
687 |
688 end |
688 end |
689 |
689 |
690 hide_const a\<^isub>1 a\<^isub>2 a\<^isub>3 a\<^isub>4 |
690 hide_const (open) a\<^isub>1 a\<^isub>2 a\<^isub>3 a\<^isub>4 |
691 |
691 |
692 |
692 |
693 datatype finite_5 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 | a\<^isub>4 | a\<^isub>5 |
693 datatype finite_5 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 | a\<^isub>4 | a\<^isub>5 |
694 |
694 |
695 notation (output) a\<^isub>1 ("a\<^isub>1") |
695 notation (output) a\<^isub>1 ("a\<^isub>1") |
722 by (auto, case_tac x) auto |
722 by (auto, case_tac x) auto |
723 qed (auto simp add: enum_finite_5_def intro: finite_5.exhaust) |
723 qed (auto simp add: enum_finite_5_def intro: finite_5.exhaust) |
724 |
724 |
725 end |
725 end |
726 |
726 |
727 hide_const a\<^isub>1 a\<^isub>2 a\<^isub>3 a\<^isub>4 a\<^isub>5 |
727 hide_const (open) a\<^isub>1 a\<^isub>2 a\<^isub>3 a\<^isub>4 a\<^isub>5 |
728 |
728 |
729 |
729 |
730 hide_type finite_1 finite_2 finite_3 finite_4 finite_5 |
730 hide_type (open) finite_1 finite_2 finite_3 finite_4 finite_5 |
731 hide_const (open) enum enum_all enum_ex n_lists all_n_lists ex_n_lists product |
731 hide_const (open) enum enum_all enum_ex n_lists all_n_lists ex_n_lists product |
732 |
732 |
733 end |
733 end |