Commit Graph

302 Commits

Author SHA1 Message Date
Gerwin Klein e89813ecf2
proofs: updates for monad refactor
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-02-09 11:46:55 +11:00
Gerwin Klein e3c2e878b9
lib+proof+autocorres: consolidate when[E]/unless[E]_wp naming
wp rules for most operators such as return, get, gets are named
return_wp, get_wp, etc. Then when, whenE, unless, unlessE operators had
an additional hoare_.. prefix that this commit removes for more
consistency.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-25 11:48:39 +11:00
Gerwin Klein 40dc7eaa01
lib+autocorres: remove last AutoCorres Lib dependency
Moving `Monad_Equations.thy` and `More_NonDetMonadVCG.thy` into Monads
session enables us to remove the Lib and CLib session dependencies in
AutoCorres.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-25 10:19:03 +11:00
Gerwin Klein 2d2cadb86b
lib+proof+tools: move LemmaBucket_C into CParser
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-25 10:18:11 +11:00
Gerwin Klein 2c4c22ccdf
autocorres: reduce Lib dependencies
Remove dependency on Lib.thy. Theory imports of AutoCorres are now
reduced to theories that can be moved out of the Lib session.

The proof context changes a bit, but impact on test cases is minimal.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-25 10:13:46 +11:00
Gerwin Klein 0f71104ca9
lib+autocorres: move NatBitwise to AutoCorres
Since most bitwise operations are now available by default for nat,
only word abstraction in AutoCorres depends on NatBitwise.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-25 10:13:45 +11:00
Gerwin Klein a9fd0142be
all: adjust theory imports for TypHeapLib change
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-25 10:13:45 +11:00
Gerwin Klein 6dcbd4f09f
spec+proofs+autocorres: theory import fixes
Adjust theory imports for new sessions.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-24 11:30:06 +11:00
Gerwin Klein 9092a0f115
c-parser+autocorres: use ML_Utils session
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-20 13:43:39 +11:00
Gerwin Klein 5305090cdc
autocorres: fix AutoCorresDoc ROOT
Fix missing quotes. It looks like this ROOT file worked with `isabelle
build` before, but it did not work interactively.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-09 14:54:11 +11:00
Gerwin Klein 3960115459
lib+proofs+sys-init+tools: proof updates for Fun_Pred_Syntax
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-01-09 14:54:11 +11:00
Corey Lewis 5cd111a61e isabelle2022 autocorres: update Autocorres
Signed-off-by: Corey Lewis <corey.lewis@proofcraft.systems>
2022-11-09 11:45:46 +11:00
Gerwin Klein 1ecfd4f90e autocorres: include AARCH64 in release
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-10-31 11:45:05 +11:00
Gerwin Klein 91c135d440 autocorres: changelog+README for 1.9 release
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-10-31 11:45:05 +11:00
Gerwin Klein 98bb90e0c3 Makefiles: remove unused report-regression target
This target was used in the regression test setup before this repo
switched to `run_tests` and has been unused for some time.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-06-03 09:36:43 +10:00
Gerwin Klein 3196054268 isabelle2021-1: remove extend from TheoryData
No longer required in Isabelle2021-1 for TheoryData and GenericData

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-03-29 08:38:25 +11:00
Gerwin Klein afb3c7291c isabelle2021-1 autocorres: context in convs
Conv.params_conv changes the context, and the inner conversion that
it runs needs to work on that inner context, otherwise information
is lost about which of the Free variables are former Bound.

Isabelle2021-1 has more thorough checking and fails when the wrong
context is provided.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-03-29 08:38:25 +11:00
Gerwin Klein 0fbe82511d isabelle2021-1: AutoCorres
After these changes AutoCorres type checks and compiles, and the proofs
work, but for most test cases we still get runtime exceptions.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-03-29 08:38:25 +11:00
Gerwin Klein ab358b835d autocorres: update release.py to python3
Apparently, we still did releases with python2 in the past. This commit
updates the script to work cleanly with python3 and with both of Linux
and Darwin.

For the latter, untarring and executing a downloaded tarball is not
easily supported on MacOS, so instead of the tarball, we take a path to
the already unpacked Isabelle release.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-10-31 13:41:58 +11:00
Gerwin Klein 2cf262f2b0 autocorres: release notes for autocorres-1.8
Includes some minor documentation updates.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-10-31 13:41:58 +11:00
Gerwin Klein 997adaf9f3 isabelle-2021: update AutoCorresQuickstart
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-09-30 16:53:17 +10:00
Gerwin Klein ee8dbcb09c isabelle-2021: AutoCorres update
includes Word_Lib tweaks

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Florian Haftmann ea9a25950d isabelle-2021: ad-hoc adjustions to preview
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein 512f62858a autocorres: update project link
Moved from D61 to https://trustworthy.systems

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-25 11:22:05 +10:00
Gerwin Klein 06e83ccff5 READMEs: update software links
These have also moved to https://trustworthy.systems

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-25 11:22:05 +10:00
Gerwin Klein 81b95eb6bf READMEs: fix publication links
PDFs and abstracts have moved to trustworthy.systems/

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2021-08-25 11:22:05 +10:00
Corey Lewis dd6529f520 trivial: fix c-parser link
This reverts commit 985ce0d28a.

Signed-off-by: Corey Lewis <Corey.Lewis@data61.csiro.au>
2021-03-12 10:48:55 +11:00
Gerwin Klein 985ce0d28a trivial: fix c-parser link
Signed-off-by: Gerwin Klein <kleing@unsw.edu.au>
2021-03-02 11:44:22 +11:00
Matthew Brecknell 13ca552d67 autocorres: fix code inclusion in quickstart doc
The AutoCorres quickstart document includes code from `*.c` files from a
given line number, to avoid including license headers and other details
that aren't useful in the document. This updates the line numbers for
the current license headers.

Signed-off-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
2020-11-24 10:17:37 +11:00
Gerwin Klein e51ea95427 autocorres: README update for Isabelle2020 and RISCV64
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-11-02 17:16:46 +10:00
Gerwin Klein 0451a27648 autocorres: update ChangeLog
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-11-02 17:16:46 +10:00
Gerwin Klein 54224efbc5 autocorres: Isabelle2020 update for release ROOT file
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-11-02 17:16:46 +10:00
Gerwin Klein cf34401420 autocorres: use LICENSES directory in the release
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-11-02 17:16:46 +10:00
Gerwin Klein c64590f39b autocorres: include RISCV64 in supported architectures
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-11-02 17:16:46 +10:00
Gerwin Klein 0e9943e3a3 autocorres: fix session reference in AutoCorresSEL4
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-28 14:06:36 +10:00
Gerwin Klein 78717650f6 autocorres: do not store images of test sessions
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein 82e116ef6c autocorres: update to Isabelle2020
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein e7fb36b7e2 ROOT files: file reorg for new ROOT requirements
Isabelle2020 requires each session to declare it own set of directories that
may not overlap with other session's directories. This commit reorganises
files to comply with that requirement.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein 0aafe8bf80 autocorres: pull out SPDX tag
Turns out the reuse tool will get confused by the addition SPDX tag
in the file, even though it is not in a comment. This commit pulls
out the tag such that string matching will not trigger on it.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-04-24 11:27:03 +08:00
Matthew Brecknell 306fe017c3 autocorres: more specific Makefile pattern rule
A rule to generate `%.thy` from `%.c` was previously too general, such
that it could fire for `%.thy` files that were not intended to be
generated, overwriting existing `%.thy` files.

This recently became an intermittent problem, when several `%.c` files
were updated to comply with style checks. Depending on how an `l4v`
checkout was updated, this sometimes made those `%.c` files newer than
the corresponding `%.thy` files.

This commit converts the implicit pattern rule into a static pattern
rule that applies to exactly those `%.thy` files that are intended to be
generated.

Signed-off-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
2020-04-23 09:51:33 +10:00
Gerwin Klein 092b1207f7 run astyle on all C files in the repository
Leaves parse tests and generated files unchanged, and provides a style
filter for these.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-04-19 13:50:17 +08:00
Matthew Brecknell cf48906b26 regression: force use of python3
Python 2 has passed its sunset date, and many distributions are
withdrawing support for Python 2.

PEP 394 recommends distributions always install versioned interpreter
commands (e.g. `python3`), but does not make a recommendation about
whether or not an unversioned command (`python`) should exist, or what
version it should run.

It therefore seems advisable to explicitly run scripts using the
`python3` command, for scripts that are compatible with Python 3.

Here, we do this for Python scripts used by `run_tests`. For this to
work, some scripts have been updated in ways that will break Python 2
compatibility. But for some other scripts which were already compatible
with both Python 2 and 3, we have not yet removed Python 2
compatibility. There are also miscellaneous scripts that are not used by
`run_tests`, and these have not yet been updated to Python 3.

Signed-off-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
2020-04-01 14:31:36 +11:00
Gerwin Klein 75acf19dcd style: pep8 style for python files 2020-03-25 22:42:27 +11:00
Gerwin Klein c68915b92b license: provide documentation under CC-BY-SA-4.0
Datat61 provides all docs under CC-BY-SA-4.0.
2020-03-16 14:19:15 +08:00
Gerwin Klein 86a941e7e7 spdx: review missing copyright & license info
Some files were missing machine-readable copyright info, others were tagged
incorrectly.
2020-03-16 14:19:15 +08:00
Gerwin Klein a424d55e3e licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
Gerwin Klein 8d12d8e4be licenses: tag .md and document file 2020-03-02 18:52:15 +08:00
Corey Lewis 5120e351b3 lib: improve wp tracing
When tracing wp can now print the instantiated version of the rules being used.
It also says which set each used rule is from.
2020-01-29 09:26:18 +11:00
Corey Lewis dd48e0d899 proof: update for wp changes
Updated 'wp_once' to 'wp (once)' and removed several stray uses of 'wp_trace'.
2019-10-14 17:12:18 +11:00
Japheth Lim de9c069473 c-parser: update changelog for license change 2019-10-02 22:19:21 +10:00