summaryrefslogtreecommitdiff
path: root/tactics/equality.ml
diff options
context:
space:
mode:
Diffstat (limited to 'tactics/equality.ml')
-rw-r--r--tactics/equality.ml11
1 files changed, 9 insertions, 2 deletions
diff --git a/tactics/equality.ml b/tactics/equality.ml
index 754aec1c..24a7e34e 100644
--- a/tactics/equality.ml
+++ b/tactics/equality.ml
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(* $Id: equality.ml 9521 2007-01-23 14:31:21Z notin $ *)
+(* $Id: equality.ml 9835 2007-05-17 22:23:03Z jforest $ *)
open Pp
open Util
@@ -93,7 +93,7 @@ let general_rewrite_bindings_clause cls lft2rgt (c,l) gl =
(* Original code. In particular, [splay_prod] performs delta-reduction. *)
let env = pf_env gl in
let sigma = project gl in
- let _,t = splay_prod env sigma t in
+ let _,t = splay_prod env sigma ctype in
match match_with_equation t with
| None ->
if l = NoBindings
@@ -313,6 +313,13 @@ let discriminable env sigma t1 t2 =
| Inl _ -> true
| _ -> false
+let injectable env sigma t1 t2 =
+ match find_positions env sigma t1 t2 with
+ | Inl _ | Inr [] -> false
+ | Inr _ -> true
+
+
+
(* Once we have found a position, we need to project down to it. If
we are discriminating, then we need to produce False on one of the
branches of the discriminator, and True on the other one. So the