History log of /seL4-l4v-10.1.1/HOL4/examples/lambda/barendregt/standardisationScript.sml
Revision Date Author Comments
# 187fc557 31-May-2017 Ramana Kumar <ramana@member.fsf.org>

Fix some more examples for #346


# 73ca44d1 29-Jul-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix λ-calculus examples in light of pat_assum rename


# ddcd0a08 21-Mar-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Avoid infix clash at precedence 750.


# 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.


# 907942f9 24-Jul-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Fixed standardisation script (all of barendregt directory builds).

Issue here was that new theorems pick slightly different variable
names in some places, and this causes breakage.


# 25da727d 24-Jul-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Terms and labelled terms now derived from generic terms.

This is a big change that points to the implementation of a complete
nominal datatype package. The use of generic terms means that we only
need to do one hairy quotient, and one hairy derivation of a recursion
principle.

The recursion principle in question features a new "FCB" (one of the
side-conditions that need to be proved in order to get a recursive
function admitted). Though I think it's better, it can be a little
fiddlier to prove. It's also stronger, so in theory, there may be
reasonable functions that the new FCB rejects. It should certainly be
possible to automate the bulk of the new fiddly proofs.


# 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.


# 89e4f0f9 13-Apr-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Prove some useful theorems about having weak-head normal forms.


# e3d2a94e 01-Mar-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Proof fixes given general incorporation of LIST_EQ_SIMP_ss.


# 36fe42db 17-Nov-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

New, powerful, automatic rewrite in optionScript.

Rewrite is

|- ((if P then SOME x else NONE) = SOME z) = P /\ (x = z)

and all variants there-on.

A number of changes were necessary in other theories. This change
affects not just srw_ss() but also std_ss.

In finite_map, I created a couple of new Unicode variants for SUBMAP
and FUNION. I also tidied up some proofs, and the statement of some
goals (indentation, column limits).


# 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 ...)))


# 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.


# f68c645a 26-Feb-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

More changes to the lambda-calculus theories about reduction,
including a new theorem giving a coinduction principle for the notion
of being a standard reduction. Also prove that every normal-order
reduction is standard, and that every head reduction is a normal-order
reduction.

Also change the okpath_co_ind theorem in pathTheory so that it doesn't
force the user to consider a useless case. This has some knock-on
effects in the barendregt directory.


# 4004ae0a 24-Feb-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Eliminate the head_reduce1 constant from standardisation and replace
it everywhere with head_reduction$hreduce1, written infix -h->. Also,
prove a couple of easy lemmas in head_reduction:
- that hreduce1 is deterministic/unique
- that if M beta-reduces to N, and M is hnf, then so too is N (i.e.,
the reduction happened at an "internal" redex).


# 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.


# bce83f18 14-Aug-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

As per the comment in the file, I have to begin
standardisationScript.sml with the line
structure standardisationScript = struct
in order to have MoscowML compile it successfully.


# 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.


# 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).