Skip to content

Commit 894f0aa

Browse files
Merge branch 'develop-copilot-verifier-upstream'. Close #622.
**Description** The `copilot-verifier` was developed outside of this repo, but there's interest in having all Copilot projects and libraries merged into a main repo for ease of management. **Type** - Management: files need to be moved between repos. **Additional context** None. **Requester** - Ivan Perez. **Method to check presence of bug** Not applicable (not a bug). **Expected result** The last state of the `copilot-verifier` is included in this repository, disregarding history, and adjusting the changelog to make the old issues refer to `copilot-verifier#<ISSUE_NUM>` so that they are not interpreted as related to the main Copilot repo. The following dockerfile checks out the latest version of `copilot-verifier`, v4.4, and compares it against the version being merged, ignoring differences in the CHANGELOG (which is expected to be different), checking that there are no other differences, after which it prints the message "Success": ```Dockerfile FROM ubuntu:noble ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update RUN apt-get install --yes git RUN git config --global advice.detachedHead false CMD git clone $REPO $NAME \ && cd $NAME \ && git checkout $COMMIT \ && cd .. \ && git clone -b v4.4 https://github.com/Copilot-Language/copilot-verifier copilot-verifier-original \ && diff --exclude 'CHANGELOG' -r $NAME/copilot-verifier copilot-verifier-original/copilot-verifier \ && echo "Success" ``` Command (substitute variables based on new path after merge): ``` $ docker run -e "REPO=https://github.com/Copilot-Language/copilot" -e "NAME=copilot" -e "COMMIT=<HASH>" -it copilot-verify-622 ``` **Solution implemented** Copy last state of `copilot-verifier` as subdirectory of main repo. Adjust Changelog in `copilot-verifier` to make older issues point to correct repo. List cabal files explicitly in cabal.project file, without including copilot-verifier, to prevent CI from failing with older versions of GHC. **Further notes** None.
2 parents 280b1f8 + 9e0dcac commit 894f0aa

Some content is hidden

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

47 files changed

+4752
-1
lines changed

cabal.project

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
11
packages:
2-
*/*.cabal
2+
copilot-bluespec/copilot-bluespec.cabal
3+
copilot-c99/copilot-c99.cabal
4+
copilot-core/copilot-core.cabal
5+
copilot-interpreter/copilot-interpreter.cabal
6+
copilot-language/copilot-language.cabal
7+
copilot-libraries/copilot-libraries.cabal
8+
copilot-prettyprinter/copilot-prettyprinter.cabal
9+
copilot-theorem/copilot-theorem.cabal
10+
copilot/copilot.cabal

copilot-verifier/CHANGELOG

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
2025-06-20
2+
* Include `copilot-verifier` in mainline `copilot` repo. (#622)
3+
4+
2025-05-08
5+
* Version bump (4.4). (copilot-verifier#85)
6+
7+
2025-03-10
8+
* Version bump (4.3). (copilot-verifier#82)
9+
* Add `smtSolver` option to `VerifierOptions`. (copilot-verifier#78)
10+
* Add `smtFloatMode` option to `VerifierOptions`. (copilot-verifier#79)
11+
12+
2025-01-20
13+
* Version bump (4.2). (copilot-verifier#76)
14+
* Reject specs that use multiple triggers with the same name.
15+
(copilot-verifier#74)
16+
17+
2024-11-08
18+
* Version bump (4.1). (copilot-verifier#72)
19+
20+
2024-09-09
21+
* Version bump (4.0). (copilot-verifier#69)
22+
* Support verifying programs that use array updates.
23+
(copilot-verifier#63)
24+
* Support verifying programs that use struct updates.
25+
(copilot-verifier#57)
26+
27+
2024-08-03
28+
* Support building with `crucible-llvm-0.7` and `crux-llvm-0.9`.
29+
(copilot-verifier#64)
30+
* Support GHC 9.4 through 9.8. (copilot-verifier#65)
31+
32+
2024-07-30
33+
* When using `Noisy` verbosity, always log proof goals related to the
34+
core correspondence proof, even if the goals are trivial.
35+
(copilot-verifier#51)
36+
* When using `Noisy` verbosity, log more information about which proof
37+
goals arise before or after calling the `step()` function.
38+
(copilot-verifier#52)
39+
40+
2024-07-11
41+
* Version bump (3.20). (copilot-verifier#58)
42+
43+
2024-03-08
44+
* Version bump (3.19). (copilot-verifier#53)
45+
* Provide more detailed feedback upon a successful run of the verifier.
46+
* Make the examples build with Copilot 3.19. (copilot-verifier#53)
47+
48+
2024-02-06
49+
* Initial release of `copilot-verifier`.

copilot-verifier/LICENSE

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Copyright (c) 2021-2024 Galois Inc.
2+
All rights reserved.
3+
4+
Redistribution and use in source and binary forms, with or without
5+
modification, are permitted provided that the following conditions
6+
are met:
7+
8+
* Redistributions of source code must retain the above copyright
9+
notice, this list of conditions and the following disclaimer.
10+
11+
* Redistributions in binary form must reproduce the above copyright
12+
notice, this list of conditions and the following disclaimer in
13+
the documentation and/or other materials provided with the
14+
distribution.
15+
16+
* Neither the name of Galois, Inc. nor the names of its contributors
17+
may be used to endorse or promote products derived from this
18+
software without specific prior written permission.
19+
20+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21+
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22+
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
24+
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)