lh-l4v/lib/clib
Matthew Brecknell 98e122935c clib: add a `hoarep_rewrite` method
This is like `ccorres_rewrite`, but for `hoarep`, and uses the same
infrastructure.

The interaction between the `simpl_rewrite` locale and the
`simpl_rewrite` method was confusing, and didn't work well with multiple
interpretations. We replace the locale with a simple anonymous context
block. Since that puts more things in the global namespace, we rename
many of them. The `simpl_rewrite` method is now parameterised by a `hom`
fact which determines the predicate under which we are rewriting.

This also includes a slight generalisation of `exec_eq_is_valid_eq`,
which allows a similar generalisation of `hoarep_rewrite`.

Signed-off-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
2020-09-13 12:11:58 +10:00
..
BitFieldProofsLib.thy licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
CCorresLemmas.thy lib: add lemmas from RISCV64 theories 2020-06-08 20:41:10 +08:00
CCorres_Rewrite.thy clib: add a `hoarep_rewrite` method 2020-09-13 12:11:58 +10:00
CTranslationNICTA.thy licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
Corres_UL_C.thy lib: add lemmas from RISCV64 theories 2020-06-08 20:41:10 +08:00
LemmaBucket_C.thy licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
MonadicRewrite_C.thy licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
SIMPL_Lemmas.thy clib: add a `hoarep_rewrite` method 2020-09-13 12:11:58 +10:00
SimplRewrite.thy licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
Simpl_Rewrite.thy clib: add a `hoarep_rewrite` method 2020-09-13 12:11:58 +10:00
TypHeapLib.thy licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
XPres.thy licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00