123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174(************************************************************************)(* 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 MINES ParisTech *)(************************************************************************)(* Status: Very Experimental *)(************************************************************************)openSexplib.StdopenPpx_hash_lib.Std.Hash.BuiltinopenPpx_compare_lib.Builtinlethash_fold_array=hash_fold_array_frozenmoduleNames=Ser_namesmoduleRawLevel=structmoduleUGlobal=structtypet=Names.DirPath.t*int[@@derivingsexp,yojson,hash,compare]endtypet=|SProp|Prop|Set|LevelofUGlobal.t|Varofint[@@derivingsexp,yojson,hash,compare]endmoduleLevel=structmodulePierceSpec=structtypet=Univ.Level.ttype_t={hash:int;data:RawLevel.t}[@@derivingsexp,yojson,hash,compare]endmodulePierceImp=SerType.Pierce(PierceSpec)includePierceImpmoduleSet=Ser_cSet.Make(Univ.Level.Set)(PierceImp)end(* XXX: Think what to do with this *)moduleUniverse=structmodulePierceSpec=structtypet=Univ.Universe.ttype_t=(Level.t*int)list[@@derivingsexp,yojson,hash,compare]endincludeSerType.Pierce(PierceSpec)end(*************************************************************************)moduleVariance=structtypet=[%import:Univ.Variance.t][@@derivingsexp,yojson,hash,compare]endmoduleInstance=structtypet=[%import:Univ.Instance.t]type_t=InstanceofLevel.tarray[@@derivingsexp,yojson,hash,compare]let_instance_putinstance=Instance(Univ.Instance.to_arrayinstance)let_instance_get(Instanceinstance)=Univ.Instance.of_arrayinstancelett_of_sexpsexp=_instance_get(_t_of_sexpsexp)letsexp_of_tinstance=sexp_of__t(_instance_putinstance)letof_yojsonjson=Ppx_deriving_yojson_runtime.(_t_of_yojsonjson>|=_instance_get)letto_yojsonlevel=_t_to_yojson(_instance_putlevel)lethashi=hash__t(Instance(Univ.Instance.to_arrayi))lethash_fold_tsti=hash_fold__tst(Instance(Univ.Instance.to_arrayi))letcomparei1i2=compare__t(Instance(Univ.Instance.to_arrayi1))(Instance(Univ.Instance.to_arrayi2))endtypeconstraint_type=[%import:Univ.constraint_type][@@derivingsexp,yojson,hash,compare]typeuniv_constraint=[%import:Univ.univ_constraint][@@derivingsexp,yojson,hash,compare]moduleConstraints=Ser_cSet.Make(Univ.Constraints)(structtypet=univ_constraintlett_of_sexp=univ_constraint_of_sexpletsexp_of_t=sexp_of_univ_constraintletof_yojson=univ_constraint_of_yojsonletto_yojson=univ_constraint_to_yojsonlethash=hash_univ_constraintlethash_fold_t=hash_fold_univ_constraintletcompare=compare_univ_constraintend)type'aconstrained=[%import:'aUniv.constrained][@@derivingsexp,yojson,hash,compare]moduleUContext=structmoduleI=structtypet=Univ.UContext.ttype_t=Names.Name.tarray*Instance.tconstrained[@@derivingsexp,yojson,hash,compare]letto_t(un,cs)=Univ.UContext.makeuncsletof_tuc=Univ.UContext.(namesuc,(instanceuc,constraintsuc))endincludeSerType.Biject(I)endmoduleAbstractContext=structlethash_fold_array=hash_fold_array_frozenmoduleACPierceDef=structtypet=Univ.AbstractContext.ttype_t=Names.Name.tarrayconstrained[@@derivingsexp,yojson,hash,compare]endincludeSerType.Pierce(ACPierceDef)endmoduleContextSet=structtypet=[%import:Univ.ContextSet.t][@@derivingsexp,yojson,hash,compare]endtype'ain_universe_context=[%import:'aUniv.in_universe_context][@@derivingsexp]type'ain_universe_context_set=[%import:'aUniv.in_universe_context_set][@@derivingsexp]type'apuniverses=[%import:'aUniv.puniverses][@@derivingsexp,yojson,hash,compare]typeexplanation=[%import:Univ.explanation][@@derivingsexp]