diff options
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 |
