Skip to content

Commit

Permalink
Merge pull request #540 from yforster/coq-8.12-jan18
Browse files Browse the repository at this point in the history
Preparing for `coq-metacoq.1.0~beta2+8.12`
  • Loading branch information
mattam82 authored Jan 19, 2021
2 parents 753ac0b + ae198c3 commit ebcd89f
Show file tree
Hide file tree
Showing 192 changed files with 15,088 additions and 10,794 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -412,3 +412,9 @@ erasure/src/signature.ml
erasure/src/signature.mli
erasure/src/eOptimizePropDiscr.ml
erasure/src/eOptimizePropDiscr.mli
erasure/src/pCUICErrors.ml
erasure/src/pCUICErrors.mli
erasure/src/pCUICTypeChecker.ml
erasure/src/pCUICTypeChecker.mli
erasure/src/pCUICPrimitive.ml
erasure/src/pCUICPrimitive.mli
3 changes: 1 addition & 2 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ MetaCoq is split into multiple packages that get all installed using the
`coq-metacoq` meta-package:

- `coq-metacoq-template` for the Template Monad and quoting plugin
- `coq-metacoq-checker` for the UNverified checker of template-coq terms
- `coq-metacoq-pcuic` for the PCUIC development and proof of the
Template-Coq -> PCUIC translation
- `coq-metacoq-safechecker` for the verified checker on PCUIC terms
Expand Down Expand Up @@ -103,7 +102,7 @@ the sources directory.

Then use:

- `make` to compile the `template-coq` plugin, the `checker`, the `pcuic`
- `make` to compile the `template-coq` plugin, the `pcuic`
development and the `safechecker` and `erasure` plugins.
You can also selectively build each target.

Expand Down
23 changes: 6 additions & 17 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
TIMED ?=

all: template-coq checker pcuic safechecker erasure examples
all: template-coq pcuic safechecker erasure examples

.PHONY: all template-coq checker pcuic erasure install html clean mrproper .merlin test-suite translations
.PHONY: all template-coq pcuic erasure install html clean mrproper .merlin test-suite translations

install: all
$(MAKE) -C template-coq install
$(MAKE) -C checker install
$(MAKE) -C pcuic install
$(MAKE) -C safechecker install
$(MAKE) -C erasure install
$(MAKE) -C translations install

uninstall: all
$(MAKE) -C template-coq uninstall
$(MAKE) -C checker uninstall
$(MAKE) -C pcuic uninstall
$(MAKE) -C safechecker uninstall
$(MAKE) -C erasure uninstall
Expand All @@ -23,7 +21,6 @@ uninstall: all
html: all
"coqdoc" -toc -utf8 -interpolate -l -html \
-R template-coq/theories MetaCoq.Template \
-R checker/theories MetaCoq.Checker \
-R pcuic/theories MetaCoq.PCUIC \
-R safechecker/theories MetaCoq.SafeChecker \
-R erasure/theories MetaCoq.Erasure \
Expand All @@ -32,7 +29,6 @@ html: all

clean:
$(MAKE) -C template-coq clean
$(MAKE) -C checker clean
$(MAKE) -C pcuic clean
$(MAKE) -C safechecker clean
$(MAKE) -C erasure clean
Expand All @@ -45,7 +41,6 @@ mrproper:
$(MAKE) -C pcuic mrproper
$(MAKE) -C safechecker mrproper
$(MAKE) -C erasure mrproper
$(MAKE) -C checker mrproper
$(MAKE) -C examples mrproper
$(MAKE) -C test-suite mrproper
$(MAKE) -C translations mrproper
Expand All @@ -55,7 +50,6 @@ mrproper:
$(MAKE) -C pcuic .merlin
$(MAKE) -C safechecker .merlin
$(MAKE) -C erasure .merlin
$(MAKE) -C checker .merlin

template-coq:
$(MAKE) -C template-coq
Expand All @@ -69,28 +63,23 @@ safechecker: template-coq pcuic
erasure: template-coq safechecker pcuic
$(MAKE) -C erasure

checker: template-coq
$(MAKE) -C checker

examples: checker safechecker
examples: checker safechecker erasure
$(MAKE) -C examples

test-suite: template-coq checker safechecker erasure
test-suite: template-coq safechecker erasure
$(MAKE) -C test-suite

translations: template-coq checker
translations: template-coq
$(MAKE) -C translations

cleanplugins:
$(MAKE) -C template-coq cleanplugin
$(MAKE) -C pcuic cleanplugin
$(MAKE) -C checker cleanplugin
$(MAKE) -C safechecker cleanplugin
$(MAKE) -C erasure cleanplugin

ci-local:
./configure.sh local
$(MAKE) all test-suite TIMED=pretty-timed
$(MAKE) all test-suite

ci-opam:
# Use -v so that regular output is produced
Expand Down
13 changes: 3 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,20 +68,13 @@ In addition to this representation of terms, Template Coq includes:
checker, and inserting them in the global environment, in
the style of MTac.

- A formalisation of the expected typing rules reflecting the ones of Coq

### [Checker](https://github.com/MetaCoq/metacoq/tree/coq-8.12/checker)

A partial type-checker for the Calculus of Inductive Constructions,
whose extraction to ML is runnable as a plugin (using command `MetaCoq
Check foo`). This checker uses _fuel_, so it must be passed a number
of maximal reduction steps to perform when calling conversion, and is
NOT verified.

### [PCUIC](https://github.com/MetaCoq/metacoq/tree/coq-8.12/pcuic)
### [PCUIC](https://github.com/MetaCoq/metacoq/tree/coq-8.11/pcuic)

PCUIC, the Polymorphic Cumulative Calculus of Inductive Constructions is
a cleaned up version of the term language of Coq and its associated
type system, equivalent to the one of Coq. This version of the
type system, shown equivalent to the one of Coq. This version of the
calculus has proofs of standard metatheoretical results:

- Weakening for global declarations, weakening and substitution for
Expand Down
14 changes: 11 additions & 3 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,16 @@

- Clean `Derive`s: always derive `Siganture`, `NoConf`, ... directly after the
definition of the inductive. (To avoid doing it several times.)
(Mostly done)

- Finish the PCUICSigmaCalculus proofs.

- Remove `Program` from everywhere.


# Medium Projects

- Change Template-PCUIC translations to translate casts to applications of
identity functions (vm_cast, default_cast etc) to make the back and forth
the identity and derive weakening/substitution/etc.. from the PCUIC theorems.
Is that really better than identity functions?
# Big projects

- Refine the longest-simple-path algorithm on universes with the
Expand All @@ -49,6 +54,9 @@
be definable. Probably not very useful though because if the elimination is
restricted then it means some Type is in the constructor and won't be projectable.

- Verify the substitution calculus of P.M Pédrot using skewed lists at
https://github.com/coq/coq/pull/13537 and try to use it to implement efficient explicit
substitutions.

## Website

Expand Down
44 changes: 0 additions & 44 deletions checker/Makefile

This file was deleted.

4 changes: 0 additions & 4 deletions checker/Makefile.coq.local

This file was deleted.

3 changes: 0 additions & 3 deletions checker/Makefile.local

This file was deleted.

16 changes: 0 additions & 16 deletions checker/Makefile.plugin.local

This file was deleted.

17 changes: 0 additions & 17 deletions checker/_CoqProject.in

This file was deleted.

99 changes: 0 additions & 99 deletions checker/_PluginProject.in

This file was deleted.

9 changes: 0 additions & 9 deletions checker/demo.v

This file was deleted.

3 changes: 0 additions & 3 deletions checker/src/.gitignore

This file was deleted.

Loading

0 comments on commit ebcd89f

Please sign in to comment.