Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Translate the parser-level AST to Coq.
There are two modes:
The encoding can be specified through a lambdapi file (option --encoding).
In both modes, a renaming map can be provided to rename some identifiers.
The renaming map can be specified through a lambdapi file (option --renaming).
val log : 'a Lplib.Base.outfmt -> 'a
Symbols necessary to encode STT.
val index_of_builtin : builtin -> int
val builtin_of_index : int -> builtin
val builtin : Core.Term.qident array
val sym : builtin -> Core.Term.qident
Set renaming map from file.
val rmap : Lplib.Extra.StrMap.key Lplib.Extra.StrMap.t ref
Set symbols whose declarations have to be erased.
val erase : Lplib.Extra.StrSet.t ref
module Qid : sig ... end
module QidMap : sig ... end
Set encoding.
val out : ('a, out_channel, unit) format -> 'a
Basic printing functions. We use Printf for efficiency reasons.
val char : out_channel -> char -> unit
val string : out_channel -> string -> unit
val prefix : string -> (out_channel -> 'a -> 'b) -> out_channel -> 'a -> 'b
val suffix : (out_channel -> 'a -> 'b) -> string -> out_channel -> 'a -> unit
val list :
(out_channel -> 'a -> unit) ->
string ->
out_channel ->
'a list ->
unit
Translation of identifiers.
val raw_ident : out_channel -> string -> unit
val ident : out_channel -> string Common.Pos.loc -> unit
val param_id : out_channel -> string Common.Pos.loc option -> unit
val param_ids : out_channel -> string Common.Pos.loc option list -> unit
val raw_path : out_channel -> string list -> unit
val path : out_channel -> string list Common.Pos.loc -> unit
val qident : out_channel -> (string list * string) Common.Pos.loc -> unit
Translation of terms.
val stt : bool ref
val use_implicits : bool ref
val use_notations : bool ref
val p_get_args :
Parsing.Syntax.p_term ->
Parsing.Syntax.p_term * Parsing.Syntax.p_term list
val app :
Parsing.Syntax.p_term ->
(Parsing.Syntax.p_term -> Parsing.Syntax.p_term list -> 'a) ->
(Parsing.Syntax.p_term ->
Parsing.Syntax.p_term list ->
bool ->
builtin ->
'a) ->
'a
val term : out_channel -> Parsing.Syntax.p_term_aux Common.Pos.loc -> unit
val arrow :
out_channel ->
Parsing.Syntax.p_term ->
Parsing.Syntax.p_term ->
unit
val abst :
out_channel ->
Parsing.Syntax.p_params list ->
Parsing.Syntax.p_term ->
unit
val prod :
out_channel ->
Parsing.Syntax.p_params list ->
Parsing.Syntax.p_term ->
unit
val paren : out_channel -> Parsing.Syntax.p_term -> unit
val raw_params : out_channel -> Parsing.Syntax.p_params -> unit
val params : out_channel -> Parsing.Syntax.p_params -> unit
val params_list : out_channel -> Parsing.Syntax.p_params list -> unit
val params_list_in_abs : out_channel -> Parsing.Syntax.p_params list -> unit
val typopt :
out_channel ->
Parsing.Syntax.p_term_aux Common.Pos.loc option ->
unit
Translation of commands.
val is_lem : Parsing.Syntax.p_modifier_aux Common.Pos.loc -> bool
val command :
out_channel ->
Parsing.Syntax.p_command_aux Common.Pos.loc ->
unit
val ast :
out_channel ->
Parsing.Syntax.p_command_aux Common.Pos.loc Stream.t ->
unit
Set Coq required file.
val require : string option ref
val print : Parsing.Syntax.ast -> unit