package coq-serapi
Serialization library and protocol for machine interaction with the Coq proof assistant
Install
Dune Dependency
Authors
Maintainers
Sources
coq-serapi-8.15.0.0.15.0.tbz
sha256=5cd48e23a8893f71f7b599dc919ce52d19eb4a6feeaa49f954e0a7123496a306
sha512=cc09f481c5dfdf181711aa13ef1d93176b4143a14ef863375f98e25db15da8ed4335526a27ba33479594a0bd745733eaaf02437ce7e0f972d97673b04d25773c
doc/src/coq-serapi.serlib/ser_opaqueproof.ml.html
Source file ser_opaqueproof.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
(************************************************************************) (* 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-2018 MINES ParisTech *) (************************************************************************) (* Status: Experimental *) (************************************************************************) open Sexplib.Conv module Future = Ser_future module Names = Ser_names module Univ = Ser_univ module Constr = Ser_constr module Mod_subst = Ser_mod_subst type proofterm = (Constr.constr * Univ.ContextSet.t) Future.computation [@@deriving sexp] (* type work_list = * [%import: Opaqueproof.work_list] * [@@deriving sexp] * * type cooking_info = * [%import: Opaqueproof.cooking_info] * [@@deriving sexp] *) type 'cooking_info _opaque = | Indirect of Mod_subst.substitution list * 'cooking_info list * Names.DirPath.t * int (* subst, discharge, lib, index *) [@@deriving sexp] type opaque = [%import: 'a Opaqueproof.opaque] let sexp_of_opaque f x = sexp_of__opaque f (Obj.magic x) let opaque_of_sexp f x = Obj.magic (_opaque_of_sexp f x) module Map = Ser_cMap.Make(Int.Map)(Ser_int) type _opaquetab = { opaque_val : proofterm Map.t; (** Actual proof terms *) opaque_len : int; (** Size of the above map *) opaque_dir : Names.DirPath.t; } [@@deriving sexp] type opaquetab = [%import: Opaqueproof.opaquetab] let sexp_of_opaquetab x = sexp_of__opaquetab (Obj.magic x) let opaquetab_of_sexp x = Obj.magic (_opaquetab_of_sexp x)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>