diff options
author | barras <barras@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2002-02-14 15:54:01 +0000 |
---|---|---|
committer | barras <barras@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2002-02-14 15:54:01 +0000 |
commit | 909d7c9edd05868d1fba2dae65e6ff775a41dcbe (patch) | |
tree | 7a9c1574e278535339336290c1839db09090b668 /lib/rtree.mli | |
parent | 67f72c93f5f364591224a86c52727867e02a8f71 (diff) |
- Reforme de la gestion des args recursifs (via arbres reguliers)
- coqtop -byte -opt bouclait!
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2475 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib/rtree.mli')
-rw-r--r-- | lib/rtree.mli | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/rtree.mli b/lib/rtree.mli new file mode 100644 index 000000000..5a34c819e --- /dev/null +++ b/lib/rtree.mli @@ -0,0 +1,34 @@ +(***********************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* <O___,, * INRIA-Rocquencourt & LRI-CNRS-Orsay *) +(* \VV/ *************************************************************) +(* // * This file is distributed under the terms of the *) +(* * GNU Lesser General Public License Version 2.1 *) +(***********************************************************************) + +(*i $Id$ i*) + +(* Type of regular tree with nodes labelled by values of type 'a *) +type 'a t + +(* Building trees *) +(* build a recursive call *) +val mk_param : int -> 'a t +(* build a node given a label and the vector of sons *) +val mk_node : 'a -> 'a t array -> 'a t +(* build mutually dependent trees *) +val mk_rec : 'a t array -> 'a t array + +(* [lift k t] increases of [k] the free parameters of [t]. Needed + to avoid captures when a tree appears under mk_rec *) +val lift : int -> 'a t -> 'a t + +(* Destructors (recursive calls are expanded) *) +val dest_param : 'a t -> int +val dest_node : 'a t -> 'a * 'a t array + +(* Tells if a tree has an infinite branch *) +val is_infinite : 'a t -> bool + +(* A rather simple minded pretty-printer *) +val pp_tree : ('a -> Pp.std_ppcmds) -> 'a t -> Pp.std_ppcmds |