Metacoq Versions Save

Metaprogramming, verified meta-theory and implementation of Coq in Coq

v1.0-beta1-8.12

3 years ago

We're happy to announce the first beta release of the MetaCoq project for Coq 8.11 and 8.12, available both as sources and as opam packages. See the website for introductory material and related articles and presentations.

MetaCoq was formerly called Template-Coq, but now also includes a (work-in-progress) formalisation of Coq in Coq, a verified type checker for Coq, and a verified type and proof erasure procedure, besides the tools for manipulating Coq terms and developing certified plugins (i.e. translations, compilers or tactics) in Coq provided by Template-Coq.

You can install it directly from sources or by typing opam install coq-metacoq.

The current release includes several subpackages, which can be compiled and installed separately if wanted:

  • the Template-Coq quoting library (in directory template-coq and as coq-metacoq-template)
  • a partial type-checker for Coq (checker / coq-metacoq-checker), usable as MetaCoq Check test.
  • a formalisation of meta-theoretical properties of PCUIC, the calculus underlying Coq (pcuic / coq-metacoq-pcuic)
  • a total verified type-checker for Coq (safechecker / coq-metacoq-safechecker), usable as MetaCoq SafeCheck test
  • a verified type and proof erasure function for Coq (erasure / coq-metacoq-erasure), usable as MetaCoq Erase test
  • a set of example translations from Type Theory to Type Theory (translation/ coq-metacoq-translations).

A good place to start are the files demo.v, safechecker_test.v, erasure_test.v in the test-suite directory.

MetaCoq is developed by Abhishek Anand, Simon Boulier, Cyril Cohen, Yannick Forster, Gregory Malecha, Matthieu Sozeau, Nicolas Tabareau and Théo Winterhalter. You are welcome to contribute by opening issues, PRs or asking questions on Zulip.

The MetaCoq Team

v1.0-beta1-8.11

3 years ago

We're happy to announce the first beta release of the MetaCoq project for Coq 8.11 and 8.12, available both as sources and as opam packages. See the website for introductory material and related articles and presentations.

MetaCoq was formerly called Template-Coq, but now also includes a (work-in-progress) formalisation of Coq in Coq, a verified type checker for Coq, and a verified type and proof erasure procedure, besides the tools for manipulating Coq terms and developing certified plugins (i.e. translations, compilers or tactics) in Coq provided by Template-Coq.

You can install it directly from sources or by typing opam install coq-metacoq.

The current release includes several subpackages, which can be compiled and installed separately if wanted:

  • the Template-Coq quoting library (in directory template-coq and as coq-metacoq-template)
  • a partial type-checker for Coq (checker / coq-metacoq-checker), usable as MetaCoq Check test.
  • a formalisation of meta-theoretical properties of PCUIC, the calculus underlying Coq (pcuic / coq-metacoq-pcuic)
  • a total verified type-checker for Coq (safechecker / coq-metacoq-safechecker), usable as MetaCoq SafeCheck test
  • a verified type and proof erasure function for Coq (erasure / coq-metacoq-erasure), usable as MetaCoq Erase test
  • a set of example translations from Type Theory to Type Theory (translation/ coq-metacoq-translations).

A good place to start are the files demo.v, safechecker_test.v, erasure_test.v in the test-suite directory.

MetaCoq is developed by Abhishek Anand, Simon Boulier, Cyril Cohen, Yannick Forster, Gregory Malecha, Matthieu Sozeau, Nicolas Tabareau and Théo Winterhalter. You are welcome to contribute by opening issues, PRs or asking questions on Zulip.

The MetaCoq Team

v1.0-alpha2-8.11

4 years ago

We're happy to announce the second alpha release of the MetaCoq project for Coq 8.10 and 8.11, available both as sources and as opam packages. See the website for introductory material and related articles and presentations.

MetaCoq was formerly called Template-Coq, but now also includes a (work-in-progress) formalisation of Coq in Coq, a verified type checker for Coq, and a verified type and proof erasure procedure, besides the tools for manipulating Coq terms and developing certified plugins (i.e. translations, compilers or tactics) in Coq provided by Template-Coq.

You can install it directly from sources or by typing opam install coq-metacoq.

The current release includes several subpackages, which can be compiled and installed separately if wanted:

  • the Template-Coq quoting library (in directory template-coq and as coq-metacoq-template)
  • a partial type-checker for Coq (checker / coq-metacoq-checker), usable as MetaCoq Check test.
  • a formalisation of meta-theoretical properties of PCUIC, the calculus underlying Coq (pcuic / coq-metacoq-pcuic)
  • a total verified type-checker for Coq (safechecker / coq-metacoq-safechecker), usable as MetaCoq SafeCheck test
  • a verified type and proof erasure function for Coq (erasure / coq-metacoq-erasure), usable as MetaCoq Erase test
  • a set of example translations from Type Theory to Type Theory (translation/ coq-metacoq-translations).

A good place to start are the files demo.v, safechecker_test.v, erasure_test.v in the test-suite directory.

MetaCoq is developed by Abhishek Anand, Simon Boulier, Cyril Cohen, Yannick Forster, Gregory Malecha, Matthieu Sozeau, Nicolas Tabareau and Théo Winterhalter. Please contribute by opening issues or asking questions on gitter.

Best, The MetaCoq Team

v1.0-alpha2-8.10

4 years ago

We're happy to announce the second alpha release of the MetaCoq project for Coq 8.10 and 8.11, available both as sources and as opam packages. See the website for introductory material and related articles and presentations.

MetaCoq was formerly called Template-Coq, but now also includes a (work-in-progress) formalisation of Coq in Coq, a verified type checker for Coq, and a verified type and proof erasure procedure, besides the tools for manipulating Coq terms and developing certified plugins (i.e. translations, compilers or tactics) in Coq provided by Template-Coq.

You can install it directly from sources or by typing opam install coq-metacoq.

The current release includes several subpackages, which can be compiled and installed separately if wanted:

  • the Template-Coq quoting library (in directory template-coq and as coq-metacoq-template)
  • a partial type-checker for Coq (checker / coq-metacoq-checker), usable as MetaCoq Check test.
  • a formalisation of meta-theoretical properties of PCUIC, the calculus underlying Coq (pcuic / coq-metacoq-pcuic)
  • a total verified type-checker for Coq (safechecker / coq-metacoq-safechecker), usable as MetaCoq SafeCheck test
  • a verified type and proof erasure function for Coq (erasure / coq-metacoq-erasure), usable as MetaCoq Erase test
  • a set of example translations from Type Theory to Type Theory (translation/ coq-metacoq-translations).

A good place to start are the files demo.v, safechecker_test.v, erasure_test.v in the test-suite directory.

MetaCoq is developed by Abhishek Anand, Simon Boulier, Cyril Cohen, Yannick Forster, Gregory Malecha, Matthieu Sozeau, Nicolas Tabareau and Théo Winterhalter. Please contribute by opening issues or asking questions on gitter.

Best, The MetaCoq Team

CoqCoqCorrect

4 years ago

Snapshot of MetaCoq - accompanying material of the article:

Matthieu Sozeau, Simon Boulier, Yannick Forster, Nicolas Tabareau, and Théo Winterhalter. 2020. Coq Coq Correct! Verification of Type Checking and Erasure for Coq, in Coq. Proc. ACM Program. Lang. 4, POPL, Article 8 (January 2020), 28 pages. https://doi.org/10.1145/3371076

See the README.md file for instructions on how to install and browse the sources.

1.0-alpha+8.9

4 years ago

We're happy to announce the first alpha release of the MetaCoq project for Coq 8.8 and 8.9, available both as sources and as opam packages. See the website for introductory material and related articles and presentations.

MetaCoq was formerly called Template-Coq, but now also includes a (work-in-progress) formalisation of Coq in Coq, a verified type checker for Coq, and a verified type and proof erasure procedure, besides the tools for manipulating Coq terms and developing certified plugins (i.e. translations, compilers or tactics) in Coq provided by Template-Coq.

You can install it directly from sources or by typing opam install coq-metacoq.

The current release includes several subpackages, which can be compiled and installed separately if wanted:

  • the Template-Coq quoting library (in directory template-coq and as coq-metacoq-template)
  • a partial type-checker for Coq (checker / coq-metacoq-checker), usable as MetaCoq Check test.
  • a formalisation of meta-theoretical properties of PCUIC, the calculus underlying Coq (pcuic / coq-metacoq-pcuic)
  • a total verified type-checker for Coq (safechecker / coq-metacoq-safechecker), usable as MetaCoq SafeCheck test
  • a verified type and proof erasure function for Coq (erasure / coq-metacoq-erasure), usable as MetaCoq Erase test
  • a set of example translations from Type Theory to Type Theory (translation/ coq-metacoq-translations).

A good place to start are the files demo.v, safechecker_test.v, erasure_test.v in the test-suite directory.

MetaCoq is developed by Abhishek Anand, Simon Boulier, Cyril Cohen, Yannick Forster, Gregory Malecha, Matthieu Sozeau, Nicolas Tabareau and Théo Winterhalter. Please contribute by opening issues or asking questions on gitter.

Best, The MetaCoq Team

1.0-alpha+8.8

4 years ago

We're happy to announce the first alpha release of the MetaCoq project for Coq 8.8 and 8.9, available both as sources and as opam packages. See the website for introductory material and related articles and presentations.

MetaCoq was formerly called Template-Coq, but now also includes a (work-in-progress) formalisation of Coq in Coq, a verified type checker for Coq, and a verified type and proof erasure procedure, besides the tools for manipulating Coq terms and developing certified plugins (i.e. translations, compilers or tactics) in Coq provided by Template-Coq.

You can install it directly from sources or by typing opam install coq-metacoq.

The current release includes several subpackages, which can be compiled and installed separately if wanted:

  • the Template-Coq quoting library (in directory template-coq and as coq-metacoq-template)
  • a partial type-checker for Coq (checker / coq-metacoq-checker), usable as MetaCoq Check test.
  • a formalisation of meta-theoretical properties of PCUIC, the calculus underlying Coq (pcuic / coq-metacoq-pcuic)
  • a total verified type-checker for Coq (safechecker / coq-metacoq-safechecker), usable as MetaCoq SafeCheck test
  • a verified type and proof erasure function for Coq (erasure / coq-metacoq-erasure), usable as MetaCoq Erase test
  • a set of example translations from Type Theory to Type Theory (translation/ coq-metacoq-translations).

A good place to start are the files demo.v, safechecker_test.v, erasure_test.v in the test-suite directory.

MetaCoq is developed by Abhishek Anand, Simon Boulier, Cyril Cohen, Yannick Forster, Gregory Malecha, Matthieu Sozeau, Nicolas Tabareau and Théo Winterhalter. Please contribute by opening issues or asking questions on gitter.

Best, The MetaCoq Team

v2.1-beta3

5 years ago

This release reflects the current status of the Coq 8.8 branch of Template-Coq. It is not feature-complete but stability is expected for:

  • The Coq term AST, which reflects all the kernel Coq terms
  • The interfaces of the universe graph.
  • The Coq entries and declaration Asts, which reflect the structures to get declarations in and out of the kernel.
  • The interface of the checker/type-inference algorithm.
  • The template monad features (currently runnable in Coq only)

Work is in progress on:

  • The formalization of the typing derivations, in particular the missing pieces on (co)-fixpoints and inductives.
  • The correctness proofs of the typechecker.
  • The formalization of the extraction algorithm, stripping proof terms from Coq terms.

This release significantly departs from and is incompatible with series 1 by Gregory Malecha (see https://github.com/gmalecha/template-coq/releases) and the previous 8.6 and 8.7 versions.

v2.1-beta2

5 years ago

This release reflects the current status of the Coq 8.8 branch of Template-Coq. It is not feature-complete but stability is expected for:

  • The Coq term AST, which reflects all the kernel Coq terms
  • The interfaces of the universe graph.
  • The Coq entries and declaration Asts, which reflect the structures to get declarations in and out of the kernel.
  • The interface of the checker/type-inference algorithm.
  • The template monad features (currently runnable in Coq only)

Work is in progress on:

  • The formalization of the typing derivations, in particular the missing pieces on (co)-fixpoints and inductives.
  • The correctness proofs of the typechecker.
  • The formalization of the extraction algorithm, stripping proof terms from Coq terms.

This release significantly departs from and is incompatible with series 1 by Gregory Malecha (see https://github.com/gmalecha/template-coq/releases) and the previous 8.6 and 8.7 versions.

v2.1-beta

5 years ago

This release reflects the current status of the Coq 8.8 branch of Template-Coq. It is not feature-complete but stability is expected for:

  • The Coq term AST, which reflects all the kernel Coq terms
  • The interfaces of the universe graph.
  • The Coq entries and declaration Asts, which reflect the structures to get declarations in and out of the kernel.
  • The interface of the checker/type-inference algorithm.
  • The template monad features (currently runnable in Coq only)

Work is in progress on:

The formalization of the typing derivations, in particular the missing pieces on (co)-fixpoints and inductives. The correctness proofs of the typechecker. This release significantly departs from and is incompatible with series 1 by Gregory Malecha (see https://github.com/gmalecha/template-coq/releases) and the previous 8.6 and 8.7 versions.