History log of /seL4-l4v-master/HOL4/src/1/Drule.sml
Revision Date Author Comments
# 5ab75143 28-Jul-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Implement some new derived rules for manipulating implicational thms

The pp rule allows for transformations akin to what happens as part
of the action of mp_then. The iffLR, iffRL and cj functions allow
useful manipulations to happen under universal quantifiers and
"preconditions". Documented but without regression tests.


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

Move mp_then.PART_MATCH' to Drule and document it


# 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


# 6656e772 27-Feb-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Get irule (and IRULE_CANON) to do right thing with negated conclusions

Closes #775


# beec8de4 24-Oct-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove TABs in some source code, replacing them with spaces

Use Emacs's conception of how many spaces the TAB was
representing (and the M-x untabify command).

This may not line up with the author's original conception, but then,
using TABs makes it impossible to tell just what the original
conception was in the first place anyway.

Should probably script this over all of repository (excluding
makefiles of course), and use standard expand or col utilities rather
than emacs.


# 4888f523 15-Oct-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove eqtype declaration for term type


# 950ecc43 06-Aug-2016 Jeremy Dawson <jeremy@cecs.anu.edu.au>

Drule.REORDER_ANTS_MOD, REORDER_ANTS, MODIFY_CONS

also arithmeticTheory.PRE_LESS_EQ


# aa853bfc 25-Nov-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Delete trailing whitespace in src/


# 345e1213 25-Nov-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Expose and document IRULE_CANON.

This function is similar to MP_CANON (which is undocumented), and
normalises theorems to make them usable as introduction rules (as is
done by the irule tactic). Also tweak irule's documentation to better
reflect this implementation.

Finally, give irule an alias in Tactic as IRULE_TAC.


# ade51d1e 17-Nov-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

documentation for HYP_CONV_RULE, UNDISCH_SPLIT


# e0ff1173 16-Nov-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

UNDISCH_SPLIT - undischarges antecedent and splits its conjuncts


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

Clean src/ to remove Unicode (or to mark it as OK)

Marking Unicode as OK is done by putting the UOK tag on the same line of
the relevant file.


# 3ce46a7b 16-Sep-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

PART_MATCH_A, REWR_CONV_A - allow substutiting in assumptions


# 840c5991 15-Jul-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

define_new_type_bijections raises more info about how it was called


# 8d1dccdd 04-May-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

INST_TT_HYPS in Drule instead of Thm


# 5b2ce89b 02-May-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

reverting INST_TY_TERM to original version

this removes temporary code which tested INST_TT_HYPS every time
INST_TY_TERM was called


# 3120ad14 02-May-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

INST_TT_HYPS - as INST_TY_TERM but also retuns hyps in the order
they are returned by hyp (original theorem)

needed so that irule will give new subgoals in predictable order
temporary change to Drule.INST_TY_TERM is for testing


# b2823852 26-Mar-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Tweak new code in Drule to avoid compiler warnings


# c3e3e54e 25-Mar-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Delete trailing whitespace in src/


# 2940fe8e 25-Mar-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

docs for irule, prim_irule_tac, SPEC_UNDISCH_EXL


# c9dd804e 25-Mar-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

Tactic.irule, also prim_irule_tac and Drule.SPEC_UNDISCH_EXL


# db6f90ca 24-Mar-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

Drule.ASSUME_CONJS

Constructs a theorem proving a conjunction from its individual conjuncts


# 29e101ba 25-Feb-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

Drule.EXISTS_LEFT, Drule.EXISTS_LEFT1 added

to existentially quantify hypotheses in a theorem


# e70fe829 25-Feb-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

UNDISCH_TM, which also returns the term made an assumption


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

Tidy-up formatting of some src/1 code.


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

Tidy up some code under src/1. See commit ad9b041.


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

Remove trailing whitespace in source files.


# 0bbd2a7e 21-Jun-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Rename TruePrefix to Prefix; use fixity options with NONE for what was Prefix.

90+% of this work was done by Ramana Kumar. The following list are
the commits for a series of individual commits that have been squished
into one big change:
* remove mention of TruePrefix from the add_rule docfile
* first batch of changes removing TruePrefix from src/parse
* replace TruePrefix by Prefix in boolScript.sml
* remove TruePrefix from Rsyntax
is a fixity ever required for new_specification?
* some more Prefix -> NONE and TruePrefix -> Prefix in theories
* TruePrefix changes for datatype
* TruePrefix changes for res_quan
* TruePrefix->Prefix in a TeX selftest
* TruePrefix changes for quotient
* TruePrefix changes for integer and real
* fix quotient examples for TruePrefix removal
* more fixes for quotient examples
* fixes for lambda example for TruePrefix removal
* Reword description manual in light of removal of TruePrefix.
* Fix msgTheory quotient example; Poly 5.3 had problems with monotypes.
* Fixes for files in examples/lambda given removal of TruePrefix.
* Fix in examples/unification given removal of TruePrefix.
* Fix in examples/HolCheck given removal of TruePrefix.
* Fixes in examples/acl2 given removal of TruePrefix.


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

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