diff options
| author | herbelin | 2006-10-27 21:50:17 +0000 |
|---|---|---|
| committer | herbelin | 2006-10-27 21:50:17 +0000 |
| commit | 3f41c704aa09301df18cfc90f72a3895e169d74c (patch) | |
| tree | 1e7894b63d2c4ddfd0d60448f5719f9bba79c672 /kernel | |
| parent | 5b8e645b675b6b2efac8e13c29da5e984248e507 (diff) | |
Ajout fold_rel_declaration et fold_named_declaration
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9303 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/term.ml | 3 | ||||
| -rw-r--r-- | kernel/term.mli | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/kernel/term.ml b/kernel/term.ml index b392d54525..49d4d231b5 100644 --- a/kernel/term.ml +++ b/kernel/term.ml @@ -646,6 +646,9 @@ type rel_declaration = name * constr option * types let map_named_declaration f (id, v, ty) = (id, option_map f v, f ty) let map_rel_declaration = map_named_declaration +let fold_named_declaration f (_, v, ty) a = f ty (option_fold_right f v a) +let fold_rel_declaration = fold_named_declaration + (****************************************************************************) (* Functions for dealing with constr terms *) (****************************************************************************) diff --git a/kernel/term.mli b/kernel/term.mli index addcdce9a0..1b19f83f41 100644 --- a/kernel/term.mli +++ b/kernel/term.mli @@ -327,6 +327,11 @@ val map_named_declaration : val map_rel_declaration : (constr -> constr) -> rel_declaration -> rel_declaration +val fold_named_declaration : + (constr -> 'a -> 'a) -> named_declaration -> 'a -> 'a +val fold_rel_declaration : + (constr -> 'a -> 'a) -> rel_declaration -> 'a -> 'a + (* Constructs either [(x:t)c] or [[x=b:t]c] *) val mkProd_or_LetIn : rel_declaration -> types -> types val mkNamedProd_or_LetIn : named_declaration -> types -> types |
