123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169(************************************************************************)(* v * The Coq Proof Assistant / The Coq Development Team *)(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2016 *)(* \VV/ **************************************************************)(* // * This file is distributed under the terms of the *)(* * GNU Lesser General Public License Version 2.1 *)(************************************************************************)(************************************************************************)(* Coq serialization API/Plugin *)(* Copyright 2016-2019 MINES ParisTech *)(* Written by: Emilio J. Gallego Arias *)(************************************************************************)(* Status: Very Experimental *)(************************************************************************)openSexplib.ConvopenDeclarationsmoduleRtree=Ser_rtreemoduleNames=Ser_namesmoduleContext=Ser_contextmoduleConstr=Ser_constrmoduleSorts=Ser_sortsmoduleUniv=Ser_univmoduleCPrimitives=Ser_cPrimitivesmoduleVmvalues=Ser_vmvaluesmoduleConv_oracle=Ser_conv_oraclemoduleMod_subst=Ser_mod_substmoduleOpaqueproof=Ser_opaqueproofmoduleVmemitcodes=Ser_vmemitcodesmoduleRetroknowledge=Ser_retroknowledgetypetemplate_arity=[%import:Declarations.template_arity][@@derivingsexp]type('a,'b)declaration_arity =[%import:('a,'b)Declarations.declaration_arity][@@derivingsexp]typenested_type=[%import:Declarations.nested_type][@@derivingsexp]typerecarg=[%import:Declarations.recarg][@@derivingsexp]typewf_paths=[%import:Declarations.wf_paths][@@derivingsexp]typeregular_inductive_arity=[%import:Declarations.regular_inductive_arity[@withTerm.sorts:=Sorts.t;]][@@derivingsexp]typeinductive_arity=[%import:Declarations.inductive_arity][@@derivingsexp]typeone_inductive_body=[%import:Declarations.one_inductive_body][@@derivingsexp]typeset_predicativity=[%import:Declarations.set_predicativity][@@derivingsexp]typeengagement =[%import:Declarations.engagement][@@derivingsexp]typeinline=[%import:Declarations.inline][@@derivingsexp]typeuniverses=[%import:Declarations.universes][@@derivingsexp]type('a,'b)constant_def=[%import:('a,'b)Declarations.constant_def][@@derivingsexp]typetyping_flags=[%import:Declarations.typing_flags][@@derivingsexp]type'aconstant_body=[%import:'aDeclarations.constant_body][@@derivingsexp]letsexp_of_constant_bodyfe=(* We cannot handle VM values *)sexp_of_constant_bodyf{ewithconst_body_code=None}(* XXX: At least one serializer can be done *)letsexp_of_module_retroknowledge_=Serlib_base.sexp_of_opaque~typ:"Declarations.module_retroknowledge"letmodule_retroknowledge_of_sexp_=Serlib_base.opaque_of_sexp~typ:"Declarations.module_retroknowledge"(* type abstract_inductive_universes =
* [%import: Declarations.abstract_inductive_universes]
* [@@deriving sexp] *)typerecursivity_kind=[%import:Declarations.recursivity_kind][@@derivingsexp,yojson]typerecord_info=[%import:Declarations.record_info][@@derivingsexp]typetemplate_universes =[%import:Declarations.template_universes][@@derivingsexp,yojson]typemutual_inductive_body=[%import:Declarations.mutual_inductive_body[@withContext.section_context:=Context.Named.t;]][@@derivingsexp]type('ty,'a)functorize=[%import:('ty,'a)Declarations.functorize][@@derivingsexp]typewith_declaration=[%import:Declarations.with_declaration][@@derivingsexp]typemodule_alg_expr=[%import:Declarations.module_alg_expr][@@derivingsexp]typestructure_field_body=[%import:Declarations.structure_field_body][@@derivingsexp]andstructure_body=[%import:Declarations.structure_body][@@derivingsexp]andmodule_signature=[%import:Declarations.module_signature][@@derivingsexp]andmodule_expression =[%import:Declarations.module_expression][@@deriving sexp]andmodule_implementation =[%import:Declarations.module_implementation][@@derivingsexp]and'ageneric_module_body=[%import:'aDeclarations.generic_module_body][@@derivingsexp]andmodule_body=[%import:Declarations.module_body][@@derivingsexp]andmodule_type_body=[%import:Declarations.module_type_body][@@derivingsexp]