aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorherbelin2006-08-28 09:05:38 +0000
committerherbelin2006-08-28 09:05:38 +0000
commit6f7801f1a40e6f2ad593eb9cdad01e118b10018f (patch)
tree46baccc90c153fa751f71e11ce97c569fe131432 /kernel
parente2579d9529becfa6ad38b7209b2b7edbb5ca5534 (diff)
Export de closedn pour Evarutil
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9086 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel')
-rw-r--r--kernel/term.ml7
-rw-r--r--kernel/term.mli3
2 files changed, 6 insertions, 4 deletions
diff --git a/kernel/term.ml b/kernel/term.ml
index af0f2e4b8d..b392d54525 100644
--- a/kernel/term.ml
+++ b/kernel/term.ml
@@ -659,17 +659,16 @@ exception LocalOccur
(* (closedn n M) raises FreeVar if a variable of height greater than n
occurs in M, returns () otherwise *)
-let closedn =
+let closedn n c =
let rec closed_rec n c = match kind_of_term c with
| Rel m -> if m>n then raise LocalOccur
| _ -> iter_constr_with_binders succ closed_rec n c
in
- closed_rec
+ try closed_rec n c; true with LocalOccur -> false
(* [closed0 M] is true iff [M] is a (deBruijn) closed term *)
-let closed0 term =
- try closedn 0 term; true with LocalOccur -> false
+let closed0 = closedn 0
(* (noccurn n M) returns true iff (Rel n) does NOT occur in term M *)
diff --git a/kernel/term.mli b/kernel/term.mli
index 78802579a3..addcdce9a0 100644
--- a/kernel/term.mli
+++ b/kernel/term.mli
@@ -426,6 +426,9 @@ val under_outer_cast : (constr -> constr) -> constr -> constr
(*s Occur checks *)
+(* [closedn n M] is true iff [M] is a (deBruijn) closed term under n binders *)
+val closedn : int -> constr -> bool
+
(* [closed0 M] is true iff [M] is a (deBruijn) closed term *)
val closed0 : constr -> bool