equal
deleted
inserted
replaced
78 goal List.thy "x mem [x:xs.P(x)] = (x mem xs & P(x))"; |
78 goal List.thy "x mem [x:xs.P(x)] = (x mem xs & P(x))"; |
79 by (list.induct_tac "xs" 1); |
79 by (list.induct_tac "xs" 1); |
80 by (ALLGOALS (asm_simp_tac (!simpset setloop (split_tac [expand_if])))); |
80 by (ALLGOALS (asm_simp_tac (!simpset setloop (split_tac [expand_if])))); |
81 qed "mem_filter"; |
81 qed "mem_filter"; |
82 |
82 |
83 (** setOfList **) |
83 (** set_of_list **) |
84 |
84 |
85 goal thy "setOfList (xs@ys) = (setOfList xs Un setOfList ys)"; |
85 goal thy "set_of_list (xs@ys) = (set_of_list xs Un set_of_list ys)"; |
86 by (list.induct_tac "xs" 1); |
86 by (list.induct_tac "xs" 1); |
87 by (ALLGOALS Asm_simp_tac); |
87 by (ALLGOALS Asm_simp_tac); |
88 by (Fast_tac 1); |
88 by (Fast_tac 1); |
89 qed "setOfList_append"; |
89 qed "set_of_list_append"; |
90 |
90 |
91 goal thy "(x mem xs) = (x: setOfList xs)"; |
91 goal thy "(x mem xs) = (x: set_of_list xs)"; |
92 by (list.induct_tac "xs" 1); |
92 by (list.induct_tac "xs" 1); |
93 by (ALLGOALS (asm_simp_tac (!simpset setloop (split_tac [expand_if])))); |
93 by (ALLGOALS (asm_simp_tac (!simpset setloop (split_tac [expand_if])))); |
94 by (Fast_tac 1); |
94 by (Fast_tac 1); |
95 qed "setOfList_mem_eq"; |
95 qed "set_of_list_mem_eq"; |
96 |
96 |
97 |
97 |
98 (** list_all **) |
98 (** list_all **) |
99 |
99 |
100 goal List.thy "(Alls x:xs.True) = True"; |
100 goal List.thy "(Alls x:xs.True) = True"; |