coq-serapi
ocaml-protoc
coq-serapi | ocaml-protoc | |
---|---|---|
1 | 1 | |
124 | 176 | |
- | - | |
8.1 | 9.0 | |
6 days ago | 20 days ago | |
OCaml | OCaml | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
coq-serapi
-
Translating My Z3 Tutorial to Coq
It's a question I hadn't really considered before. On first pass, as far as I know, I'd say the answer is no. It isn't clear to me what the objective of embedding Coq with a C api for example would be. The very core of Coq is about verifying proofs and not producing them and I'm not sure what the benefit of embedding it is.
Having said that there are a few projects that may be something like what you're asking. First off, Coq has the SerAPI project https://github.com/ejgallego/coq-serapi through which external programs can talk to coq. This has been used for example to make a python OpenAi gym like interface https://github.com/princeton-vl/CoqGym.
A different direction might be something like MetaMath Zero https://arxiv.org/abs/1910.10703 which is intended to be a small and fast verifier for it's language, perhaps maybe someday for embedding in applications. There is this notion of "Proof Carrying Code" which I don't really know what the current state of the art is. https://en.wikipedia.org/wiki/Proof-carrying_code One might want an easily embeddable trusted verifier for that purpose. I don't know.
ocaml-protoc
-
OCaml, Python and protobuf
To start, we'll install the open source protobuf compiler, ocaml-protoc. We'll use this for the OCaml project, which is where we'll start. The project tree structure will look like this.
What are some alternatives?
coq - Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs.
js_of_ocaml - Compiler from OCaml to Javascript.
sexp-grammar - Invertible parsing for S-expressions
ocaml - The core OCaml system: compilers, runtime system, base libraries
bs-json - Compositional JSON encode/decode library for BuckleScript
caramel - :candy: a functional language for building type-safe, scalable, and maintainable applications
Ceras - Universal binary serializer for a wide variety of scenarios https://discord.gg/FGaCX4c
Coqtail - Interactive Coq Proofs in Vim