aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/term.ml5
-rw-r--r--kernel/term.mli1
2 files changed, 6 insertions, 0 deletions
diff --git a/kernel/term.ml b/kernel/term.ml
index 88bc4cc4ec..0e0d598a08 100644
--- a/kernel/term.ml
+++ b/kernel/term.ml
@@ -901,6 +901,11 @@ let mkNamedLambda_or_LetIn (id,body,t) c =
| Some b -> mkNamedLetIn id b t c
(* Constructs either [(x:t)c] or [c] where [x] is replaced by [b] *)
+let mkProd_wo_LetIn (na,body,t) c =
+ match body with
+ | None -> mkProd (na, t, c)
+ | Some b -> subst1 b c
+
let mkNamedProd_wo_LetIn (id,body,t) c =
match body with
| None -> mkNamedProd id t c
diff --git a/kernel/term.mli b/kernel/term.mli
index 9b41025a6c..10f51b7acb 100644
--- a/kernel/term.mli
+++ b/kernel/term.mli
@@ -359,6 +359,7 @@ val rel_context_nhyps : rel_context -> int
(** Constructs either [(x:t)c] or [[x=b:t]c] *)
val mkProd_or_LetIn : rel_declaration -> types -> types
+val mkProd_wo_LetIn : rel_declaration -> types -> types
val mkNamedProd_or_LetIn : named_declaration -> types -> types
val mkNamedProd_wo_LetIn : named_declaration -> types -> types