History log of /seL4-l4v-master/l4v/lib/Lib.thy
Revision Date Author Comments
# bb90c754 22-Nov-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

lib: avoid internal index names

The lemma set `exception_set_finite` contained the members
`exception_set_finite_1` and `exception_set_finite_2`. The `_1`/`_2`
suffix clashes with the internal `(1)` suffix for lemma set references,
which in some code paths is internally represented as `_1`, leading to
an error message.

Curiously this error message only occurs when the proof is run
single-threaded, so it has gone unnoticed for quite some time.

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>


# 0cc971f4 04-Jun-2020 Rafal Kolanski <rafal.kolanski@data61.csiro.au>

lib: add lemmas from RISCV64 theories

Some improved ccorres lemmas, dealing with throw and catch, and usual
assortment of misc list/set/map lemmas.

Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>


# bd4392d1 07-May-2020 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

lib: add ML_goal command

Sometimes we want to prove a fact, but the fact is painful or
error-prone to type out manually. In these cases, we'd like to construct
the goal fact using ML and then immediately enter a proof block.

Previously, we could achieve something like this through careful use of
`Thm.trivial` and `schematic_goal`, but this would clutter up the ML
namespace and wouln't handle meta conjuncts (`&&&`). The new `ML_goal`
command addresses both of these issues.

Signed-off-by: Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>


# 51ff27cc 22-Apr-2020 Victor Phan <Victor.Phan@data61.csiro.au>

lib: remove eq_restrict_map_None from the simp set

Hotfix for a7ed68e75db, which moved some lemmas from X64 Move_C.thy into
Lib. `eq_restrict_map_None` being in the simp set caused several
breakages across other arches.

Signed-off-by: Victor Phan <Victor.Phan@data61.csiro.au>


# a7ed68e7 08-Apr-2020 Victor Phan <Victor.Phan@data61.csiro.au>

x64 crefine/lib: move word lemmas out of Move_C into Word_Lemmas_64_Internal

Signed-off-by: Victor Phan <Victor.Phan@data61.csiro.au>


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

licenses: convert license tags to SPDX


# 966734c6 03-Feb-2020 Victor Phan <Victor.Phan@data61.csiro.au>

Collect abstract lemmas in Refine

Create ArchMove_R.thy for transporting arch specific lemmas (and generic
lemmas that are used somewhat specifically by one architecture) to theory
files before Refine.

Create Move_R.thy as an arch generic Refine theory file for transporting
generic lemmas to theory files before Refine.

Also delete some lemmas that have existed earlier already or are not
needed.

Rename Move.thy in CRefine to Move_C.thy for consistency.


# 327bed74 12-Dec-2019 Rafal Kolanski <rafal.kolanski@data61.csiro.au>

lib: migrate distinct_map_enum into Lib


# bbfd9e2a 26-Sep-2019 Victor Phan <Victor.Phan@data61.csiro.au>

lib: add helper lemmas


# e46f2d7a 27-Apr-2019 Rafal Kolanski <rafal.kolanski@data61.csiro.au>

lib: add graph_of_SomeD


# 65cc19c1 15-Mar-2019 Gerwin Klein <gerwin.klein@data61.csiro.au>

lib: move up library lemmas from RISCV64 and X64


# 4cc9a1fb 29-Jul-2019 Rafal Kolanski <rafal.kolanski@data61.csiro.au>

lib: add option_Some_value_independent


# 18a40abd 23-Jul-2019 Japheth Lim <Japheth.Lim@data61.csiro.au>

lib: move int bitwise lemmas from NatBitwise to Lib

NB: this now imports HOL-Word into Lib and Lib in turn
into NatBitwise.


# 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


# c1e9a09e 26-May-2019 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

lib: move "tl_nat_list_simp" up.


# bba5bfd9 14-Feb-2019 Callum Bannister <callum.bannister@data61.csiro.au>

lib + sysinit: whitespace cleanup; renamed lookup_obj


# 62b0ab20 24-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

Word_Lib: consolidate LemmaBucket and Lib lemmas into Word_Lib


# 1ae3a8d6 20-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

Isabelle2018: Lib update


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

Isabelle2018: new "op x" syntax; now is "(x)"

(result of "isabelle update_op -m <dir>")


# 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.


# 891ae7cf 24-May-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

lib: some simple rules about rtrancl/rtranclp.

These generalise trancl_id from HOL to cover rtrancl and rtranclp.

Also improve one minor proof.


# 26df0c04 03-May-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

lib: Replace subseq->match abbreviation.

The subseq_abbreviation mechanism was a useful way of quoting some of a
definition or term, specialised to the case of left-associated sequences.

Lambda abstractions are now handled better.

The previous subseq mechanism required some generalisations. It is now replaced
by match_abbreviation, which is a more general approach.

The match mechanism picks a term, can select a matching subterm, and can
rewrite the selected term based on pattern matching also. The new mechanism
can cover all the cases of the previous one, as shown in examples.


# 9cef82eb 16-Apr-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

lib: Subseq_Abbreviation, quote subsequence terms.

It's annoying that, given automatic definitions (such as we have
with the Haskell translator and C parser), there's no way to capture
a few lines of them.

This mechanism allows you to add an abbreviation for some subsequence of
elements, found somewhere in a theorem, where a sequence is defined by its
constructor and the start and end points are matched by pattern matching.


# d27f8476 23-Nov-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

lib: add methods for extracting conjuncts from the conclusion


# 0d3325ee 25-Aug-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2017: update lib for RC0

* ML Proof_Context.fact_alias renamed to alias_fact.

* Named_Target.init removed redundant parameter.

* Simplified Greatest, removed GreatestM.

* Introduced thm_node type in proofterm.ML.


# 0102ef17 24-Aug-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2017: remove String_Compare

This was a workaround for an Isabelle2016-1 performace regression, and
is no longer required.


# 619aae21 23-Oct-2017 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Add some methods to trym.


# ed3b26f4 22-Oct-2017 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Add "Try Methods" mechanism trym.

Like try0/try but extensible by new methods. Methods must currently
be single tokens, however Eisbach makes it easy to install such
abbreviations.


# 184d6b70 09-Oct-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

remove most tab characters


# 4eedad84 11-Oct-2017 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Add command/keyword 'value_abbreviation'.

This computes a value (like the existing value keyword) and also saves
the result of that computation as an abbreviation.

This will be useful in CRefine etc to give names to magic numbers that
derive from configuration variables/constants.


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

Removes all trailing whitespaces


# 895390e8 01-Feb-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64: ArchVSpaceLookup_AI: prove vs_lookup_pages1_wellformed_order

Show that there is a measure on vs_refs, on which vs_lookup_pages1 is
strictly monotonically increasing.

We also prove various lemmas relating vs_lookup and vs_lookup_pages, and
valid_arch_objs.

There are many things previously proved in ArchRetype_AI and
ArchDetype_AI that are now broken because Xin's work overwrote some
things I also proved in ArchVSpace_AI. I'm not fixing them here.


# db13ff19 22-Dec-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: configure c-parser with faster string comparisons


# b5158e31 17-Nov-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: fix proofs involving UNION

SUPREMUM changed from a definition to an abbreviation.

A number of proofs that previously used blast, fastforce or auto to
solve goals involving UNION, now either fail or loop. This commit
includes various ad-hoc workarounds.


# 41d4aa4f 25-Oct-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: update references to renamed constants and facts


# 28e8cd71 21-Jun-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib: include NICTA_Tools in Lib (ASpec image and friends)

(VER-587)


# 99bf9090 19-Jun-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib: make CCorres_Rewrite available in CRefine and friends


# cd930d2d 13-May-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

word_lib: move unrelated lemmas out of Word_Lib into Lib


# 2d8f9596 30-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

word_lib: Distinct_Prop cleanup


# 2367dff9 30-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

word_lib: move out unused HOL_Lemmas


# 322f1023 18-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

word_lib: adjust theory dependencies


# 6ca877b6 18-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib: remove duplicate definition of `find`


# 445efb7c 18-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib: closure for Word_Lib and own session


# 84b923a6 17-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib: start disentangling spaghetti word dependencies


# d17345a8 09-Jan-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

Isabelle2016-RC0 up to WordLemmaBucket modulo Eisbach


# 12fa8686 16-May-2015 Gerwin Klein <gerwin.klein@nicta.com.au>

fewer warnings


# 60c0573c 11-May-2015 Gerwin Klein <gerwin.klein@nicta.com.au>

remove warnings


# e8d1ed6d 09-Aug-2014 Gerwin Klein <gerwin.klein@nicta.com.au>

ported lib/* theories to Isabelle2014-RC0


# fe36a97b 08-Aug-2014 Lars Noschinski <lars@public.noschinski.de>

Port AutoCorres to Isabelle 2014-RC0


# 2a03e81d 14-Jul-2014 Gerwin Klein <gerwin.klein@nicta.com.au>

Import release snapshot.