Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
9c589a9
Model of the algorithm for universe checking inspired by Bezem et al
mattam82 Apr 27, 2022
395a8fd
Fix plugin
mattam82 Jul 18, 2025
2d178ab
Loop checking now builds a model in Z
mattam82 Jul 18, 2025
3270f4d
WIP, add partial models
mattam82 Jul 19, 2025
aec15c8
Move partial loop checking to a separate file
mattam82 Jul 21, 2025
b6eef8d
Improved semantics, correctness proof of infer
mattam82 Jul 23, 2025
49d9c3d
more precise check_model invariants
mattam82 Jul 24, 2025
6d821b2
Before generalizing strict_update
mattam82 Jul 26, 2025
c6b5f95
Before removing U set
mattam82 Jul 29, 2025
acc0a89
Should try not to start with U instead
mattam82 Jul 29, 2025
5375bf1
Loop complete again
mattam82 Jul 29, 2025
9a42656
Partial Loop checking defined
mattam82 Jul 29, 2025
f4562d3
Only looping cases to do
mattam82 Jul 29, 2025
d3b2abf
Proven the right invariant for loop checking, finally !!!
mattam82 Aug 2, 2025
40db520
Parameterizing inner_loop by original clauses
mattam82 Aug 25, 2025
35aa353
WIP
mattam82 Aug 26, 2025
43f4cb9
WIP
mattam82 Aug 26, 2025
a16a2e6
Backtrack on max_premise_model hypothesis
mattam82 Aug 26, 2025
5b24205
Simplify
mattam82 Aug 26, 2025
2719bfa
Before Switch back to a total model
mattam82 Aug 27, 2025
933cfdb
Finally ! Now to clean up
mattam82 Aug 27, 2025
02f1307
Completely readapted to nat model
mattam82 Aug 27, 2025
e200278
We can go back to a "normalized loop W + n -> W + n + 1" if we whish to
mattam82 Aug 27, 2025
4dd4030
Cleanup the PartialLoopChecking file
mattam82 Aug 28, 2025
f71a91d
Decidability of inference / satisfiability completed
mattam82 Aug 28, 2025
19eb5af
Proven correctness of the checking algorithm
mattam82 Aug 29, 2025
5705c51
WIP towards completeness
mattam82 Aug 29, 2025
2a81160
Verified entails -> model
mattam82 Aug 30, 2025
9b139d7
Completeness relying on a few auxilliary lemmas
mattam82 Aug 30, 2025
2cfec71
Completed proofs, including technical min_premise_add
mattam82 Aug 30, 2025
c2a586f
Model in Z requires partiality to make sense for checking
mattam82 Sep 6, 2025
0694e0a
Full formalization with partial model in Z, have to deal with negativ…
mattam82 Sep 8, 2025
31bde50
Complete proof of correctness and completeness for Z / N with injecti…
mattam82 Sep 8, 2025
aab1355
Do not go through successor clauses for checking anymore
mattam82 Sep 9, 2025
115d808
Updated, abstract interface for loop-checking
mattam82 Sep 10, 2025
fc2b321
Beginning of splitting into appropriate modules
mattam82 Sep 10, 2025
c5d988d
Move Clause stuff to HornClauses
mattam82 Sep 10, 2025
90444ab
WIP refactoring to separate modules
mattam82 Sep 10, 2025
9e90ea3
Split into 7 files. Deciders remains to sort out.
mattam82 Sep 10, 2025
cdbb10b
Cleaned up deciders and loopchecking, Model.v to split
mattam82 Sep 11, 2025
1e72657
Fix notation issues
mattam82 Sep 11, 2025
237097a
Move model instances out of Model.v
mattam82 Sep 11, 2025
8f7ed07
Comment in Model.v
mattam82 Sep 11, 2025
a70366b
Comment in Horn Clauses
mattam82 Sep 11, 2025
4175ed9
Commented in PartialLoopChecking
mattam82 Sep 11, 2025
faf82d4
Use /fwd tactic
mattam82 Sep 11, 2025
f3a7581
Enforce clauses to be enabled in the abstract model
mattam82 Sep 11, 2025
a024eea
Finish proving "add"
mattam82 Sep 11, 2025
0c428b0
Add another layer of abstraction for constraints -> clauses
mattam82 Sep 12, 2025
38cbca7
Before renamings
mattam82 Sep 13, 2025
d4c437b
WIP refactoring for a single nonempty level expr set implementation
mattam82 Sep 13, 2025
b8ce609
Moved up to UnivLoopChecking
mattam82 Sep 13, 2025
970489e
Finally linked to MetaRocq constraints and valuations
mattam82 Sep 13, 2025
7273574
Finalized completeness proof w.r.t. arbitrary presentations
mattam82 Sep 15, 2025
f4c3680
Cleanup a bit
mattam82 Sep 15, 2025
620e59b
Completeness for le also
mattam82 Sep 15, 2025
a420a6d
Improve notations setup
mattam82 Sep 18, 2025
05121d6
WIP refactoring for generalization over semilattices
mattam82 Sep 19, 2025
0d3375b
Continue refactoring
mattam82 Sep 21, 2025
74a8674
Initiality proven for entails_L
mattam82 Sep 22, 2025
d0c9ad2
Refactor proofs
mattam82 Sep 23, 2025
d04a5e5
WIP piecing together all results
mattam82 Sep 23, 2025
80f15dc
Adapted Deciders
mattam82 Sep 23, 2025
88c5310
Fixing UnivLoopChecking
mattam82 Sep 24, 2025
5ffa8ec
Completeness for constraints proven
mattam82 Sep 24, 2025
9dc5b6a
Cleaned up a bit UnivLoopChecking, need to dispatch lemmas from there…
mattam82 Sep 24, 2025
a0cc9a4
Minor refactorings
mattam82 Sep 24, 2025
bd7f395
Move lemmas to the right place
mattam82 Sep 25, 2025
d8eec9c
More refactorings/cleanups
mattam82 Sep 25, 2025
76f9b8d
WIP Refactor
mattam82 Sep 25, 2025
6cec434
Finish refactor, rename =1 to \doteq1 to avoid notation conflict
mattam82 Sep 25, 2025
d6fa7af
Finished cleanup
mattam82 Sep 25, 2025
e79b6d0
Finished univ loop checking cleanup
mattam82 Sep 25, 2025
8e0996e
Add support for a zero level
mattam82 Sep 26, 2025
cf146da
Invariants on valuations for zero/global/local verified
mattam82 Sep 29, 2025
2b8e04a
Finished adapting to valuations for monos and zero
mattam82 Sep 29, 2025
2575b85
Close remaining admits
mattam82 Sep 29, 2025
755fc09
Cleanups
mattam82 Sep 29, 2025
6d3706c
Finished tedious enforce/add_level specs
mattam82 Sep 29, 2025
142b2bd
Adapt Universe.v to substitution into universe instances
mattam82 Sep 30, 2025
d195cf6
Models are closed by intersection
mattam82 Sep 30, 2025
9cb932f
WIP on the "right" completeness lemma
mattam82 Oct 1, 2025
c5c6f4b
Proven real completeness result for opt_semilattice entailment
mattam82 Oct 1, 2025
e377d18
Proven invariance by shifting
mattam82 Oct 1, 2025
a328f37
Work to only talk about positive valuations
mattam82 Oct 1, 2025
87f1db1
WIP doing the partial/non-partial switch at the clauses level already
mattam82 Oct 2, 2025
5460692
Proven equivalence for defined valuations
mattam82 Oct 2, 2025
61020ae
Renamings, simplifications
mattam82 Oct 3, 2025
6d49d28
Compiling again
mattam82 Oct 3, 2025
e7b06fe
Finished proof, which required considering consistent but not entaile…
mattam82 Oct 3, 2025
525ea37
Refactor and cleanup deciders
mattam82 Oct 5, 2025
3861cea
Finally proven the theorem for validity in Z, so with arbitrary shift…
mattam82 Oct 5, 2025
f22ac38
Almost there with minimal model hypothesis
mattam82 Oct 7, 2025
0d521e7
Finished proof, up-to assumptions on inference
mattam82 Oct 7, 2025
e1cdf39
Finally, the proof method with the minimal model assumption works for…
mattam82 Oct 7, 2025
66041ea
Refactorings and cleanups, generalizing the invalidity proof
mattam82 Oct 7, 2025
daa3e8e
Make deciders compile again
mattam82 Oct 9, 2025
12d7ace
Add zero in semilattice def
mattam82 Oct 9, 2025
7f286ee
Minor changes
mattam82 Oct 10, 2025
2d616e4
Generalize zero_model definition
mattam82 Oct 10, 2025
b2731fc
WIP in deciders
mattam82 Oct 13, 2025
2c45a3d
Minor fix
mattam82 Oct 13, 2025
fe682d6
Pulled back loop to the initial model
mattam82 Oct 13, 2025
f2ce72b
Utility lemma
mattam82 Oct 13, 2025
4bf8fab
Still looking...
mattam82 Oct 15, 2025
e252930
Reorder arguments of is_model, backtrack on "more precis loops"
mattam82 Oct 15, 2025
e19514f
Cleanup Deciders
mattam82 Oct 16, 2025
dbf8574
Developing theory of thinning clauses to avoid "latent" loops
mattam82 Oct 28, 2025
13a60f1
Validity in Z is provably decided by enforcement of the inverse claus…
mattam82 Oct 31, 2025
06ea4a7
Fill admitted proofs.
mattam82 Oct 31, 2025
581adf6
Remove some unused proofs from Deciders: TODO cleanup Deciders more
mattam82 Oct 31, 2025
10af466
Cleanup deciders
mattam82 Oct 31, 2025
690ddca
Lift to checking whole set of clauses
mattam82 Oct 31, 2025
be888a6
Show that check is complete for validity in nat
mattam82 Nov 1, 2025
fa0eefb
Before generalize wf_valuation
mattam82 Nov 2, 2025
9ea96c6
Cleanup UGraph, no "GC set" anymore
mattam82 Nov 2, 2025
eb70a24
Adapted universes decidability proofs
mattam82 Nov 3, 2025
185bea7
Adapting to new universe instances
mattam82 Nov 4, 2025
a923a91
Adapted TemplateRocq plugin
mattam82 Nov 4, 2025
405222e
Porting of PCUIC
mattam82 Nov 4, 2025
2f16fb1
WIP on univ substitution
mattam82 Nov 5, 2025
702e0a8
Finished porting univ subsitution proof
mattam82 Nov 5, 2025
37cc26e
Ported WfUniverses
mattam82 Nov 5, 2025
f72ebb0
Validity ported
mattam82 Nov 5, 2025
7d9772c
Ported PCUICInductiveInversion (variance stuff lifted from levels to …
mattam82 Nov 6, 2025
bbb0929
Ported the safe type checker
mattam82 Nov 6, 2025
7411067
Stop building quotation
mattam82 Nov 6, 2025
d03c383
Ported safe checker
mattam82 Nov 6, 2025
856ac84
Port safechecker plugin
mattam82 Nov 6, 2025
696475f
Fix quoting/denotation of universe instances. To fix when moving to r…
mattam82 Nov 6, 2025
c2e094f
Port erasure
mattam82 Nov 6, 2025
1428226
Port erasure plugin
mattam82 Nov 6, 2025
a77295d
Remove generated file
mattam82 Nov 6, 2025
df22127
Remove old files
mattam82 Nov 6, 2025
c4f38e5
Remove consistent_extension_on invariant, not used in Rocq
mattam82 Nov 7, 2025
a67c280
Finished porting!
mattam82 Nov 7, 2025
3688f28
Fill admitted proofs
mattam82 Nov 7, 2025
88c5bf3
Fill last remaining proofs
mattam82 Nov 7, 2025
fb81f0c
Minor cleanup
mattam82 Nov 7, 2025
7478590
Fix template checker
mattam82 Nov 7, 2025
e7942df
[fixme] Comment parametricity translations that require to run univer…
mattam82 Nov 7, 2025
261359a
Fix examples, deactivate typing_correctness for now, as the universe …
mattam82 Nov 7, 2025
5807e0a
WIP fixing quotation modules
mattam82 Nov 8, 2025
3a6ecb4
Deactivate quotation module for now
mattam82 Nov 8, 2025
a9875f7
Deactivate building quotation submodule for now in NIX
mattam82 Nov 8, 2025
7a08631
Fix test-suite
mattam82 Nov 8, 2025
1300c66
Remove generated file
mattam82 Nov 8, 2025
4f81efc
Fix opam ci to not include quotation submodule
mattam82 Nov 8, 2025
9570f58
Fix ci-opam target
mattam82 Nov 8, 2025
ffc4ced
Force not testing the quotation package
mattam82 Nov 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,7 @@ test-suite/plugin-demo/Makefile.plugin
template-rocq/Makefile.plugin-e
template-rocq/Makefile.template-e
template-rocq/src/g_template_coq.ml
template-rocq/src/g_template_rocq.ml
pcuic/Makefile.plugin-e
erasure/Makefile.plugin-e
safechecker/Makefile.plugin-e
Expand Down Expand Up @@ -413,3 +414,7 @@ template-rocq/_TemplateRocqProject
.gitignore
template-rocq/_PluginProject
template-rocq/_RocqProject
template-coq/extraction_clauses/clauses.ml
template-coq/extraction_clauses/clauses.mli
template-coq/extraction_clauses/loop_checking.mli
template-coq/extraction_clauses/loop_checking.ml
14 changes: 7 additions & 7 deletions .nix/rocq-overlays/metarocq/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ let
"safechecker"
"template-pcuic"
];
"quotation" = [
"template-rocq"
"pcuic"
"template-pcuic"
];
# "quotation" = [
# "template-rocq"
# "pcuic"
# "template-pcuic"
# ];
"safechecker-plugin" = [
"template-pcuic"
"safechecker"
Expand All @@ -52,7 +52,7 @@ let
"safechecker-plugin"
"erasure-plugin"
"translations"
"quotation"
# "quotation"
];
};

Expand Down Expand Up @@ -111,7 +111,7 @@ let
(lib.elem package [
"erasure"
"template-pcuic"
"quotation"
# "quotation"
"safechecker-plugin"
"erasure-plugin"
"translations"
Expand Down
160 changes: 104 additions & 56 deletions .vscode/metarocq.code-workspace
Original file line number Diff line number Diff line change
Expand Up @@ -8,86 +8,94 @@

// A list of arguments to send to coqtop. Use seperate elements instead of spaces to seperate each argument, especially when a flag expects another trailing argument, e.g. `["-I","./bin"]` instead of `["-I ./bin"]`
"coqtop.args": [

// "-bt", // get backtraces from Rocq on errors
"-R", "utils/theories", "MetaRocq.Utils",
"-R", "common/theories", "MetaRocq.Common",
"-R", "template-rocq/theories", "MetaRocq.Template",
"-Q", "utils/theories", "MetaRocq.Utils",
"-Q", "common/theories", "MetaRocq.Common",
"-Q", "template-rocq/theories", "MetaRocq.Template",
"-I", "template-rocq",
"-I", "template-rocq/src",
"-R", "pcuic/theories", "MetaRocq.PCUIC",
"-Q", "pcuic/theories", "MetaRocq.PCUIC",
"-I", "pcuic",
"-I", "pcuic/src",
"-R", "template-pcuic/theories", "MetaRocq.TemplatePCUIC",
"-R", "safechecker/theories", "MetaRocq.SafeChecker",
"-R", "safechecker-plugin/theories", "MetaRocq.SafeCheckerPlugin",
"-Q", "template-pcuic/theories", "MetaRocq.TemplatePCUIC",
"-Q", "safechecker/theories", "MetaRocq.SafeChecker",
"-Q", "safechecker-plugin/theories", "MetaRocq.SafeCheckerPlugin",
"-I", "safechecker-plugin",
"-I", "safechecker-plugin/src",
"-R", "erasure/theories", "MetaRocq.Erasure",
"-R", "erasure-plugin/theories", "MetaRocq.ErasurePlugin",
"-Q", "erasure/theories", "MetaRocq.Erasure",
"-Q", "erasure-plugin/theories", "MetaRocq.ErasurePlugin",
"-I", "erasure-plugin",
"-I", "erasure-plugin/src",
"-R", "translations", "MetaRocq.Translations",
"-R", "quotation/theories", "MetaRocq.Quotation",
"-R", "test-suite", "MetaRocq.TestSuite",
"-R", "test-suite/plugin-demo/theories", "MetaRocq.ExtractedPluginDemo",
"-Q", "translations", "MetaRocq.Translations",
"-Q", "quotation/theories", "MetaRocq.Quotation",
"-Q", "test-suite", "MetaRocq.TestSuite",
"-Q", "test-suite/plugin-demo/theories", "MetaRocq.ExtractedPluginDemo",
"-I", "test-suite/plugin-demo",
"-I", "test-suite/plugin-demo/src",
"-R", "examples", "MetaRocq.Examples",
"-Q", "test-suite/loop-checking/theories", "MetaRocq.LoopChecking",
"-I", "test-suite/loop-checking/src",
"-Q", "examples", "MetaRocq.Examples",
],
"vscoq.args": [

// "-bt", // get backtraces from Rocq on errors
"-R", "utils/theories", "MetaRocq.Utils",
"-R", "common/theories", "MetaRocq.Common",
"-R", "template-rocq/theories", "MetaRocq.Template",
"-Q", "utils/theories", "MetaRocq.Utils",
"-Q", "common/theories", "MetaRocq.Common",
"-Q", "template-rocq/theories", "MetaRocq.Template",
"-I", "template-rocq",
"-I", "template-rocq/src",
"-R", "pcuic/theories", "MetaRocq.PCUIC",
"-Q", "pcuic/theories", "MetaRocq.PCUIC",
"-I", "pcuic",
"-I", "pcuic/src",
"-R", "template-pcuic/theories", "MetaRocq.TemplatePCUIC",
"-R", "safechecker/theories", "MetaRocq.SafeChecker",
"-R", "safechecker-plugin/theories", "MetaRocq.SafeCheckerPlugin",
"-Q", "template-pcuic/theories", "MetaRocq.TemplatePCUIC",
"-Q", "safechecker/theories", "MetaRocq.SafeChecker",
"-Q", "safechecker-plugin/theories", "MetaRocq.SafeCheckerPlugin",
"-I", "safechecker-plugin",
"-I", "safechecker-plugin/src",
"-R", "erasure/theories", "MetaRocq.Erasure",
"-R", "erasure-plugin/theories", "MetaRocq.ErasurePlugin",
"-Q", "erasure/theories", "MetaRocq.Erasure",
"-Q", "erasure-plugin/theories", "MetaRocq.ErasurePlugin",
"-I", "erasure-plugin",
"-I", "erasure-plugin/src",
"-R", "translations", "MetaRocq.Translations",
"-R", "quotation/theories", "MetaRocq.Quotation",
"-R", "test-suite", "MetaRocq.TestSuite",
"-R", "test-suite/plugin-demo/theories", "MetaRocq.ExtractedPluginDemo",
"-Q", "translations", "MetaRocq.Translations",
"-Q", "quotation/theories", "MetaRocq.Quotation",
"-Q", "test-suite", "MetaRocq.TestSuite",
"-Q", "test-suite/plugin-demo/theories", "MetaRocq.ExtractedPluginDemo",
"-I", "test-suite/plugin-demo",
"-I", "test-suite/plugin-demo/src",
"-R", "examples", "MetaRocq.Examples",
"-Q", "examples", "MetaRocq.Examples",
],
"coq-lsp.args": [
// "-bt", // get backtraces from Rocq on errors
"-R", "utils/theories,MetaRocq.Utils",
"-R", "common/theories,MetaRocq.Common",
"-R", "template-rocq/theories,MetaRocq.Template",
"-I", "template-rocq",
"-I", "template-rocq/src",
"-R", "pcuic/theories,MetaRocq.PCUIC",
"-I", "pcuic",
"-I", "pcuic/src",
"-R", "template-pcuic/theories,MetaRocq.TemplatePCUIC",
"-R", "safechecker/theories,MetaRocq.SafeChecker",
"-R", "safechecker-plugin/theories,MetaRocq.SafeCheckerPlugin",
"-I", "safechecker-plugin",
"-I", "safechecker-plugin/src",
"-R", "erasure/theories,MetaRocq.Erasure",
"-R", "erasure-plugin/theories,MetaRocq.ErasurePlugin",
"-I", "erasure-plugin",
"-I", "erasure-plugin/src",
"-R", "translations,MetaRocq.Translations",
"-R", "quotation/theories,MetaRocq.Quotation",
"-R", "test-suite,MetaRocq.TestSuite",
"-R", "test-suite/plugin-demo/theories,MetaRocq.ExtractedPluginDemo",
"-I", "test-suite/plugin-demo",
"-I", "test-suite/plugin-demo/src",
"-R", "examples,MetaRocq.Examples",
],
"-Q",
"utils/theories,MetaRocq.Utils",
"-Q",
"common/theories,MetaRocq.Common",
"-Q",
"template-rocq/theories,MetaRocq.Template",
"-Q",
"pcuic/theories,MetaRocq.PCUIC",
"-Q",
"template-pcuic/theories,MetaRocq.TemplatePCUIC",
"-Q",
"safechecker/theories,MetaRocq.SafeChecker",
"-Q",
"safechecker-plugin/theories,MetaRocq.SafeCheckerPlugin",
"-Q",
"erasure/theories,MetaRocq.Erasure",
"-Q",
"erasure-plugin/theories,MetaRocq.ErasurePlugin",
"-Q",
"translations,MetaRocq.Translations",
"-Q",
"quotation/theories,MetaRocq.Quotation",
"-Q",
"test-suite,MetaRocq.TestSuite",
"-Q",
"test-suite/plugin-demo/theories,MetaRocq.ExtractedPluginDemo",
"-Q",
"examples,MetaRocq.Examples",
"--ocamlpath=template-rocq,template-rocq/src,pcuic/src,safechecker-plugin/src,erasure-plugin/src,test-suite/plugin-demo/src"
],
// When enabled, will trim trailing whitespace when saving a file.
"files.trimTrailingWhitespace": true,
"vscoq.path": "_opam/bin/vscoqtop",
Expand All @@ -101,13 +109,53 @@
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/Thumbs.db": true
"**/Thumbs.db": true,
"**/CVS": true
},
"coq-lsp.check_only_on_request": true,
"coqtop.binPath": "_opam/bin",
"coqtop.coqtopExe": "coqtop",
"coqtop.coqidetopExe": "coqidetop",
"cSpell.enabledFileTypes": {
"coq": false
},
"coq-lsp.show_universes_on_hover": false,
"coq-lsp.pp_type": 1,
"coq-lsp.heatmap.enabled": true,
"coq-lsp.goal_after_tactic": false,
"coq-lsp.messages_follow_goal": false,
"coq-lsp.send_perf_data": false,
"coq-lsp.admit_on_bad_qed": false,
"coq-lsp.max_errors": 1,
"vsrocq.args": [

// "-bt", // get backtraces from Rocq on errors
"-Q", "utils/theories", "MetaRocq.Utils",
"-Q", "common/theories", "MetaRocq.Common",
"-Q", "template-rocq/theories", "MetaRocq.Template",
"-I", "template-rocq",
"-I", "template-rocq/src",
"-Q", "pcuic/theories", "MetaRocq.PCUIC",
"-I", "pcuic",
"-I", "pcuic/src",
"-Q", "template-pcuic/theories", "MetaRocq.TemplatePCUIC",
"-Q", "safechecker/theories", "MetaRocq.SafeChecker",
"-Q", "safechecker-plugin/theories", "MetaRocq.SafeCheckerPlugin",
"-I", "safechecker-plugin",
"-I", "safechecker-plugin/src",
"-Q", "erasure/theories", "MetaRocq.Erasure",
"-Q", "erasure-plugin/theories", "MetaRocq.ErasurePlugin",
"-I", "erasure-plugin",
"-I", "erasure-plugin/src",
"-Q", "translations", "MetaRocq.Translations",
"-Q", "quotation/theories", "MetaRocq.Quotation",
"-Q", "test-suite", "MetaRocq.TestSuite",
"-Q", "test-suite/plugin-demo/theories", "MetaRocq.ExtractedPluginDemo",
"-I", "test-suite/plugin-demo",
"-I", "test-suite/plugin-demo/src",
"-Q", "examples", "MetaRocq.Examples",
],
"vsrocq.completion.enable": true,
}
}
25 changes: 13 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

all: printconf template-rocq pcuic safechecker erasure erasure-plugin safechecker-plugin quotation
all: printconf template-rocq pcuic safechecker erasure erasure-plugin safechecker-plugin

-include Makefile.conf

Expand Down Expand Up @@ -33,7 +33,7 @@ install: all
$(MAKE) -C pcuic install
$(MAKE) -C safechecker install
$(MAKE) -C template-pcuic install
$(MAKE) -C quotation install
# $(MAKE) -C quotation install
$(MAKE) -C safechecker-plugin install
$(MAKE) -C erasure install
$(MAKE) -C erasure-plugin install
Expand All @@ -45,7 +45,7 @@ uninstall:
$(MAKE) -C pcuic uninstall
$(MAKE) -C safechecker uninstall
$(MAKE) -C template-pcuic uninstall
$(MAKE) -C quotation uninstall
# $(MAKE) -C quotation uninstall
$(MAKE) -C safechecker-plugin uninstall
$(MAKE) -C erasure uninstall
$(MAKE) -C erasure-plugin uninstall
Expand All @@ -65,7 +65,6 @@ html: all
-R safechecker-plugin/theories MetaRocq.SafeCheckerPlugin \
-R erasure/theories MetaRocq.Erasure \
-R erasure-plugin/theories MetaRocq.ErasurePlugin \
-R quotation/theories MetaRocq.Quotation \
-R translations MetaRocq.Translations \
-R examples MetaRocq.Examples \
-d html */theories/*.v */theories/*/*.v translations/*.v examples/*.v
Expand All @@ -80,7 +79,7 @@ clean:
$(MAKE) -C safechecker clean
$(MAKE) -C safechecker-plugin clean
$(MAKE) -C template-pcuic clean
$(MAKE) -C quotation clean
# $(MAKE) -C quotation clean
$(MAKE) -C erasure clean
$(MAKE) -C erasure-plugin clean
$(MAKE) -C examples clean
Expand All @@ -95,7 +94,7 @@ vos:
$(MAKE) -C safechecker vos
$(MAKE) -C safechecker-plugin vos
$(MAKE) -C template-pcuic vos
$(MAKE) -C quotation vos
# $(MAKE) -C quotation vos
$(MAKE) -C erasure vos
$(MAKE) -C erasure-plugin vos
$(MAKE) -C translations vos
Expand All @@ -108,7 +107,7 @@ quick:
$(MAKE) -C safechecker quick
$(MAKE) -C safechecker-plugin quick
$(MAKE) -C template-pcuic quick
$(MAKE) -C quotation vos # quick # we cannot unset universe checking in 8.16 due to COQBUG(https://github.com/coq/coq/issues/17361), and quick does not buy much in quotation anyway, where almost everything is transparent
# $(MAKE) -C quotation vos # quick # we cannot unset universe checking in 8.16 due to COQBUG(https://github.com/coq/coq/issues/17361), and quick does not buy much in quotation anyway, where almost everything is transparent
$(MAKE) -C erasure quick
$(MAKE) -C erasure-plugin quick
$(MAKE) -C translations quick
Expand All @@ -121,7 +120,7 @@ mrproper:
$(MAKE) -C safechecker mrproper
$(MAKE) -C safechecker-plugin mrproper
$(MAKE) -C template-pcuic mrproper
$(MAKE) -C quotation mrproper
# $(MAKE) -C quotation mrproper
$(MAKE) -C erasure mrproper
$(MAKE) -C erasure-plugin mrproper
$(MAKE) -C examples mrproper
Expand All @@ -136,7 +135,7 @@ mrproper:
$(MAKE) -C safechecker .merlin
$(MAKE) -C safechecker-plugin .merlin
$(MAKE) -C template-pcuic .merlin
$(MAKE) -C quotation .merlin
# $(MAKE) -C quotation .merlin
$(MAKE) -C erasure .merlin
$(MAKE) -C erasure-plugin .merlin

Expand All @@ -158,8 +157,8 @@ safechecker: pcuic
template-pcuic: template-rocq pcuic
$(MAKE) -C template-pcuic

quotation: template-rocq pcuic template-pcuic
$(MAKE) -C quotation
# quotation: template-rocq pcuic template-pcuic
# $(MAKE) -C quotation

safechecker-plugin: safechecker template-pcuic
$(MAKE) -C safechecker-plugin
Expand Down Expand Up @@ -207,7 +206,9 @@ ci-quick:

ci-opam:
# Use -v so that regular output is produced
opam install --with-test -v -y .
rm -f rocq-metarocq-quotation.opam
opam pin add -y .
opam install --with-test -v -y rocq-metarocq
opam remove -y rocq-metarocq rocq-metarocq-template

checktodos:
Expand Down
14 changes: 13 additions & 1 deletion common/_RocqProject.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-R theories MetaRocq.Common

theories/Primitive.v
theories/uGraph.v
theories/UnivConstraintType.v
theories/config.v
theories/Kernames.v
theories/Universes.v
Expand All @@ -14,3 +14,15 @@ theories/EnvironmentTyping.v
theories/EnvironmentReflect.v
theories/EnvMap.v
theories/Transform.v

theories/LoopChecking/Common.v
theories/LoopChecking/Interfaces.v
theories/LoopChecking/InitialSemilattice.v
theories/LoopChecking/HornClauses.v
theories/LoopChecking/HornSemilatticeEquiv.v
theories/LoopChecking/Model.v
theories/LoopChecking/Models.v
theories/LoopChecking/PartialLoopChecking.v
theories/LoopChecking/Deciders.v
theories/LoopChecking/UnivLoopChecking.v
theories/uGraph.v
Loading
Loading