equal
deleted
inserted
replaced
26 Goalw [psubset_def] "~ (A < {})"; |
26 Goalw [psubset_def] "~ (A < {})"; |
27 by (Blast_tac 1); |
27 by (Blast_tac 1); |
28 qed "not_psubset_empty"; |
28 qed "not_psubset_empty"; |
29 AddIffs [not_psubset_empty]; |
29 AddIffs [not_psubset_empty]; |
30 |
30 |
|
31 Goal "(Collect P = {}) = (!x. ~ P x)"; |
|
32 by Auto_tac; |
|
33 qed "Collect_empty_eq"; |
|
34 Addsimps[Collect_empty_eq]; |
|
35 |
31 Goal "{x. P x | Q x} = {x. P x} Un {x. Q x}"; |
36 Goal "{x. P x | Q x} = {x. P x} Un {x. Q x}"; |
32 by (Blast_tac 1); |
37 by (Blast_tac 1); |
33 qed "Collect_disj_eq"; |
38 qed "Collect_disj_eq"; |
34 |
39 |
35 Goal "{x. P x & Q x} = {x. P x} Int {x. Q x}"; |
40 Goal "{x. P x & Q x} = {x. P x} Int {x. Q x}"; |
149 Addsimps[if_image_distrib]; |
154 Addsimps[if_image_distrib]; |
150 |
155 |
151 val prems = Goal "[|M = N; !!x. x:N ==> f x = g x|] ==> f``M = g``N"; |
156 val prems = Goal "[|M = N; !!x. x:N ==> f x = g x|] ==> f``M = g``N"; |
152 by (simp_tac (simpset() addsimps image_def::prems) 1); |
157 by (simp_tac (simpset() addsimps image_def::prems) 1); |
153 qed "image_cong"; |
158 qed "image_cong"; |
|
159 |
|
160 |
|
161 section "range"; |
|
162 |
|
163 Goal "{u. ? x. u = f x} = range f"; |
|
164 by Auto_tac; |
|
165 qed "full_SetCompr_eq"; |
|
166 Addsimps[full_SetCompr_eq]; |
154 |
167 |
155 |
168 |
156 section "Int"; |
169 section "Int"; |
157 |
170 |
158 Goal "A Int A = A"; |
171 Goal "A Int A = A"; |