package coq-serapi

  1. Overview
  2. Docs
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_cooking.ml.html

Source file ser_cooking.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
(************************************************************************)
(*         *   The Coq Proof Assistant / The Coq Development Team       *)
(*  v      *   INRIA, CNRS and contributors - Copyright 1999-2018       *)
(* <O___,, *       (see CREDITS file for the list of authors)           *)
(*   \VV/  **************************************************************)
(*    //   *    This file is distributed under the terms of the         *)
(*         *     GNU Lesser General Public License Version 2.1          *)
(*         *     (see LICENSE file for the text of the license)         *)
(************************************************************************)

(************************************************************************)
(* Coq serialization API/Plugin                                         *)
(* Copyright 2016-2019 MINES ParisTech                                  *)
(* Written by: Emilio J. Gallego Arias                                  *)
(************************************************************************)
(* Status: Very Experimental                                            *)
(************************************************************************)

open Sexplib.Std
open Ppx_hash_lib.Std.Hash.Builtin
open Ppx_compare_lib.Builtin

module Names = Ser_names
module Univ = Ser_univ
module UVars = Ser_uvars
module Constr = Ser_constr

type abstr_info = {
  abstr_ctx : Constr.named_context;
  abstr_auctx : UVars.AbstractContext.t;
  abstr_ausubst : UVars.Instance.t;
} [@@deriving sexp,yojson,hash,compare]

type abstr_inst_info = {
  abstr_rev_inst : Names.Id.t list;
  abstr_uinst : UVars.Instance.t;
} [@@deriving sexp,yojson,hash,compare]

type 'a entry_map = 'a Names.Cmap.t * 'a Names.Mindmap.t [@@deriving sexp,yojson,hash,compare]
type expand_info = abstr_inst_info entry_map [@@deriving sexp,yojson,hash,compare]

module CIP = struct
type _t = {
  expand_info : expand_info;
  abstr_info : abstr_info;
} [@@deriving sexp,yojson,hash,compare]

type t =
  [%import: Cooking.cooking_info]
end

module B_ = SerType.Pierce(CIP)
type cooking_info = B_.t
 [@@deriving sexp,yojson,hash,compare]
OCaml

Innovation. Community. Security.