equal
deleted
inserted
replaced
134 val prems = goal Set.thy "[| A <= B; B <= A |] ==> A = (B::'a set)"; |
134 val prems = goal Set.thy "[| A <= B; B <= A |] ==> A = (B::'a set)"; |
135 by (rtac (iffI RS set_ext) 1); |
135 by (rtac (iffI RS set_ext) 1); |
136 by (REPEAT (ares_tac (prems RL [subsetD]) 1)); |
136 by (REPEAT (ares_tac (prems RL [subsetD]) 1)); |
137 qed "subset_antisym"; |
137 qed "subset_antisym"; |
138 val equalityI = subset_antisym; |
138 val equalityI = subset_antisym; |
|
139 |
|
140 AddSIs [equalityI]; |
139 |
141 |
140 (* Equality rules from ZF set theory -- are they appropriate here? *) |
142 (* Equality rules from ZF set theory -- are they appropriate here? *) |
141 val prems = goal Set.thy "A = B ==> A<=(B::'a set)"; |
143 val prems = goal Set.thy "A = B ==> A<=(B::'a set)"; |
142 by (resolve_tac (prems RL [subst]) 1); |
144 by (resolve_tac (prems RL [subst]) 1); |
143 by (rtac subset_refl 1); |
145 by (rtac subset_refl 1); |