Skip to content

Commit 18d18e0

Browse files
authored
Merge pull request #533 from MetaCoq/template-pcuic-proofs
Template <-> PCUIC proofs
2 parents 3a5c31e + 643424b commit 18d18e0

File tree

104 files changed

+3961
-7748
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+3961
-7748
lines changed

INSTALL.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ MetaCoq is split into multiple packages that get all installed using the
2525
`coq-metacoq` meta-package:
2626

2727
- `coq-metacoq-template` for the Template Monad and quoting plugin
28-
- `coq-metacoq-checker` for the UNverified checker of template-coq terms
2928
- `coq-metacoq-pcuic` for the PCUIC development and proof of the
3029
Template-Coq -> PCUIC translation
3130
- `coq-metacoq-safechecker` for the verified checker on PCUIC terms
@@ -103,7 +102,7 @@ the sources directory.
103102

104103
Then use:
105104

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

Makefile

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
TIMED ?=
22

3-
all: template-coq checker pcuic safechecker erasure examples
3+
all: template-coq pcuic safechecker erasure examples
44

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

77
install: all
88
$(MAKE) -C template-coq install
9-
$(MAKE) -C checker install
109
$(MAKE) -C pcuic install
1110
$(MAKE) -C safechecker install
1211
$(MAKE) -C erasure install
1312
$(MAKE) -C translations install
1413

1514
uninstall: all
1615
$(MAKE) -C template-coq uninstall
17-
$(MAKE) -C checker uninstall
1816
$(MAKE) -C pcuic uninstall
1917
$(MAKE) -C safechecker uninstall
2018
$(MAKE) -C erasure uninstall
@@ -23,7 +21,6 @@ uninstall: all
2321
html: all
2422
"coqdoc" -toc -utf8 -interpolate -l -html \
2523
-R template-coq/theories MetaCoq.Template \
26-
-R checker/theories MetaCoq.Checker \
2724
-R pcuic/theories MetaCoq.PCUIC \
2825
-R safechecker/theories MetaCoq.SafeChecker \
2926
-R erasure/theories MetaCoq.Erasure \
@@ -32,7 +29,6 @@ html: all
3229

3330
clean:
3431
$(MAKE) -C template-coq clean
35-
$(MAKE) -C checker clean
3632
$(MAKE) -C pcuic clean
3733
$(MAKE) -C safechecker clean
3834
$(MAKE) -C erasure clean
@@ -45,7 +41,6 @@ mrproper:
4541
$(MAKE) -C pcuic mrproper
4642
$(MAKE) -C safechecker mrproper
4743
$(MAKE) -C erasure mrproper
48-
$(MAKE) -C checker mrproper
4944
$(MAKE) -C examples mrproper
5045
$(MAKE) -C test-suite mrproper
5146
$(MAKE) -C translations mrproper
@@ -55,7 +50,6 @@ mrproper:
5550
$(MAKE) -C pcuic .merlin
5651
$(MAKE) -C safechecker .merlin
5752
$(MAKE) -C erasure .merlin
58-
$(MAKE) -C checker .merlin
5953

6054
template-coq:
6155
$(MAKE) -C template-coq
@@ -69,22 +63,17 @@ safechecker: template-coq pcuic
6963
erasure: template-coq safechecker pcuic
7064
$(MAKE) -C erasure
7165

72-
checker: template-coq
73-
$(MAKE) -C checker
74-
7566
examples: checker safechecker erasure
7667
$(MAKE) -C examples
7768

78-
test-suite: template-coq checker safechecker erasure
69+
test-suite: template-coq safechecker erasure
7970
$(MAKE) -C test-suite
8071

81-
translations: template-coq checker
72+
translations: template-coq
8273
$(MAKE) -C translations
8374

8475
cleanplugins:
8576
$(MAKE) -C template-coq cleanplugin
86-
$(MAKE) -C pcuic cleanplugin
87-
$(MAKE) -C checker cleanplugin
8877
$(MAKE) -C safechecker cleanplugin
8978
$(MAKE) -C erasure cleanplugin
9079

README.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,13 @@ In addition to this representation of terms, Template Coq includes:
6969
checker, and inserting them in the global environment, in
7070
the style of MTac.
7171

72-
73-
### [Checker](https://github.com/MetaCoq/metacoq/tree/coq-8.11/checker)
74-
75-
A partial type-checker for the Calculus of Inductive Constructions,
76-
whose extraction to ML is runnable as a plugin (using command `MetaCoq
77-
Check foo`). This checker uses _fuel_, so it must be passed a number
78-
of maximal reduction steps to perform when calling conversion, and is
79-
NOT verified.
80-
72+
- A formalisation of the expected typing rules reflecting the ones of Coq
8173

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

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

8981
- Weakening for global declarations, weakening and substitution for

TODO.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@
3333

3434
- Finish the PCUICSigmaCalculus proofs.
3535

36+
# Medium Projects
37+
38+
- Change Template-PCUIC translations to translate casts to applications of
39+
identity functions (vm_cast, default_cast etc) to make the back and forth
40+
the identity and derive weakening/substitution/etc.. from the PCUIC theorems.
41+
Is that really better than identity functions?
3642
# Big projects
3743

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

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

5261
## Website
5362

checker/Makefile

Lines changed: 0 additions & 44 deletions
This file was deleted.

checker/Makefile.coq.local

Lines changed: 0 additions & 4 deletions
This file was deleted.

checker/Makefile.local

Lines changed: 0 additions & 3 deletions
This file was deleted.

checker/Makefile.plugin.local

Lines changed: 0 additions & 16 deletions
This file was deleted.

checker/_CoqProject.in

Lines changed: 0 additions & 17 deletions
This file was deleted.

checker/_PluginProject.in

Lines changed: 0 additions & 99 deletions
This file was deleted.

0 commit comments

Comments
 (0)