equal
deleted
inserted
replaced
1 (* Title: HOL/set |
1 (* Title: HOL/set |
2 ID: $Id$ |
2 ID: $Id$ |
3 Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
3 Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
4 Copyright 1991 University of Cambridge |
4 Copyright 1991 University of Cambridge |
5 |
5 |
6 For set.thy. Set theory for higher-order logic. A set is simply a predicate. |
6 For set.thy. Set theory for higher-order logic. A set is simply a predicate. |
7 *) |
7 *) |
8 |
8 |
337 val prems = goal Set.thy |
337 val prems = goal Set.thy |
338 "[| A=B; !!x. x:B ==> C(x) = D(x) |] ==> \ |
338 "[| A=B; !!x. x:B ==> C(x) = D(x) |] ==> \ |
339 \ (UN x:A. C(x)) = (UN x:B. D(x))"; |
339 \ (UN x:A. C(x)) = (UN x:B. D(x))"; |
340 by (REPEAT (etac UN_E 1 |
340 by (REPEAT (etac UN_E 1 |
341 ORELSE ares_tac ([UN_I,equalityI,subsetI] @ |
341 ORELSE ares_tac ([UN_I,equalityI,subsetI] @ |
342 (prems RL [equalityD1,equalityD2] RL [subsetD])) 1)); |
342 (prems RL [equalityD1,equalityD2] RL [subsetD])) 1)); |
343 qed "UN_cong"; |
343 qed "UN_cong"; |
344 |
344 |
345 |
345 |
346 (*** Intersections of families -- INTER x:A. B(x) is Inter(B``A) *) |
346 (*** Intersections of families -- INTER x:A. B(x) is Inter(B``A) *) |
347 |
347 |