aboutsummaryrefslogtreecommitdiffstats
path: root/src/versions/native/structures.mli
blob: 9ec21d2c5afcf11e8c7b4b003fc699e6e327cbc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
(**************************************************************************)
(*                                                                        *)
(*     SMTCoq                                                             *)
(*     Copyright (C) 2011 - 2019                                          *)
(*                                                                        *)
(*     See file "AUTHORS" for the list of authors                         *)
(*                                                                        *)
(*   This file is distributed under the terms of the CeCILL-C licence     *)
(*                                                                        *)
(**************************************************************************)


val gen_constant : string list list -> string -> Term.constr lazy_t
val int63_modules : string list list
val mkInt : int -> Term.constr
val cint : Term.constr lazy_t
val parray_modules : string list list
val max_array_size : int
val mkArray : Term.types * Term.constr array -> Term.constr
val mkTrace :
  ('a -> Term.constr) ->
  ('a -> 'a) ->
  Term.constr Lazy.t ->
  'b ->
  'c -> 'd -> 'e -> int -> Term.types -> Term.constr -> 'a ref -> Term.constr
type names_id_t = Names.identifier
val mkUConst : Term.constr -> Entries.definition_entry
val mkTConst : Term.constr -> 'a -> Term.types -> Entries.definition_entry
val error : string -> 'a
val coqtype : Term.types lazy_t
val declare_new_type : Names.variable -> Term.constr
val declare_new_variable : Names.variable -> Term.types -> Term.constr
val extern_constr : Term.constr -> Topconstr.constr_expr
val vernacentries_interp : Topconstr.constr_expr -> unit
val pr_constr_env : Environ.env -> Term.constr -> Pp.std_ppcmds
val lift : int -> Term.constr -> Term.constr
val destruct_rel_decl : Term.rel_declaration -> Names.name * Term.constr
val interp_constr : Environ.env -> Evd.evar_map -> Topconstr.constr_expr -> Term.constr
val tclTHEN : Proof_type.tactic -> Proof_type.tactic -> Proof_type.tactic
val tclTHENLAST : Proof_type.tactic -> Proof_type.tactic -> Proof_type.tactic
val assert_before : Names.name -> Term.types -> Proof_type.tactic

val vm_conv : Reduction.conv_pb -> Term.types Reduction.conversion_function
val vm_cast_no_check : Term.constr -> Proof_type.tactic
val cbv_vm : Environ.env -> Term.constr -> Term.types -> Term.constr

val mk_tactic :
  (Environ.env ->
   Evd.evar_map -> Term.types -> Proof_type.goal Tacmach.sigma -> 'a) ->
  Proof_type.goal Tacmach.sigma -> 'a
val set_evars_tac : 'a -> Proof_type.tactic
val ppconstr_lsimpleconstr : Ppconstr.precedence
val constrextern_extern_constr : Term.constr -> Topconstr.constr_expr
val get_rel_dec_name : 'a -> Names.name
val retyping_get_type_of : Environ.env -> Evd.evar_map -> Term.constr -> Term.constr


(* Micromega *)
module Micromega_plugin_Certificate = Certificate
module Micromega_plugin_Coq_micromega = Coq_micromega
module Micromega_plugin_Micromega = Micromega
module Micromega_plugin_Mutils = Mutils

val micromega_coq_proofTerm : Term.constr lazy_t
val micromega_dump_proof_term : Micromega_plugin_Certificate.Mc.zArithProof -> Term.constr


(* Types in the Coq source code *)
type tactic = Proof_type.tactic
type names_id = Names.identifier
type constr_expr = Topconstr.constr_expr

(* EConstr *)
type econstr = Term.constr
val econstr_of_constr : Term.constr -> econstr