src/HOL/Set.ML
changeset 4240 8ba60a4cd380
parent 4231 a73f5a63f197
child 4423 a129b817b58a
equal deleted inserted replaced
4239:8c98484ef66f 4240:8ba60a4cd380
   115 
   115 
   116 val prems = goalw Set.thy [subset_def] "(!!x. x:A ==> x:B) ==> A <= B";
   116 val prems = goalw Set.thy [subset_def] "(!!x. x:A ==> x:B) ==> A <= B";
   117 by (REPEAT (ares_tac (prems @ [ballI]) 1));
   117 by (REPEAT (ares_tac (prems @ [ballI]) 1));
   118 qed "subsetI";
   118 qed "subsetI";
   119 
   119 
   120 Blast.overload ("op <=", domain_type); (*The <= relation is overloaded*)
   120 Blast.overloaded ("op <=", domain_type); (*The <= relation is overloaded*)
   121 
   121 
   122 (*While (:) is not, its type must be kept
   122 (*While (:) is not, its type must be kept
   123   for overloading of = to work.*)
   123   for overloading of = to work.*)
   124 Blast.overload ("op :", domain_type);
   124 Blast.overloaded ("op :", domain_type);
   125 seq (fn a => Blast.overload (a, HOLogic.dest_setT o domain_type))
   125 seq (fn a => Blast.overloaded (a, HOLogic.dest_setT o domain_type))
   126     ["Ball", "Bex"];
   126     ["Ball", "Bex"];
   127 (*need UNION, INTER also?*)
   127 (*need UNION, INTER also?*)
   128 
   128 
   129 
   129 
   130 (*Rule in Modus Ponens style*)
   130 (*Rule in Modus Ponens style*)