#
0801c6f2 |
|
12-Oct-2020 |
Michael Norrish <michael.norrish@data61.csiro.au> |
Simplify grammar handling by using abstract ancestral data framework This is not fully worked out yet, and the abstract framework has only been instantiated on the one test-case. It's definitely worth it there though as there can be less awful code smashed into fooTheory.sml files as a result. Aim is to instantiate theorem-sets in the same way though so that it will be possible to access srw_ss() as it was at different points in the theory hierarchy. Not yet clear if AncestryData should be responsible for holding onto the underlying references that hold the global "values" (grammars, simpsets, etc). Changes in examples fix various adjoin calls that either shouldn't be there at all (TypeBase now has export; or need to be made "after completion" so that parses work correctly (these should be using exportable data themselves)).
|
#
5417af9d |
|
31-Mar-2020 |
Arve Gengelbach <arve.gengelbach@it.uu.se> |
remove lcsymtacs (github issue #666) The lcsymtacs structure is regarded superseded as it plainly is a shorthand for opening the following modules: Abbrev HolKernel boolLib Tactic Tactical BasicProvers simpLib Rewrite bossLib Thm_cont
|
#
4f67f38e |
|
13-Oct-2019 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Use new syntax for some theorems in examples/lambda/basics/term
|
#
0466cdbc |
|
25-Mar-2018 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix some adjoin calls in examples/lambda
|
#
732b9f9e |
|
04-May-2012 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Extra parameter for new_type command in nomdatatype allowing for multi-types. Doesn't work unless each 'type' allows a 'VAR' constructor, which is not the case in first order formulas and terms, for example.
|
#
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.
|
#
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.
|
#
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.
|
#
cc406e4b |
|
12-Jun-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix build errors caused by me moving 'some' theorems.
|
#
cf32d14d |
|
11-Jun-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Move a couple of useful theorems about 'some' into optionTheory.
|
#
15f66f6f |
|
06-Jun-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Get lambda/typing directory to build again. Had to deal with termScript stealing the \rightarrow syntax (I made that theft local to termScript); and with tight equality.
|
#
6055e89d |
|
05-Jun-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Prove a varying parameter version of the term recursion principle. Get termScript to compile with the new principle. More work will be required to adjust remaining lambda-calculus scripts.
|
#
c4e35ee0 |
|
18-May-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Another minor strengthening of the lambda-term recursion principle. It still doesn't quite say enough for the 'parameter' version.
|
#
5d2a4eee |
|
18-May-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Further strengthening of the lambda-term recursion principle. The assumption that the results of recursive calls are always finitely supported by the free variables of the argument (plus any vars in the support of the helper functions) can be used in the FCB as well as in the assumptions about the support of the helper functions.
|
#
773bd3a7 |
|
17-May-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Weaken side-conditions needed for recursions on lambda-terms.
|
#
e141cd4b |
|
15-May-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Rework lambda-term recursion principle proof once more. It's simpler and more polished, mostly following the IJCAR'06 paper by Urban and Berghofer, though slightly simpler even than that. I believe I have one more useful change in me for this development, and then I'll attempt to do the whole thing again, generically in genericTerms. The change to term_posnScript comes about because it relied slightly too much on the exact form of the principle. (Previously tm_recursion was just recursion and not iteration; putting iteration in from the outset seems harmless.)
|
#
ffdaeae1 |
|
09-May-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Slight simplify the proof of the lambda-terms' recursion theorem. In particular, change "condition 16" from ?a. "a fresh" /\ !x. something else into !a x. "a fresh" ==> something else This "some-all" transformation (the two are equivalent thanks to properties of freshness) removes a quantifier alternation.
|
#
4d17d7c9 |
|
07-May-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Simplify the proof of the term recursion principle for lambda-terms.
|
#
4164a076 |
|
15-Oct-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Revise the base theory of nominal sets to make much greater use of overloading, thereby reduce the number of Define-d constants. This reduces the number of theorems as well. With some theorems disappearing, there were a few knock-on effects in descendent theories.
|
#
3daf612a |
|
27-Apr-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Proof that the application constructor isn't cyclic. (We could probably prove results like these for all inductive data types...)
|
#
8c026624 |
|
18-Mar-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix for a broken proof (caused by change to FV rewrites), that I didn't spot the first time through (somewhat disturbingly).
|
#
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.
|
#
fa39b570 |
|
02-Mar-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Implement a FRESH_TAC that freshens bound variables throughout a term.
|
#
e3d9c2ec |
|
02-Mar-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Recast binderLib's internal databases about "binder"-information for types. In the process, give up on the attempt to make this technology work for the "old" style of recursion theorem as in my TPHOLs paper. Now the only style supported is the quotient + nominal proof (which is what is in barendregt).
|
#
86a1f4a5 |
|
23-Feb-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
A start on computability done in the lambda-calculus. (Change to termScript makes the defining theorem about substitution an automatic rewrite.)
|
#
9aa0ae36 |
|
26-Nov-2008 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Missed fixing these in the previous sweep. Again, the problems were proofs that relied on string variables being given names beginning with the character #"s".
|
#
b541f3ea |
|
26-Oct-2008 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Proofs and tools broke when I changed the behaviour of parse_in_context. Thanks for Peter for alerting me to the problem (should be running build -selftest more often myself). (Also make barendregt directory QUIT_ON_FAILURE, and removed a duplicate proof in finite_developments.)
|
#
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.
|
#
51368382 |
|
30-Aug-2008 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Define permutation over finite maps, and then use finite maps to define simultaneous substitution over terms. Use fm ' t syntax to mean application of finite map fm (mapping strings to terms) to term t. Prove some simple properties of simultaneous substitution.
|
#
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).
|