History log of /seL4-l4v-master/l4v/lib/Eisbach_Methods.thy
Revision Date Author Comments
# a45adef6 31-Oct-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

all: remove theory import path references

In Isabelle2020, when isabelle jedit is started without a session
context, e.g. `isabelle jedit -l ASpec`, theory imports with path
references cause the isabelle process to hang.

Since sessions now declare directories, Isabelle can find those files
without path reference and we therefore remove all such path references
from import statements. With this, `jedit` and `build` should work with
and without explicit session context as before.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>


# 408bf413 19-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

lib: Isabelle2020 update

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>


# b356f659 12-Jul-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

lib: in_case and find_case methods

We already have find_goal, but the interface is a bit too unwieldy to
casually use frequently. This commit introduces (or moves from RISCV)
two methods on top of find_goal:

- `in_case x`: asserts the goal has an assumption `?t = x`
- `find_case x`: finds a goal such that `in_case x`

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>


# a424d55e 09-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

licenses: convert license tags to SPDX


# c34840d0 05-Jun-2019 Gerwin Klein <gerwin.klein@data61.csiro.au>

global: isabelle update_cartouches


# 6ff1a38f 23-May-2019 Michael McInerney <Michael.McInerney@data61.csiro.au>

lib: update for Isabelle 2019


# 19155b7b 08-Apr-2019 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

lib: Add utility method for introducing subgoals.

A pattern that occurs occasionally (for some proofs, by some authors) is
something like:
```
apply (subgoal_tac "my_cool_fact x y z")
prefer 2
subgoal by magic
apply method_that_uses_my_cool_fact
```
The command `prefer 2` is noisy, and proving the introduced fact subgoal
later is disorienting, so we provide the method `prop_tac` to introduce
a fact and make proving that fact the current subgoal.


# dacc97c5 17-Jan-2019 Callum Bannister <callum.bannister@data61.csiro.au>

lib: sep_tactics cleanup; session cleanup + organisation


# 21cc25f1 19-Nov-2018 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

lib: Add stray lemmas and methods.

These were unused items in ARM CRefine, now kept for potential future
usefulness.


# e82cdd14 11-Sep-2018 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

lib: add method to shorthand larger methods

Adds the `supply_local_method` command and `local_method` methods,
which store and apply methods as a way to shorten repeated
references to large or complicated methods.


# 552ecb9d 06-Sep-2018 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

Eisbach: lib: add higher-order 'repeat' method.

repeat: Repeat a given inner method a given number of times.


# 011e0845 09-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

Isabelle2018: new comment syntax

(result of "isabelle update_comments <dirs>")


# b5cdf470 13-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

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.


# 796887d9 11-Jul-2017 Alejandro Gomez-Londono <alejandro.gomez@nicta.com.au>

Removes all trailing whitespaces


# 24ee5203 28-Mar-2017 Daniel Matichuk <daniel.matichuk@data61.csiro.au>

lib/eisbach_methods: make print_headgoal a primitive tactic

This avoids administrative operations that SIMPLE_METHOD performs


# 6a473096 19-Mar-2017 Daniel Matichuk <daniel.matichuk@data61.csiro.au>

include some rule_by_method examples in Eisbach_Methods


# 4e7456dc 28-Feb-2017 Daniel Matichuk <daniel.matichuk@data61.csiro.au>

add forward_solve methods to Eisbach_Methods


# 489aeb65 10-Nov-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: reorder imports to avoid the new Pure simplifier


# 30122b5d 10-Nov-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: update to new ML API

Update references to renamed ML constants; supply default arguments to
functions with additional parameters; etc.


# 71b71cd9 18-Jun-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib: add `changed <m>` Eisbach method, for CHANGED ML combinator


# 7dc01b55 19-Jan-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

make fold_subgoals not prefix by default
fix case where flex-flex pairs would prevent subgoal folding


# ca808130 11-Jan-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

repair ARM proofs up to Refine after factoring out architecture


# 8981f9d5 12-Jan-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

removed deleted theories from imports


# b7563eb7 11-Jan-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

fix lib for isabelle 2016


# 3af6a6b0 05-Nov-2015 Daniel Matichuk <daniel.matichuk@nicta.com.au>

added timing methods


# a9549337 15-Oct-2015 Daniel Matichuk <daniel.matichuk@nicta.com.au>

Eisbach_WP: Added "wpu" as the next iteration of "wpstr". Re-written from the ground up for some performance
gains and in order to deal with quantifiers in the postcondition.


# 15bbed69 07-Oct-2015 Daniel Matichuk <daniel.matichuk@nicta.com.au>

Changed safe folding to use custom meta-conjunction to avoid negative
interactions with standard tools.


# 7fccb561 29-Sep-2015 Daniel Matichuk <daniel.matichuk@nicta.com.au>

cleanup of Eisbach_Methods. Adding some documentation and some more methods


# 87447665 18-Sep-2015 Daniel Matichuk <daniel.matichuk@nicta.com.au>

added find_goals method and rewrote focus method to just use match.


# f9060af2 18-Sep-2015 Daniel Matichuk <daniel.matichuk@nicta.com.au>

added find_goals method and rewrote focus method to just use match.


# 10bb7b39 08-Jul-2015 Gerwin Klein <gerwin.klein@nicta.com.au>

remove NonDetMonad from C-Parser import chain

Including NonDetMonad too early introduces too many name clashes.


# 30db9bb7 07-Jul-2015 Daniel Matichuk <daniel.matichuk@.nicta.com.au>

ArchAcc_AI checks with new subgoal command


# 9882205e 01-Jun-2015 Daniel Matichuk <daniel.matichuk@nicta.com.au>

Most recent version of subgoal focus tools