History log of /seL4-l4v-10.1.1/HOL4/examples/separationLogic/src/holfoot/holfootParser.sml
Revision Date Author Comments
# a0c59708 30-Nov-2016 Thomas Tuerk <thomas@tuerk-brechen.de>

holfoot example: header.sml -> hfheader.sml


# bd77b8fb 20-Oct-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Delete trailing whitespace


# 845531b5 14-Sep-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove trailing whitespace in source files.


# 8a7cfa2f 23-Nov-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

Fix a bug with respect to handling resources and conditional critical regions. Additional features like nodetermistic-choice, diverge and fail statements lifted to the user-level.


# 2469f641 06-Sep-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

support for global specification variables added to the parser


# 7ae505c4 27-Aug-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

Examples from VSTTE-competition added. For example vscomp4 the parser was modified to support user defined predicates. As part of this change the syntax for trees changed.


# b9ee1596 23-Jun-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

rename most occurences of the prefix "FASL" into "ASL"

The prefix ASL (Abstract Separation Logic) was used to indicate definitions related to Abstract Separation Logic. To distinguish definitions that were not aware of the special failiure state (like asl_star) and ones that were (fasl_star) the additional prefix FASL (Abstract Separation Logic with Failiure State) was used as well. However, in the end, most definitions had the FASL prefix which does not make much sense. So, the prefix was replaced by ASL expect for cases where it is really important to distinguish between versions of a definition that are aware of the failiure state and ones that are not.


# 237939c0 07-Jun-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

- fix of the recently broken quicksort-proof-script
- parser detects duplicate function and resource definitions now
- added debugging options to the command line tool


# 4ab930cc 26-May-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

Update of the parser to allow the new keyword "old" to refer to the old values of variables, i.e. the values in the precondition. At the same time the interaction between HOL's and Holfoot's parser was improved. Now Holfoot-variables are better replaced in HOL-terms (i.e. Holfoot knows about lambda-abstraction now).


# 10ed6346 11-May-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

- assertions added
- loop unrolling added
- parser improved
- more examples (fact.dsf / append-unroll.dsf)

Main goal: improve usability of loop-specifications


# b6689f56 12-Apr-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

Added a way to parse arbitray Holfoot predicates using h``complicated pred``. In contrast ``xxx`` works just for xxx that are of type bool. An example has been added in entailments.ent


# e6f852f0 24-Mar-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

some more work on arrays, especially modifying predicate simpsets


# 701ed3b9 20-Mar-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

some more support for arrays and a new q uicksort example using arrays


# 89dae6d7 18-Mar-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

- adaption to the recent changes to listTheory / listSimps / rich_listTheory.
- some support for arrays added


# 60371203 05-Mar-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

Mayor refactoring of the Holfoot-Parser. The parser now uses the abstract syntax of HOL internally, which allows it to pass typing information between different parts of the input much more efficiently. As a result, most type-annotations could be removed from the input files. Moreover, it's now possible to write HOL terms as expressions inside a program now. These expressions have to return a value of type num and may take program variables as input. For example programs like "x = ``MAX y z``" can be written now, where "x", "y" and "z" are variables of the programming language. A similar extension has been added for conditions of loops and if-then-else statements. Finally, there is a predicate for separating mapping and predicate for queues now.


# 775fada5 04-Feb-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

A lot of minor changes, mainly in the behaviour of the web-interface and the command-line tool. Step-wise tool for the web added.


# efdf9745 20-Jan-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

improvements to the parser (better error reporting, more arithmetic operations) as well as
addition of loop- and block-specifications with corresponding examples


# fdc84b40 14-Jan-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

A lot of minor tweaks and additions. The main ones are:

- parser can handle trees better now
- better support for call-by-value arguments by the parser
- inference for splitting of non-empty trees added
- option to turn of expanding specifications added to main tactics
- NUM_TO_BOOL added
- slightly extended treeTheory


# 0076aa8e 08-Jan-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

some minor fixes and extensions:
- parser allows call-by-value arguments in HOL-expressions now
- fixing pretty printing problem of call-by-reference arguments in abstracted function calls
- some minor changes in the order of inference applications


# ae90f552 05-Jan-2010 Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk>

This is a major refactoring of the separation-logic example. The main changes are:

- the smallfoot case study has been renamed to "holfoot"
- a lot of the results of the smallfoot case study were generalised to the "variables as resource" level of abstraction
- this generalisation allows much shorter and easier proofs for the remaining results
- new methods for handling conditional execution, while-loops and procedure calls implemented
- generalisation of the concept of ghost variables (e.g. limitation on the possible types of ghost variables removed)
- addition of comments that keep track of the current position in the program, thereby giving
useful feedback to the user during interactive proofs or when a proof-attempt fails
- rewritten automation in order to
- make extensions of the programming and specification language easier
- keep track of location comments
- increase speed
- pretty printing uses styles (i.e. colors, bold fonts, etc.) now
- tree predicate of smallfoot generalised to allow data in trees as well as arbitrary n-ary trees
- holfoot command line tool added