History log of /seL4-l4v-master/l4v/lib/Word_Lib/Word_Setup_32.thy
Revision Date Author Comments
# a424d55e 09-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

licenses: convert license tags to SPDX


# 21f9a86d 19-May-2019 Gerwin Klein <gerwin.klein@data61.csiro.au>

lib: sync Word_Lib with AFP


# 9a4d2677 28-Jul-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

lib+spec: move definition of machine_word to Word_Lib

JIRA VER-963


# 8753c05b 31-Oct-2017 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Expand eval_bool; add a method word_eqI_solve.

A number of proofs begin with word_eqI followed by some similar steps,
suggesting a 'word_eqI_solve' proof method, which is implemented here.

Many of these steps are standard, however a tricky part is that constants of
type 'nat' which encode a particular number of bits must often be unfolded.
This was done by expanding the eval_bool machinery to add eval_int_nat, which
tries to evaluate ints and nats.

Testing eval_int_nat revealed the need to improve the code generator setup
somewhat. The Arch locale contains many of the relevant constants, and they are
given global names via requalify_const, but the code generator doesn't know
about them. Some tweaks make them available. I *think* this is safe for
arch_split, as long as the proofs that derive from them are true in each
architecture.


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

word_lib: AFP document setup


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

word_lib: use cartouches


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

word_lib: adjust theory dependencies


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

lib: closure for Word_Lib and own session