Pure/tactic/build_netpair: now takes two arguments
authorlcp
Mon, 31 Oct 1994 18:01:02 +0100
changeset 670 ff4c6691de9d
parent 669 a6dd3796009d
child 671 e0be228a9c5b
Pure/tactic/build_netpair: now takes two arguments
src/Pure/tactic.ML
--- a/src/Pure/tactic.ML	Mon Oct 31 17:59:49 1994 +0100
+++ b/src/Pure/tactic.ML	Mon Oct 31 18:01:02 1994 +0100
@@ -16,12 +16,15 @@
         bool*bool -> (meta_simpset -> tactic) -> meta_simpset -> int -> tactic
   val assume_tac: int -> tactic
   val atac: int ->tactic
-  val bimatch_from_nets_tac: (int*(bool*thm)) net * (int*(bool*thm)) net -> int -> tactic
+  val bimatch_from_nets_tac: 
+      (int*(bool*thm)) net * (int*(bool*thm)) net -> int -> tactic
   val bimatch_tac: (bool*thm)list -> int -> tactic
-  val biresolve_from_nets_tac: (int*(bool*thm)) net * (int*(bool*thm)) net -> int -> tactic
+  val biresolve_from_nets_tac: 
+      (int*(bool*thm)) net * (int*(bool*thm)) net -> int -> tactic
   val biresolve_tac: (bool*thm)list -> int -> tactic
   val build_net: thm list -> (int*thm) net
-  val build_netpair: (bool*thm)list -> (int*(bool*thm)) net * (int*(bool*thm)) net
+  val build_netpair:    (int*(bool*thm)) net * (int*(bool*thm)) net ->
+      (bool*thm)list -> (int*(bool*thm)) net * (int*(bool*thm)) net
   val compose_inst_tac: (string*string)list -> (bool*thm*int) -> int -> tactic
   val compose_tac: (bool * thm * int) -> int -> tactic 
   val cut_facts_tac: thm list -> int -> tactic
@@ -308,8 +311,8 @@
     else (Net.insert_term ((concl_of th, kbrl), inet, K false), enet);
 
 (*build a pair of nets for biresolution*)
-fun build_netpair brls = 
-    foldr insert_kbrl (taglist 1 brls, (Net.empty,Net.empty));
+fun build_netpair netpair brls = 
+    foldr insert_kbrl (taglist 1 brls, netpair);
 
 (*biresolution using a pair of nets rather than rules*)
 fun biresolution_from_nets_tac match (inet,enet) =
@@ -326,8 +329,11 @@
 val bimatch_from_nets_tac = biresolution_from_nets_tac true;
 
 (*fast versions using nets internally*)
-val net_biresolve_tac = biresolve_from_nets_tac o build_netpair;
-val net_bimatch_tac = bimatch_from_nets_tac o build_netpair;
+val net_biresolve_tac =
+    biresolve_from_nets_tac o build_netpair(Net.empty,Net.empty);
+
+val net_bimatch_tac =
+    bimatch_from_nets_tac o build_netpair(Net.empty,Net.empty);
 
 (*** Simpler version for resolve_tac -- only one net, and no hyps ***)