aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/conv_oracle.ml
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2004-06-02 17:02:47 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2004-06-02 17:02:47 +0000
commit5752247f917f06eda81a74cb0c8a960df097c9ab (patch)
tree873b9987c77b3154e3bb36413c1c0729835004fe /kernel/conv_oracle.ml
parent3dcd1844ac8d5554093afc254ed8ee5c294546e3 (diff)
Fusion comparaison Const/Var; export is_opaque
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@5796 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel/conv_oracle.ml')
-rw-r--r--kernel/conv_oracle.ml18
1 files changed, 7 insertions, 11 deletions
diff --git a/kernel/conv_oracle.ml b/kernel/conv_oracle.ml
index ffa7735e7..527030fb4 100644
--- a/kernel/conv_oracle.ml
+++ b/kernel/conv_oracle.ml
@@ -19,10 +19,6 @@ let set_transparent_const kn = cst_transp := KNpred.add kn !cst_transp
let is_opaque_cst kn = not (KNpred.mem kn !cst_transp)
-(* Unfold the first only if it is not opaque and the second is
- opaque *)
-let const_order kn1 kn2 = is_opaque_cst kn2 & not (is_opaque_cst kn1)
-
(* Opaque variables *)
let var_transp = ref Idpred.full
@@ -31,14 +27,14 @@ let set_transparent_var kn = var_transp := Idpred.add kn !var_transp
let is_opaque_var kn = not (Idpred.mem kn !var_transp)
-let var_order id1 id2 = is_opaque_var id2 & not (is_opaque_var id1)
+(* Opaque reference keys *)
+let is_opaque = function
+ | ConstKey cst -> is_opaque_cst cst
+ | VarKey id -> is_opaque_var id
+ | FarRelKey _ -> false
-(* *)
-let oracle_order k1 k2 =
- match (k1,k2) with
- (ConstKey kn1, ConstKey kn2) -> const_order kn1 kn2
- | (VarKey id1, VarKey id2) -> var_order id1 id2
- | _ -> false
+(* Unfold the first only if it is not opaque and the second is opaque *)
+let oracle_order k1 k2 = is_opaque k2 & not (is_opaque k1)
(* summary operations *)