src/Provers/classical.ML
changeset 82841 53e56e6a67c3
parent 82840 c3085510366e
child 82842 8aa1c98b948b
equal deleted inserted replaced
82840:c3085510366e 82841:53e56e6a67c3
   285   | tag_weight_brls w k (brl::brls) =
   285   | tag_weight_brls w k (brl::brls) =
   286       ({weight = w, index = k}, brl) :: tag_weight_brls w (k + 1) brls;
   286       ({weight = w, index = k}, brl) :: tag_weight_brls w (k + 1) brls;
   287 
   287 
   288 (*Insert into netpair from next index, which is negative to give the
   288 (*Insert into netpair from next index, which is negative to give the
   289   new insertions the lowest priority.*)
   289   new insertions the lowest priority.*)
   290 fun insert k = fold_rev Bires.insert_tagged_rule o (tag_brls (2 * k)) o joinrules;
   290 fun insert k = fold Bires.insert_tagged_rule o (tag_brls (2 * k)) o joinrules;
   291 
   291 
   292 fun insert_default_weight w0 w k =
   292 fun insert_default_weight w0 w k =
   293   fold_rev Bires.insert_tagged_rule o tag_weight_brls (the_default w0 w) k o single;
   293   fold Bires.insert_tagged_rule o tag_weight_brls (the_default w0 w) k o single;
   294 
   294 
   295 fun delete x = fold_rev Bires.delete_tagged_rule (joinrules x);
   295 fun delete x = fold Bires.delete_tagged_rule (joinrules x);
   296 
   296 
   297 fun bad_thm ctxt msg th = error (msg ^ "\n" ^ Thm.string_of_thm ctxt th);
   297 fun bad_thm ctxt msg th = error (msg ^ "\n" ^ Thm.string_of_thm ctxt th);
   298 
   298 
   299 fun make_elim ctxt th =
   299 fun make_elim ctxt th =
   300   if Thm.no_prems th then bad_thm ctxt "Ill-formed destruction rule" th
   300   if Thm.no_prems th then bad_thm ctxt "Ill-formed destruction rule" th