package coq-serapi
Serialization library and protocol for machine interaction with the Coq proof assistant
Install
Dune Dependency
Authors
Maintainers
Sources
coq-serapi-8.19.0.0.19.0.tbz
sha256=28792fdef7dbcc8a21a3eee1a85d6c433eccde6a85c47d73c8f808c02aa232fd
sha512=b5f8142df58f10639e2aa77209496e5906f5ce69f7bd93a65c9519d539a5546015e4760e0e980c277ab2d908c8cc77eb0d46ae7c1a9ca1fbca985b4c825b891f
doc/src/coq-serapi.serlib/ser_uvars.ml.html
Source file ser_uvars.ml
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
(************************************************************************) (* 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 *) (************************************************************************) open Sexplib.Std open Ppx_hash_lib.Std.Hash.Builtin open Ppx_compare_lib.Builtin let hash_fold_array = hash_fold_array_frozen module Names = Ser_names module Univ = Ser_univ open Univ module Sorts = Ser_sorts open Sorts module Variance = struct type t = [%import: UVars.Variance.t] [@@deriving sexp,yojson,hash,compare] end module Instance = struct type t = [%import: UVars.Instance.t] type _t = Instance of (Quality.t array * Level.t array) [@@deriving sexp, yojson, hash, compare] let _instance_put instance = Instance (UVars.Instance.to_array instance) let _instance_get (Instance instance) = UVars.Instance.of_array instance let t_of_sexp sexp = _instance_get (_t_of_sexp sexp) let sexp_of_t instance = sexp_of__t (_instance_put instance) let of_yojson json = Ppx_deriving_yojson_runtime.(_t_of_yojson json >|= _instance_get) let to_yojson level = _t_to_yojson (_instance_put level) let hash i = hash__t (Instance (UVars.Instance.to_array i)) let hash_fold_t st i = hash_fold__t st (Instance (UVars.Instance.to_array i)) let compare i1 i2 = compare__t (Instance (UVars.Instance.to_array i1)) (Instance (UVars.Instance.to_array i2)) end module UContext = struct module I = struct type t = UVars.UContext.t type _t = (Names.Name.t array * Names.Name.t array) * (Instance.t * Constraints.t) [@@deriving sexp,yojson,hash,compare] let to_t (un, cs) = UVars.UContext.make un cs let of_t uc = UVars.UContext.(names uc, (instance uc, constraints uc)) end include SerType.Biject(I) end module AbstractContext = struct let hash_fold_array = hash_fold_array_frozen module ACPierceDef = struct type t = UVars.AbstractContext.t type _t = (Names.Name.t array * Names.Name.t array) * Constraints.t [@@deriving sexp,yojson,hash,compare] end include SerType.Pierce(ACPierceDef) end type 'a in_universe_context = [%import: 'a UVars.in_universe_context] [@@deriving sexp] type 'a puniverses = [%import: 'a UVars.puniverses] [@@deriving sexp, yojson, hash, compare]
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>