diff options
| author | herbelin | 2006-08-28 09:05:38 +0000 |
|---|---|---|
| committer | herbelin | 2006-08-28 09:05:38 +0000 |
| commit | 6f7801f1a40e6f2ad593eb9cdad01e118b10018f (patch) | |
| tree | 46baccc90c153fa751f71e11ce97c569fe131432 /kernel | |
| parent | e2579d9529becfa6ad38b7209b2b7edbb5ca5534 (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.ml | 7 | ||||
| -rw-r--r-- | kernel/term.mli | 3 |
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 |
