History log of /seL4-l4v-master/HOL4/src/1/boolSyntax.sml
Revision Date Author Comments
# 74964143 09-Aug-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Move some of the machinery behind BasicProvers.VAR_EQ_TAC to Tactic


# 0a473a3d 29-Jun-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Move some term-equality helper functions from boolLib to boolSyntax

This helps with dependency chains and provides some documentation in
that they now appear in a signature file for the first time.


# 511e4a42 12-Jun-2020 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

Update src for strip_binop change


# 0bf23cd1 05-Apr-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Move some unification related functions out of transfer into src/1

Document them in .doc files


# d6ba54bf 10-Mar-2019 Hrutvik Kanabar <hrutvikkanabar@yahoo.co.uk>

Add type unification and mk_ucomb to boolSyntax


# 1e48d44b 04-Oct-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Add syntax/ops to make set manipulations easier


# c172f55b 19-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove small instance of some unused code


# 50d3bbbe 06-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove redundant add_type calls

boolSyntax.new_type_definition called add_type after a type was defined,
even though the hook machinery now takes care of this.

In boolScript, there was a similarly unnecessary call to add_type after
the itself type operator was defined.


# 8dfb0310 08-Aug-2015 Ramana Kumar <ramana@member.fsf.org>

Make new_definition_hook replace a constant on the LHS by a variable

new_definition calls gen_prim_specification which requires an equation
whose left-hand side is a variable, but sometimes (maybe only in obscure
old example script files) users pass an equation with a constant on the
left. The same hook that abstracts arguments now turns a constant on the
left into a variable.


# db046fee 13-Nov-2012 Michael Norrish <michael.norrish@nicta.com.au>

Start of project to flip argument order in case constants.

One scary (but probably optional) change is to do away with bool_case
constant because it is now identical to COND. This could be reversed,
but having two constants with exactly the same type and semantics does
seem silly. I think the parsing/pretty-printing behaviour can be made
sensible even in the face of this unification.

Prim_rec’s functions for defining case constants and proving case
congruence theorems have been adjusted appropriately.

This is relevant to Github issue #97.


# 91583066 31-Oct-2012 Michael Norrish <michael.norrish@nicta.com.au>

Put some syntax operations for bool$IN into boolSyntax.


# 7cf2a687 21-Aug-2012 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Add extra term/syntax functions to HolKernel. Also tweak definition of HolKernel.find_terms.

The new definition of find_terms may or may not be quicker.

The new functions are:

list_mk_icomb (a type instantiating version of list_mk_comb)
mk_monop (this is essentially a curried version of boolSyntax.mk_icomb)
mk_binop
mk_triop
mk_quadop
syntax_fns (This is taken from bitSyntax and provides a quick way to define syntax functions. Designed to work with the "mk" functions above.)


# f34d21ce 01-Aug-2012 Michael Norrish <michael.norrish@nicta.com.au>

More theory signature events now reported to hooks.

In particular, {new,remove}{typeOp,constant} events are reported.

Use this to do away with some of the cruftiness in boolLib whereby the
entry-points there had to mask the primitive principles in order to
update the grammar. Now the parser installs hooks to watch for things
being deleted or added and adjusts the grammar as it goes.

The disadvantage is that it's impossible to bypass these changes to
the grammar.


# c036c199 20-Jul-2012 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Tidy-up formatting of some src/1 code.


# 1bc9f344 13-Jan-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Change src/bool to src/1 as a prelude to experimentation!