src/HOL/Set.ML
changeset 1762 6e481897a811
parent 1760 6f41a494f3b1
child 1776 d7e77cb8ce5c
equal deleted inserted replaced
1761:29e08d527ba1 1762:6e481897a811
   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);