History log of /seL4-l4v-master/HOL4/src/rational/ratScript.sml
Revision Date Author Comments
# 9368833d 01-May-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix src/rational for tight equality

Remove some code from schneiderUtils along the way that can't have
ever worked (and wasn't being called). Some of it included parsing
calls to ancient if-then-else syntax (gd => t | e).


# b4b8e85c 18-Aug-2018 Andreas Lööw <AndreasLoow@users.noreply.github.com>

Don't export ERR from HolKernel


# d2d6d792 21-May-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Change irule to not include a rpt conj_tac effect

Closes #465


# 5dbff8c8 18-Dec-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix RAT_SGN to be the same as the rat_sgn; deleting extra constant

Jeremy Dawson pointed out the overlap: RAT_SGN r was the same as
rat_of_int (rat_sgn r), and had stolen some theorem names to boot.

For the sake of backwards compatibility, I've dropped RAT_SGN
entirely, and proved the few extra theorems that I'd proved about
RAT_SGN about rat_sgn.


# dceeeb2b 18-Dec-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Reformat a bunch of proofs in rational/ratScript.sml

Pulling things back under 80 columns, making proofs less indented and
pulling them up to take up less vertical space too.


# 5a30cd80 23-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Prove more about RATN & RATD; define RAT_SGN; prove results about it


# ca8e9a98 22-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix Unicode in previous commit; add RATN & RATD constants to rat thy

RATN and RATD return the numerator and denominator of a rational
number, picking the numerator with the least absolute value, and
choosing 1 for the denominator if the numerator is zero. RATD returns
a natural number, and the numerator is an integer.


# 77a57c3f 22-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix a rational proof broken by 85a2185164


# a2484c69 22-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Tidy up some ratScript proofs for style (e.g., <= 80 columns)


# 55ec86f1 19-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

More useful theorems about the rationals

Also make x * y = 0q the LHS of an automatic rewrite


# 0503fcae 19-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

More theorems about rational arithmetic when expressed as fractions


# fa79f552 16-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Untabify rationalScript.sml


# 1cc5d40e 16-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Make more rational theorems automatic; define rat min and max


# 70e86e87 16-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Make more rat theorems automatic rewrites


# 66aa2f12 07-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Make a bunch of rat theory rewrites automatic; define rat_of_int


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

Remove eqtype declaration for term type


# 5d5a8494 09-Mar-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Preserve add_user_printer properly in grammar data

This requires a slightly involved process for storing references to
code in theory files.

Update the .doc file on add_user_printer (which was already incredibly
long), and add a test.

Closes #367


# 56efbae4 07-Jul-2016 Jeremy Dawson <jeremy@cecs.anu.edu.au>

RAT_AINV_ONE_ONE in effect already proved


# fd522210 07-Jul-2016 Jeremy Dawson <jeremy@cecs.anu.edu.au>

shorter proof of RAT_DIV_CONG2


# c6160c27 07-Jul-2016 Jeremy Dawson <jeremy@cecs.anu.edu.au>

shorter proofs of RAT_AINV_EQ, RAT_EQ_AINV


# 4cce5754 06-Jul-2016 Jeremy Dawson <jeremy@cecs.anu.edu.au>

theorems FRAC_MINV_1 and RAT_MINV_1


# fb55f914 06-Jul-2016 Jeremy Dawson <jeremy@cecs.anu.edu.au>

removed repeated proofs of RAT_AINV_EQ, RAT_EQ_AINV


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

Delete trailing whitespace in src/


# 8ecb2c58 21-Nov-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

shorter proof of RAT_MUL_RINV


# 78659f9a 20-Nov-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

miscellaneous minor speed-ups of proofs


# d152458c 20-Nov-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

much shorter proof of RAT_MUL_ONE_ONE


# 62e9e973 20-Nov-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

much shorter proof of RAT_ADD_ONE_ONE


# d947c2f2 18-Nov-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

theorems for <= for rationals


# 2b69b9c6 08-Oct-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Stop EVAL making a mess of rational arithmetic

Use zDefine to avoid having definitions of fundamental arithmetic
operations expanded.


# 4ba8d33c 08-Oct-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove trailing w/space in rational/ratScript.sml


# d8e4c1a8 18-Sep-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

shorter proof of ratTheory.RAT_MUL_CONG1

also useful lemma FRAC_MUL_EQUIV1


# 1e2425b0 18-Sep-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

shorter proof of ratTheory.RAT_ADD_CONG1

also useful lemma FRAC_ADD_EQUIV1


# 819bfd2c 18-Sep-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

shorter proof of ratTheory.RAT_MINV_CONG

uses new theorem ratTheory.FRAC_MINV_EQUIV

also name clash in ratScript.sml between theorem stored as rat_def and
ML identifier rat_def, changed latter to rat_thm


# 4dd0d9ed 17-Sep-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

shorter proofs of RAT_NMRxx0_CONG in ratTheory

also useful lemmas RAT_EQUIV_NMR_xxZ_IFF


# d6c2da5f 17-Sep-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

some shorter proofs for ratTheory


# cca8dfa1 28-Jul-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Give the rationals decimal fractions too.


# eb606344 03-Mar-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Change & (the overloaded injection function from natural numbers into
other numeric types), to be a prefix symbol in the grammar. This
allows things like -&n to pretty-print better. There are a few
breakages here and there. I realise that the type-annotation suffix
should be looser than &'s precedence level so that &n:int parses as
(&n):int rather than &(n:int). Changing this revealed some faults in
the handling of operators like unary minus, so the construction of the
precedence matrix in term_parse needed to change a little. Changes to
later files and theories were mainly caused by people writing ``&``;
you now need to write ``$&``, or ``(&)``.


# d653fb1c 11-Feb-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Implement unary minus (the old ~ still also works). Selftest level 2
passes. Changes in the "words world" were replacing $- with -. In
the two quotient changes, I made sure that the infix operator
that used the - character was part of the grammar before it was
parsed. This is necessary because - is now a non-aggregating
character, mainly so that ``--p`` parses as three tokens, not two. Of
course, if you added -- to your grammar, then it would go back to
parsing as two.


# d9003833 26-Nov-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

Fairly dramatic change, supporting the use of "syntactic patterns".
It is now possible to overload a name to term (typically a
lambda-abstraction) in order to create syntax-only definitions. For
example, there is a definition of not-equals now in the system:
val _ = overload_on ("<>", ``\x y. ~(x = y)``)
val _ = set_fixity "<>" (Infix(NONASSOC, 450))
This definition is parsed and pretty-printed.

Two other annoying changes. The interface for adding unicode variants
has changed, and I have made precedence level 450 of the parser
non-associative. This latter change has caused most of the (minor)
adjustments to the files below. The regression test doesn't go
through yet. (Currently there is a failure in
quotient/examples/sigma that I don't understand.)


# 901d00d4 20-Dec-2006 Konrad Slind <konrad.slind@gmail.com>

Random typo.


# 04f699d7 19-Dec-2006 Konrad Slind <konrad.slind@gmail.com>

Random other bits deemed useful.


# 7c620eac 21-Aug-2006 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove a redundant theorem - spotted by Mike.


# d8e57a78 16-Feb-2006 Michael Norrish <Michael.Norrish@nicta.com.au>

Add more aggressive normalisation of multiplicative expressions to ARITH_ss.
Also provide old_arith_ss values for scripts that don't want this new
behaviour. Update proofs to go through again. Some should be a bit more
robust in the face of future changes to arith_ss. Others just punt and refer
to old_arith_ss.


# de3b1d58 28-Nov-2005 Jens Brandt <brandt@cs.uni-kl.de>

support for numeral forms added


# cda6aefc 21-Nov-2005 Jens Brandt <brandt@cs.uni-kl.de>

Initial version of theory and libraries of rational numbers added.