12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697(************************************************************************)(* 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_namesmoduleUniv=Ser_univopenUnivmoduleSorts=Ser_sortsopenSortsmoduleVariance=structtypet=[%import:UVars.Variance.t][@@derivingsexp,yojson,hash,compare]endmoduleInstance=structtypet=[%import:UVars.Instance.t]type_t=Instanceof(Quality.tarray*Level.tarray)[@@derivingsexp,yojson,hash,compare]let_instance_putinstance=Instance(UVars.Instance.to_arrayinstance)let_instance_get(Instanceinstance)=UVars.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(UVars.Instance.to_arrayi))lethash_fold_tsti=hash_fold__tst(Instance(UVars.Instance.to_arrayi))letcomparei1i2=compare__t(Instance(UVars.Instance.to_arrayi1))(Instance(UVars.Instance.to_arrayi2))endmoduleUContext=structmoduleI=structtypet=UVars.UContext.ttype_t=(Names.Name.tarray*Names.Name.tarray)*(Instance.t*Constraints.t)[@@derivingsexp,yojson,hash,compare]letto_t(un,cs)=UVars.UContext.makeuncsletof_tuc=UVars.UContext.(namesuc,(instanceuc,constraintsuc))endincludeSerType.Biject(I)endmoduleAbstractContext=structlethash_fold_array=hash_fold_array_frozenmoduleACPierceDef=structtypet=UVars.AbstractContext.ttype_t=(Names.Name.tarray*Names.Name.tarray)*Constraints.t[@@derivingsexp,yojson,hash,compare]endincludeSerType.Pierce(ACPierceDef)endtype'ain_universe_context=[%import:'aUVars.in_universe_context][@@derivingsexp]type'apuniverses=[%import:'aUVars.puniverses][@@derivingsexp,yojson,hash,compare]