#
bc294d17 |
|
02-Sep-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Extract a usable half-way point from nominal_datatype branch. This replaces the is_perm predicate with a type embodying that predicate. It doesn't include the subsequent work on allowing multiple 'atom' types.
|
#
ba932e5d |
|
05-Jun-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Rework lambda-theory scripts to use new varying parameter recursion theorem. Also make work for myself by having some of the script files use 'tight' equality. Later files get switched back to loose (prec = 100) equality, because it was all getting to be too much work.
|
#
621359f7 |
|
13-Jun-2010 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix barendregt/chap2Script.sml so that set_MLname is no longer required. Also fix annoying choice of names while I'm at it.
|
#
27c433ad |
|
14-Aug-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Tidy up some proofs by using Once and the new Simp* modifiers to the simplifier (replacing things like CONV_TAC (LAND_CONV (ONCE_REWRITE_CONV ...)))
|
#
4761143b |
|
10-Aug-2009 |
Tjark Weber <Tjark.Weber@cl.cam.ac.uk> |
Removed trailing whitespace from all .sml and .sig files. This affects over 900 files and was done using emacs's delete-trailing-whitespace function in batch mode. Building the system with Poly/ML and Moscow ML seems to work, so I'm hoping these changes don't break anything. Please complain if they do!
|
#
d2800ab2 |
|
22-Mar-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Changes so that the weakened rewriting of lambda-terms now happens with respect to beta-equality (==), rather than beta-reduction (-b->*). This gives us access to more rewrites. In particular, we get things like church (SUC n) @@ z @@ f == f @@ (church n @@ z @@ f) which is a nice recursive characterisation of what church numerals do, and saves us from having to do too many ghastly things with FUNPOW. With the above equation, neither side reduces to the other (they have a common reduct of course), and so it wasn't a usable rewrite when using -b->*. In addition, to the above, I set up a natrec combinator, which would get typed : 'a -> (num -> 'a -> 'a) -> num -> 'a if we were in a typed world. This combinator gets access to the value of the recursive argument, making predecessor easier to define. Also, give an equation like the one above for church for the cDB function. Many proofs are shorter. Some are slower, but the shortness of expression won me over.
|
#
cb0a0371 |
|
17-Mar-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Add some rewrites about freshness (not being in the free variables of a term) that work better with the simplifier. This breaks a couple of proofs later on in chap2 and chap3 theories, that are easily fixed.
|
#
64d23b61 |
|
15-Mar-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
More useful facts about Omega, including the fact that if you can reach it, you have no beta-normal-form.
|
#
6ee0f460 |
|
14-Mar-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
More facts about normal order reduction paths, including the fact that the self-looping Omega term has an infinite one, and thus, by another theorem just proved, has no beta-normal-form.
|
#
cfaa2343 |
|
12-Mar-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fully support weaker relations than equality that aren't also constants. Start to implement a reduction engine for beta-reduction in the lambda-calculus. Still some wrinkles to work out.
|
#
2b2a6705 |
|
27-Feb-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fiddle and prettify basic presentation of beta-reduction. Using syntactic patterns, I can now have ``compat_closure beta M N`` (the "compatible closure of the beta-relation) appear as ``M -b-> N``. Also use syntactic patterns to get rid of constants reduction and conversion. Finally, provide Unicode versions of the various arrow symbols so that with the Unicode flag on, the above will come out as M -β-> N Even in just ASCII, I think the theorems look a deal prettier.
|
#
497555c3 |
|
24-Feb-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Start to move stuff relating to head-reduction into a separate theory. There's still a pile of stuff, mainly expressed in terms of reduction paths, in standardisationTheory that could probably be moved or re-expressed. In particular, there is a head_reduce1 constant there that is actually the same as -h-> from head_reductionTheory.
|
#
effc431b |
|
01-Oct-2008 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Change export_rewrites back to its old API (without requiring an extra string). When exported, the resulting simpset fragment always picked up the name of the theory to be the base of its name, so there didn't seem much point in giving users a false impression of naming power.
|
#
ca2b6ae0 |
|
29-Aug-2008 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Improve the statement of strong_ccbeta_gen_ind, save it to disk, and alter the one proof that relies on it.
|
#
d0132fa5 |
|
12-Aug-2008 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix for the lambda-calculus examples in light of RTC_REFL being exported from relationTheory.
|
#
32cb282d |
|
20-Jul-2008 |
Konrad Slind <konrad.slind@gmail.com> |
More laggards.
|
#
aed05f4e |
|
20-Jul-2008 |
Konrad Slind <konrad.slind@gmail.com> |
A whole mess of small changes intended at making simpsets prettyprint informatively in the interactive loop. Very possibly I haven't updated all the files in the examples directories.
|
#
7cf5c42f |
|
09-Jul-2008 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Completely reorganise these files into some sensible directories. Also, add a file demonstrating that the McKinna-Pollack two-sorted raw syntax does indeed behave properly (links appropriately to beta over quotiented terms).
|