author | wenzelm |
Wed, 08 Mar 2000 17:51:29 +0100 | |
changeset 8367 | 2d77b5a723f1 |
parent 5137 | 60205b0de9b9 |
child 11317 | 7f9e4c389318 |
permissions | -rw-r--r-- |
1461 | 1 |
(* Title: ZF/AC/AC0_AC1.ML |
1123 | 2 |
ID: $Id$ |
1461 | 3 |
Author: Krzysztof Grabczewski |
1123 | 4 |
|
5 |
AC0 is equivalent to AC1 |
|
6 |
AC0 comes from Suppes, AC1 from Rubin & Rubin |
|
7 |
*) |
|
8 |
||
5137 | 9 |
Goal "0~:A ==> A <= Pow(Union(A))-{0}"; |
2469 | 10 |
by (Fast_tac 1); |
3731 | 11 |
qed "subset_Pow_Union"; |
1123 | 12 |
|
5137 | 13 |
Goal "[| f:(PROD X:A. X); D<=A |] ==> EX g. g:(PROD X:D. X)"; |
4091 | 14 |
by (fast_tac (claset() addSIs [restrict_type, apply_type]) 1); |
1123 | 15 |
val lemma1 = result(); |
16 |
||
5137 | 17 |
Goalw AC_defs "AC0 ==> AC1"; |
1123 | 18 |
by (fast_tac (FOL_cs addSEs [lemma1, subset_Pow_Union]) 1); |
1196 | 19 |
qed "AC0_AC1"; |
1123 | 20 |
|
5137 | 21 |
Goalw AC_defs "AC1 ==> AC0"; |
2469 | 22 |
by (Deepen_tac 0 1); |
1924
0f1a583457da
Corrected for new classical reasoner: redundant rules
paulson
parents:
1461
diff
changeset
|
23 |
(*Large search space. Faster proof by |
4091 | 24 |
by (fast_tac (claset() addSIs [notI, singletonI] addSEs [notE, DiffE]) 1); |
1924
0f1a583457da
Corrected for new classical reasoner: redundant rules
paulson
parents:
1461
diff
changeset
|
25 |
*) |
1196 | 26 |
qed "AC1_AC0"; |