From 97fefe1fcca363a1317e066e7f4b99b9c1e9987b Mon Sep 17 00:00:00 2001 From: Stephane Glondu Date: Thu, 12 Jan 2012 16:02:20 +0100 Subject: Imported Upstream version 8.4~beta --- interp/coqlib.mli | 74 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 39 insertions(+), 35 deletions(-) (limited to 'interp/coqlib.mli') diff --git a/interp/coqlib.mli b/interp/coqlib.mli index 64a9df6d..5d3580f2 100644 --- a/interp/coqlib.mli +++ b/interp/coqlib.mli @@ -1,26 +1,23 @@ (************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) -(* string list -> string -> global_reference -(* [coq_reference caller_message [dir;subdir;...] s] returns a +(** [coq_reference caller_message [dir;subdir;...] s] returns a global reference to the name Coq.dir.subdir.(...).s *) val coq_reference : message -> string list -> string -> global_reference -(* idem but return a term *) +(** idem but return a term *) val coq_constant : message -> string list -> string -> constr -(* Synonyms of [coq_constant] and [coq_reference] *) +(** Synonyms of [coq_constant] and [coq_reference] *) val gen_constant : message -> string list -> string -> constr val gen_reference : message -> string list -> string -> global_reference -(* Search in several modules (not prefixed by "Coq") *) +(** Search in several modules (not prefixed by "Coq") *) val gen_constant_in_modules : string->string list list-> string -> constr val arith_modules : string list list val zarith_base_modules : string list list val init_modules : string list list -(* For tactics/commands requiring vernacular libraries *) +(** For tactics/commands requiring vernacular libraries *) val check_required_library : string list -> unit -(*s Global references *) +(** {6 Global references } *) -(* Modules *) +(** Modules *) val logic_module : dir_path val logic_type_module : dir_path val datatypes_module_name : string list val logic_module_name : string list -(* Natural numbers *) +(** Natural numbers *) val nat_path : full_path val glob_nat : global_reference val path_of_O : constructor @@ -70,7 +67,7 @@ val path_of_S : constructor val glob_O : global_reference val glob_S : global_reference -(* Booleans *) +(** Booleans *) val glob_bool : global_reference val path_of_true : constructor val path_of_false : constructor @@ -78,12 +75,13 @@ val glob_true : global_reference val glob_false : global_reference -(* Equality *) +(** Equality *) val glob_eq : global_reference val glob_identity : global_reference val glob_jmeq : global_reference -(*s Constructions and patterns related to Coq initial state are unknown +(** {6 ... } *) +(** Constructions and patterns related to Coq initial state are unknown at compile time. Therefore, we can only provide methods to build them at runtime. This is the purpose of the [constr delayed] and [constr_pattern delayed] types. Objects of this time needs to be @@ -96,7 +94,7 @@ type coq_bool_data = { andb_true_intro : constr} val build_bool_type : coq_bool_data delayed -(*s For Equality tactics *) +(** {6 For Equality tactics } *) type coq_sigma_data = { proj1 : constr; proj2 : constr; @@ -106,7 +104,9 @@ type coq_sigma_data = { val build_sigma_set : coq_sigma_data delayed val build_sigma_type : coq_sigma_data delayed -(* Non-dependent pairs in Set from Datatypes *) +val build_sigma : coq_sigma_data delayed + +(** Non-dependent pairs in Set from Datatypes *) val build_prod : coq_sigma_data delayed type coq_eq_data = { @@ -121,17 +121,19 @@ val build_coq_eq_data : coq_eq_data delayed val build_coq_identity_data : coq_eq_data delayed val build_coq_jmeq_data : coq_eq_data delayed -val build_coq_eq : constr delayed (* = [(build_coq_eq_data()).eq] *) -val build_coq_eq_refl : constr delayed (* = [(build_coq_eq_data()).refl] *) -val build_coq_eq_sym : constr delayed (* = [(build_coq_eq_data()).sym] *) +val build_coq_eq : constr delayed (** = [(build_coq_eq_data()).eq] *) +val build_coq_eq_refl : constr delayed (** = [(build_coq_eq_data()).refl] *) +val build_coq_eq_sym : constr delayed (** = [(build_coq_eq_data()).sym] *) val build_coq_f_equal2 : constr delayed -(* Data needed for discriminate and injection *) +(** Data needed for discriminate and injection *) type coq_inversion_data = { - inv_eq : constr; (* : forall params, t -> Prop *) - inv_ind : constr; (* : forall params P y, eq params y -> P y *) - inv_congr: constr (* : forall params B (f:t->B) y, eq params y -> f c=f y *) + inv_eq : constr; (** : forall params, args -> Prop *) + inv_ind : constr; (** : forall params P (H : P params) args, eq params args + -> P args *) + inv_congr: constr (** : forall params B (f:t->B) args, eq params args -> + f params = f args *) } val build_coq_inversion_eq_data : coq_inversion_data delayed @@ -139,21 +141,22 @@ val build_coq_inversion_identity_data : coq_inversion_data delayed val build_coq_inversion_jmeq_data : coq_inversion_data delayed val build_coq_inversion_eq_true_data : coq_inversion_data delayed -(* Specif *) +(** Specif *) val build_coq_sumbool : constr delayed -(*s Connectives *) -(* The False proposition *) +(** {6 ... } *) +(** Connectives + The False proposition *) val build_coq_False : constr delayed -(* The True proposition and its unique proof *) +(** The True proposition and its unique proof *) val build_coq_True : constr delayed val build_coq_I : constr delayed -(* Negation *) +(** Negation *) val build_coq_not : constr delayed -(* Conjunction *) +(** Conjunction *) val build_coq_and : constr delayed val build_coq_conj : constr delayed val build_coq_iff : constr delayed @@ -161,10 +164,10 @@ val build_coq_iff : constr delayed val build_coq_iff_left_proj : constr delayed val build_coq_iff_right_proj : constr delayed -(* Disjunction *) +(** Disjunction *) val build_coq_or : constr delayed -(* Existential quantifier *) +(** Existential quantifier *) val build_coq_ex : constr delayed val coq_eq_ref : global_reference lazy_t @@ -173,6 +176,7 @@ val coq_jmeq_ref : global_reference lazy_t val coq_eq_true_ref : global_reference lazy_t val coq_existS_ref : global_reference lazy_t val coq_existT_ref : global_reference lazy_t +val coq_exist_ref : global_reference lazy_t val coq_not_ref : global_reference lazy_t val coq_False_ref : global_reference lazy_t val coq_sumbool_ref : global_reference lazy_t -- cgit v1.2.3