Commit Graph

71 Commits

Author SHA1 Message Date
Gerwin Klein 7ce3ccb068 isabelle2021-1 lib: remove unused theories
In particular, retire the unused AutoLevity and TSubst

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-03-29 08:38:25 +11:00
Ryan Barry 5cbe8af843 proof/ROOT infoflow arch split
Signed-off-by: Ryan Barry <ryan.barry@unsw.edu.au>
2021-10-05 08:46:11 +11:00
Mitchell Buckley 184bdfb954 refine: fix regression caused by bad theory import
Importing Init_R into ADT_H was causing EmptyFail_H to fail. Since
no other theories actually depend on Init_R we can instead include
it in the Refine session directly.

Signed-off-by: Mitchell Buckley <mitchell.alan.buckley@gmail.com>
2021-06-27 10:13:01 +10:00
Ryan Barry ea73ffe26b proof/ROOT: access control arch split
Signed-off-by: Ryan Barry <ryan.barry@unsw.edu.au>
2021-06-21 20:10:32 +10:00
Mitchell Buckley 9cea8ed18b riscv SEAR: arch-split SEAR for clz and ctz
Signed-off-by: Mitchell Buckley <mitchell.buckley@data61.csiro.au>
2021-03-23 22:40:46 +11:00
Gerwin Klein 99d3cd9926 SimplExport: export and import are in different dirs
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein e2e580664a infoflow: update InfoFlowC to Isabelle2020
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein 21933f899a simplexport: build SimplExportAndRefine on CSpec
It looks like generated files are missing if built on SimplExport direclty.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein b976bc8972 crefine: enable intermediate CRefine session for Isabelle2020
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein 68b71f99b5 crefine: session structure update for Isabelle2020
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein bbacd7079f proof/ROOT: more Isabelle2020 session structure
SimplExportAndRefine is now split into two steps;
AutoCorresTest moved to its own directory.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein 9514b9f5e5 crefine: lib is a session dir for CBaseRefine
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein 4c3bbfb059 refine: session directories for Isabelle2020
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-10-27 15:52:31 +10:00
Gerwin Klein cf7ce9598a ainvs: session update for 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
Victor Phan 70fe3fa943 crefine: arch split for Move theory files and move in lemmas
crefine/[ARCH]/Move.thy is replaced with crefine/Move_C.thy
(arch-generic), and crefine/[ARCH]/ArchMove_C.thy (arch-specific).
The only CRefine theory file that imports ArchMove_C is CLevityCatch,
and ArchMove_C imports Move_C which imports "Refine.Refine".

Lemmas found by looking through "FIXME: Move" comments have been added
to either Move_C or ArchMove_C depending on whether it is arch-generic
or arch-specific respectively.

Signed-off-by: Victor Phan <Victor.Phan@data61.csiro.au>
2020-03-20 13:42:43 +11:00
Gerwin Klein a424d55e3e licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
Gerwin Klein c34840d09b global: isabelle update_cartouches 2019-06-14 11:41:21 +10:00
Michael Sproul 045683cd9c ainvs: Rights_AI theory with facts about VM rights
SysInit requires some facts about VM rights that are shared with AInvs, so this
commit introduces a new theory to contain the shared lemmas.
2019-02-19 14:24:41 +11:00
Gerwin Klein 15bfcdd98b reduce DRefine dependencies from Refine to AInvs
This needs (and includes) some deduplication and moving of lemmas formerly in
refine.
2018-10-22 13:21:11 +11:00
Japheth Lim 1a504d1f6c run_tests: move selection of RefineOrphanage to run_tests
This is more consistent with how we handle other broken proof sessions
in the run_tests framework.
2018-10-03 19:47:04 +10:00
Japheth Lim 18e0d934cc refine: move Orphanage to separate session, RefineOrphanage
Previously, the build system conditionally included Orphanage, but only
when built from run_tests. This meant that a plain ‘isabelle jedit’ or
‘make Refine’ would see a different session definition, resulting in a
slow rebuild.

NB: editing Orphanage now requires -l Refine instead of -l BaseRefine.
2018-10-03 19:47:04 +10:00
Gerwin Klein 15f606af71 proof: bring ROOT comment up to date with AutoCorres_C move 2018-08-20 09:06:37 +10:00
Gerwin Klein 6bfa3bd7a5 proof/ROOT: remove unnecessary quick_and_dirty 2018-08-20 09:06:37 +10:00
Gerwin Klein 08027d4afa Isabelle2018: Access 2018-08-20 09:06:36 +10:00
Gerwin Klein 2d39b88dfb proof/ROOT: proper document_files for bisim session 2018-08-20 09:06:34 +10:00
Gerwin Klein 8c19ee35b0 proof/ROOT: comment out unused AutoLevity sessions 2018-08-20 09:06:34 +10:00
Gerwin Klein 24e80f8034 proof/ROOT: make parent sessions available 2018-08-20 09:06:34 +10:00
Gerwin Klein b5cdf4703f globally use session-qualified imports; add Lib session
Session-qualified imports will be required for Isabelle2018 and help clarify
the structure of sessions in the build tree.

This commit mainly adds a new set of sessions for lib/, including a Lib
session that includes most theories in lib/ and a few separate sessions for
parts that have dependencies beyond CParser or are separate AFP sessions.
The group "lib" collects all lib/ sessions.

As a consequence, other theories should use lib/ theories by session name,
not by path, which in turns means spec and proof sessions should also refer
to each other by session name, not path, to avoid duplicate theory errors in
theory merges later.
2018-08-20 09:06:34 +10:00
Rafal Kolanski f641d70b6d infoflow: add InfoFlow_Image_Toplevel
It's really tiring figuring out whether we loaded all of the right
InfoFlow theory files in jEdit. This file lists what "the theories for
InfoFlow" are and should be loaded instead.

ROOT file adjusted to target it instead of a bunch of files, some of
which already include some of the others.
2017-11-27 21:00:14 +11:00
Matthew Brecknell 70de40bcdd autocorres-crefine: add AutoCorresCRefine image 2017-11-22 12:18:16 +11:00
Matthew Brecknell 079d5dec23 autocorres-crefine: make AutoCorres tools available in CRefine 2017-11-22 12:18:16 +11:00
Miki Tanaka 9bdb47e114 reintroduce Orphanage test (for ARM only)
- Orphanage files in the ARM_HYP and X64 directories are not tested at the moment
- once we finish proving them, we will remove the restriction to ARM
2017-10-24 13:49:21 +11:00
Joel Beeren f05bc45d59 misc: clean up before merging x64 2017-08-11 11:49:18 +10:00
Joel Beeren 82863978bd Merge branch 'master' into x64 2017-08-09 17:10:06 +10:00
Matthew Brecknell 3bbc1d0cb9 regression: remove redundant RefineOnly image
This was previously used to exclude Orphanage from the X64 regression.
Now that the Refine image excludes Orphange, RefineOnly is no longer
needed.
2017-08-09 17:02:49 +10:00
Joel Beeren 0685280906 misc: remove redundant skip_proofs flag for BaseRefine in proof/ROOT 2017-08-09 11:28:10 +10:00
Joel Beeren 2ce1bf3a25 misc: remove unnecessary theories from proof/ROOT 2017-08-08 16:13:38 +10:00
Joel Beeren d9afe3f45c run_tests: Adjust environment flags for build
*** ALERT: ANYONE USING SKIP_REFINE_PROOFS SHOULD CHANGE TO
SKIP_DUPLICATED_PROOFS IN ~/.isabelle/etc/settings!!! ***

Previously SKIP_REFINE_PROOFS was being used to skip duplicated Refine
and AInvs proofs when building CBaseRefine and InfoFlowC. This
conflicted with adding an option to actually skip building Refine proofs
(for example when trying to quickly build DBaseRefine).

After this change, we have the following SKIP_PROOFS flags:
    * SKIP_AINVS_PROOFS: used to skip AInvs proofs (for example when
      building Refine)
    * SKIP_REFINE_PROOFS: used to skip Refine proofs (for example when
      building DBaseRefine)
    * SKIP_DUPLICATED_PROOFS: used to skip the rebuild of AInvs and
      Refine when building forked images such as CBaseRefine and
      InfoFlowC

In addition, the QUICK_AND_DIRTY flag for AInvs has been changed:
        INVS_QUICK_AND_DIRTY -> AINVS_QUICK_AND_DIRTY
2017-08-08 16:11:20 +10:00
Joel Beeren d1482e4ffa misc: added skip proofs option for Refine
tags: [NO_PROOF]
2017-08-08 12:19:43 +10:00
Matthew Brecknell 238e8b307e x64: merge master 2017-07-21 11:27:12 +10:00
Alejandro Gomez-Londono 796887d9b1 Removes all trailing whitespaces 2017-07-12 15:13:51 +10:00
Gerwin Klein 9f32001c78 arm-hyp: enable quick_and_dirty for snd CBaseRefine image 2017-06-19 14:32:35 +10:00
Rafal Kolanski 96c13859e0 proof/ROOT: add CREFINE_QUICK_AND_DIRTY flag
Use to build CRefine in quick_and_dirty mode.
2017-06-19 14:32:35 +10:00
Gerwin Klein 682dde4155 refine: add intermediate BaseRefine2 session for small machines 2017-06-19 14:32:29 +10:00
Gerwin Klein 09a02acc7b arm-hyp proofs/ROOT: make it possible to skip proofs in BaseRefine 2017-06-19 14:32:28 +10:00
Gerwin Klein 740d606774 refine: closed the Orphanage
Not necessary for CRefine and better proved on the abstract spec now.
To be resurrected (on abstract) in the future.
2017-06-19 14:32:27 +10:00
Miki Tanaka 3d22990928 arm-hyp test: setup REFINE_QUICK_AND_DIRTY for Refine (to be squashed)
* fix the order of entries in the ROOT file
2017-06-19 14:32:25 +10:00
Miki Tanaka e0b6d45db4 arm-hyp test: add BaseRefine to regression, set up REFINE_QUICK_AND_DIRETY for Refine 2017-06-19 14:32:23 +10:00
Miki Tanaka 2ae9147f02 arm-hyp test: default targets for arm-hyp, turn on quick_and_dirty for AInvs 2017-06-19 14:32:20 +10:00