summaryrefslogtreecommitdiff
path: root/contrib/funind/new_arg_principle.mli
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/funind/new_arg_principle.mli')
-rw-r--r--contrib/funind/new_arg_principle.mli34
1 files changed, 34 insertions, 0 deletions
diff --git a/contrib/funind/new_arg_principle.mli b/contrib/funind/new_arg_principle.mli
new file mode 100644
index 00000000..cad68da6
--- /dev/null
+++ b/contrib/funind/new_arg_principle.mli
@@ -0,0 +1,34 @@
+
+val generate_functional_principle :
+ (* do we accept interactive proving *)
+ bool ->
+ (* induction principle on rel *)
+ Term.types ->
+ (* *)
+ Term.sorts array option ->
+ (* Name of the new principle *)
+ (Names.identifier) option ->
+ (* the compute functions to use *)
+ Names.constant array ->
+ (* We prove the nth- principle *)
+ int ->
+ (* The tactic to use to make the proof w.r
+ the number of params
+ *)
+ (Term.constr array -> int -> Tacmach.tactic) ->
+ unit
+
+
+
+(* val my_reflexivity : Tacmach.tactic *)
+
+val prove_princ_for_struct :
+ bool ->
+ int -> Names.constant array -> Term.constr array -> int -> Tacmach.tactic
+
+
+val compute_new_princ_type_from_rel : Term.constr array -> Term.sorts array ->
+ Term.types -> Term.types
+
+val make_scheme : (Names.identifier*Names.identifier*Rawterm.rawsort) list -> unit
+val make_case_scheme : (Names.identifier*Names.identifier*Rawterm.rawsort) -> unit