equal
deleted
inserted
replaced
1070 (rtac adm_disj_lemma9 1), |
1070 (rtac adm_disj_lemma9 1), |
1071 (atac 1), |
1071 (atac 1), |
1072 (atac 1) |
1072 (atac 1) |
1073 ]); |
1073 ]); |
1074 |
1074 |
|
1075 |
|
1076 val adm_disj_lemma11 = prove_goal Fix.thy |
|
1077 "[| adm(P); is_chain(Y); ! i. ? j. i < j & P(Y(j)) |]==>P(lub(range(Y)))" |
|
1078 (fn prems => |
|
1079 [ |
|
1080 (cut_facts_tac prems 1), |
|
1081 (etac adm_disj_lemma2 1), |
|
1082 (etac adm_disj_lemma10 1), |
|
1083 (atac 1) |
|
1084 ]); |
|
1085 |
|
1086 val adm_disj_lemma12 = prove_goal Fix.thy |
|
1087 "[| adm(P); is_chain(Y);? i. ! j. i < j --> P(Y(j))|]==>P(lub(range(Y)))" |
|
1088 (fn prems => |
|
1089 [ |
|
1090 (cut_facts_tac prems 1), |
|
1091 (etac adm_disj_lemma2 1), |
|
1092 (etac adm_disj_lemma6 1), |
|
1093 (atac 1) |
|
1094 ]); |
|
1095 |
1075 val adm_disj = prove_goal Fix.thy |
1096 val adm_disj = prove_goal Fix.thy |
1076 "[| adm(P); adm(Q) |] ==> adm(%x.P(x)|Q(x))" |
1097 "[| adm(P); adm(Q) |] ==> adm(%x.P(x)|Q(x))" |
1077 (fn prems => |
1098 (fn prems => |
1078 [ |
1099 [ |
1079 (cut_facts_tac prems 1), |
1100 (cut_facts_tac prems 1), |
1081 (strip_tac 1), |
1102 (strip_tac 1), |
1082 (rtac (adm_disj_lemma1 RS disjE) 1), |
1103 (rtac (adm_disj_lemma1 RS disjE) 1), |
1083 (atac 1), |
1104 (atac 1), |
1084 (atac 1), |
1105 (atac 1), |
1085 (rtac disjI2 1), |
1106 (rtac disjI2 1), |
1086 (rtac adm_disj_lemma2 1), |
1107 (etac adm_disj_lemma12 1), |
1087 (atac 1), |
|
1088 (rtac adm_disj_lemma6 1), |
|
1089 (atac 1), |
1108 (atac 1), |
1090 (atac 1), |
1109 (atac 1), |
1091 (rtac disjI1 1), |
1110 (rtac disjI1 1), |
1092 (rtac adm_disj_lemma2 1), |
1111 (etac adm_disj_lemma11 1), |
1093 (atac 1), |
1112 (atac 1), |
1094 (rtac adm_disj_lemma10 1), |
1113 (atac 1) |
1095 (atac 1), |
1114 ]); |
1096 (atac 1) |
1115 |
1097 ]); |
|
1098 |
1116 |
1099 val adm_impl = prove_goal Fix.thy |
1117 val adm_impl = prove_goal Fix.thy |
1100 "[| adm(%x.~P(x)); adm(Q) |] ==> adm(%x.P(x)-->Q(x))" |
1118 "[| adm(%x.~P(x)); adm(Q) |] ==> adm(%x.P(x)-->Q(x))" |
1101 (fn prems => |
1119 (fn prems => |
1102 [ |
1120 [ |