Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TC] CS projections replaced with uvar #648

Open
wants to merge 32 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
6105b05
[TC] primitive constructor for fold in instance (pre-)compilation
FissoreD Jul 2, 2024
d01790e
[TC] canonical proj solved with coq.unify-eq
FissoreD Jul 2, 2024
681e9c1
[TC] clean-term also for tc.canonical-projection
FissoreD Jul 3, 2024
f8f6439
[TC] compilation of primitive projections to their compatibility cons…
FissoreD Jul 10, 2024
5564012
Revert "[TC] compilation of primitive projections to their compatibil…
FissoreD Jul 10, 2024
11e5ae9
[TC] put cnonical projection in tc namespace
FissoreD Jul 12, 2024
d182f9f
remove reduntant calls to Elpi Typecheck
FissoreD Jul 12, 2024
fc58cf4
[TC] local binders in evar scope during precompile + link.cs
FissoreD Jul 30, 2024
a9525a1
[TC] add TC.AddRecordFields command + better chr for canon struct
FissoreD Aug 2, 2024
d860b4c
[TC] mode ground with ground_term check + tc.link for coercions
FissoreD Aug 8, 2024
9dbf2f1
[TC] clean term in decompilation of goal
FissoreD Aug 8, 2024
431e9ba
[TC] add file deps in tests/importOrder/sameOrderCommand.v
FissoreD Aug 8, 2024
82ef753
[TC] perf: fold-map fully implemented in precompile goal
FissoreD Aug 8, 2024
1aa4bae
[TC] improve perf of goal compilation
FissoreD Aug 10, 2024
b7ea708
[TC] remove goal precomp and goal compile (all is done in ycompile_go…
FissoreD Aug 10, 2024
33973ca
[TC] refactor filenames + reorder import
FissoreD Aug 10, 2024
1c77fec
[TC] refactor of build-eta-llam-links
FissoreD Aug 10, 2024
a496c70
[TC] avoid a backtrack
FissoreD Aug 20, 2024
b4a4dd2
[TC] clean compile-conclusion predicate
FissoreD Sep 19, 2024
35e25ee
[TC] link small refactor
FissoreD Aug 22, 2024
a59eca0
[TC] clean link code + unification with cs links only after a call to…
FissoreD Sep 2, 2024
02dc4cb
add _opam to .gitignore
FissoreD Sep 3, 2024
9b149b4
[TC] clearn-term on pi-decl in decompile-term-aux
FissoreD Sep 3, 2024
568fc98
[TC] dummy clauses are local to sections
FissoreD Sep 19, 2024
9fe73be
[TC] add comment
FissoreD Sep 25, 2024
459da6e
[TC] move time-is-active and coercion-unify in db.v
FissoreD Sep 25, 2024
711ff60
cleanup
gares Oct 2, 2024
279e321
cleanup
gares Oct 2, 2024
2f03fa8
cleanup
gares Oct 2, 2024
7986110
cleanup
gares Oct 2, 2024
eb81aa4
ci
gares Oct 2, 2024
5ac62d2
nix
gares Oct 2, 2024
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
4 changes: 3 additions & 1 deletion .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ on:
branches: [ master ]
pull_request:
branches: [ master ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build doc
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ on:
options:
- released
- extra-dev

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
OPAM_SUITE: ${{ inputs.suite }}

Expand Down
122 changes: 122 additions & 0 deletions .github/workflows/nix-action-coq-8.20.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,126 @@
jobs:
QuickChick:
needs:
- coq
- mathcomp-ssreflect
runs-on: ubuntu-latest
steps:
- name: Determine which commit to initially checkout
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"target_commit=${{\
\ github.sha }}\" >> $GITHUB_ENV\nelse\n echo \"target_commit=${{ github.event.pull_request.head.sha\
\ }}\" >> $GITHUB_ENV\nfi\n"
- name: Git checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ env.target_commit }}
- name: Determine which commit to test
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\
\ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\
\ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\
\ | cut -f1)\n mergeable=$(git merge --no-commit --no-ff ${{ github.event.pull_request.base.sha\
\ }} > /dev/null 2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n\
\ if [ -z \"$merge_commit\" -o \"x$mergeable\" != \"x0\" ]; then\n echo\
\ \"tested_commit=${{ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n\
\ else\n echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n"
- name: Git checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ env.tested_commit }}
- name: Cachix install
uses: cachix/install-nix-action@v27
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: Cachix setup coq-elpi
uses: cachix/cachix-action@v15
with:
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
extraPullNames: coq, coq-community, math-comp
name: coq-elpi
- id: stepCheck
name: Checking presence of CI target QuickChick
run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\
\ bundle \"coq-8.20\" --argstr job \"QuickChick\" \\\n --dry-run 2>&1 >\
\ /dev/null)\necho $nb_dry_run\necho status=$(echo $nb_dry_run | grep \"built:\"\
\ | sed \"s/.*/built/\") >> $GITHUB_OUTPUT\n"
- if: steps.stepCheck.outputs.status == 'built'
name: 'Building/fetching previous CI target: coq'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "coq-8.20"
--argstr job "coq"
- if: steps.stepCheck.outputs.status == 'built'
name: 'Building/fetching previous CI target: mathcomp-ssreflect'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "coq-8.20"
--argstr job "mathcomp-ssreflect"
- if: steps.stepCheck.outputs.status == 'built'
name: 'Building/fetching previous CI target: coq-ext-lib'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "coq-8.20"
--argstr job "coq-ext-lib"
- if: steps.stepCheck.outputs.status == 'built'
name: 'Building/fetching previous CI target: simple-io'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "coq-8.20"
--argstr job "simple-io"
- if: steps.stepCheck.outputs.status == 'built'
name: Building/fetching current CI target
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "coq-8.20"
--argstr job "QuickChick"
autosubst:
needs:
- coq
- mathcomp-ssreflect
runs-on: ubuntu-latest
steps:
- name: Determine which commit to initially checkout
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"target_commit=${{\
\ github.sha }}\" >> $GITHUB_ENV\nelse\n echo \"target_commit=${{ github.event.pull_request.head.sha\
\ }}\" >> $GITHUB_ENV\nfi\n"
- name: Git checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ env.target_commit }}
- name: Determine which commit to test
run: "if [ ${{ github.event_name }} = \"push\" ]; then\n echo \"tested_commit=${{\
\ github.sha }}\" >> $GITHUB_ENV\nelse\n merge_commit=$(git ls-remote ${{\
\ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge\
\ | cut -f1)\n mergeable=$(git merge --no-commit --no-ff ${{ github.event.pull_request.base.sha\
\ }} > /dev/null 2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n\
\ if [ -z \"$merge_commit\" -o \"x$mergeable\" != \"x0\" ]; then\n echo\
\ \"tested_commit=${{ github.event.pull_request.head.sha }}\" >> $GITHUB_ENV\n\
\ else\n echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n fi\nfi\n"
- name: Git checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ env.tested_commit }}
- name: Cachix install
uses: cachix/install-nix-action@v27
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: Cachix setup coq-elpi
uses: cachix/cachix-action@v15
with:
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
extraPullNames: coq, coq-community, math-comp
name: coq-elpi
- id: stepCheck
name: Checking presence of CI target autosubst
run: "nb_dry_run=$(NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n --argstr\
\ bundle \"coq-8.20\" --argstr job \"autosubst\" \\\n --dry-run 2>&1 > /dev/null)\n\
echo $nb_dry_run\necho status=$(echo $nb_dry_run | grep \"built:\" | sed \"\
s/.*/built/\") >> $GITHUB_OUTPUT\n"
- if: steps.stepCheck.outputs.status == 'built'
name: 'Building/fetching previous CI target: coq'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "coq-8.20"
--argstr job "coq"
- if: steps.stepCheck.outputs.status == 'built'
name: 'Building/fetching previous CI target: mathcomp-ssreflect'
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "coq-8.20"
--argstr job "mathcomp-ssreflect"
- if: steps.stepCheck.outputs.status == 'built'
name: Building/fetching current CI target
run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle "coq-8.20"
--argstr job "autosubst"
coq:
needs: []
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,4 @@ _build
tmp.out
coq-elpi-tests.opam
coq-elpi-tests.install
coq-elpi.install
coq-elpi.install
2 changes: 1 addition & 1 deletion .nix/config.nix
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ let master = [
ocamlPackages = {
# when updating this, don't forget to update dune-project
# then use it to regenerate coq-elpi.opam
elpi.override.version = "v1.18.2";
elpi.override.version = "v1.19.5";
};
};

Expand Down
2 changes: 1 addition & 1 deletion .nix/coq-nix-toolbox.nix
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"24e96b4870378d5e87fd2d0dd46405b471c286ab"
"42eecc8a0f642b84bd179859d708ddc710c92004"
2 changes: 1 addition & 1 deletion apps/cs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The `cs` predicate lives in the database `cs.db`
pred cs i:goal-ctx, o:term, o:term.
```

By addings rules for this predicate one can recover from a CS instance search failure
By adding rules for this predicate one can recover from a CS instance search failure
error, that is when `Lhs` and `Rhs` are not unifiable using a canonical structure registered
by Coq.

Expand Down
131 changes: 0 additions & 131 deletions apps/tc/elpi/WIP/force_llam.elpi

This file was deleted.

44 changes: 0 additions & 44 deletions apps/tc/elpi/WIP/modes.elpi

This file was deleted.

Loading
Loading