#
523c72e2 |
|
21-Mar-2018 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fixes of bag, container, finite_map and in n-bit/
|
#
84a8966a |
|
26-Nov-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Add some theorems from CakeML pred_set: to do with bijections and surjections list: MAP2 and LIST_REL results pair: rewrites with (FST x = y) and (SND x = y) as LHSs other changes are fixes for broken proofs.
|
#
5172d8bc |
|
13-Nov-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Reformat finite_mapTheory ; add some theorems from CakeML. Reformatting includes - indentation changes - removal of TABs
|
#
36350511 |
|
02-Feb-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Improve statement of o_f_FUPDATE This theorem does not need to use the \\ operator (i.e., there is an instance of fm \\ k on the theorem's RHS that can be replaced by fm).
|
#
90d6cb04 |
|
02-Feb-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Adjust fixities of finite map composition operators
|
#
4e71711d |
|
01-Feb-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Add associativity result for f_o (f/map-function composition) Assume injectivity of the two functions involved as this seems a reasonable common case.
|
#
7aae82dc |
|
05-Oct-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix one of the bugs in previous commit's test-case This was done by simply removing the entry-points (uoverload_on, and uset_fixity) that were causing problems. They have long been redundant in terms of their desired effect, and introduced buggy behaviour with the switch to explicit grammar deltas. The uoverload_on function is still used internally.
|
#
90cb4e1d |
|
12-Sep-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Remove Unicode under src/ This problem is now being spotted by self-testing again, thanks to c529f76
|
#
c2ef1d87 |
|
15-Aug-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Merge operatorTheory into combinTheory This was far too small a theory to live an independent existence. It was included by listTheory so the constant name-space contamination isn't any different for eventual clients.
|
#
200a1614 |
|
28-Jul-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix finite-map theories in light of pat_assum rename
|
#
1f63d5fa |
|
02-May-2016 |
Ramana Kumar <ramana@member.fsf.org> |
Add various theorems from CakeML
|
#
aa23933d |
|
29-Jan-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Opening lcsymtacs is no longer necessary.
|
#
d229eea2 |
|
12-Aug-2015 |
Ramana Kumar <ramana@member.fsf.org> |
mark some theorems as automatic rewrites selection taken from CakeML
|
#
92317114 |
|
08-Jan-2015 |
Michael Norrish <michael.norrish@nicta.com.au> |
Change API of Q's MATCH...RENAME_TACs. Now rather than a string list hanging off the end specifying which variable bindings aren't supposed to induce a renaming, just put underscores into the pattern in those positions. Documentation and release notes updated.
|
#
5db1c01a |
|
23-Oct-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Attempt to tidy-up some proof scripts. Much of this has come from CakeML. Removed Unicode and tried to eliminate lines longer than 80 characters. Also added a few new constants to listTheory: INDEX_FIND, FIND and INDEX_OF. Added "nub" to listSyntax.
|
#
c665452e |
|
13-Aug-2014 |
Scott Owens <S.A.Owens@kent.ac.uk> |
Add sorting/perm theorems to finite_maps and alists This makes the finite_map directory depend on the sorting directory.
|
#
9e3f3748 |
|
12-Aug-2014 |
Ramana Kumar <ramana@member.fsf.org> |
move theorems out of finite_mapTheory into (rich)_listTheory they have nothing to do with finite maps
|
#
fb129495 |
|
12-Aug-2014 |
Scott Owens <S.A.Owens@kent.ac.uk> |
New theorems about finite maps and alists Importing theorems that were useful in CakeML (https://cakeml.org). Mostly by Ramana Kumar, some by Scott Owens. Also removed the unnecessary ALL_DISTINCE assumption from ALOOKUP_TABULATE.
|
#
9cd8f04e |
|
03-Feb-2014 |
Michael Norrish <michael.norrish@nicta.com.au> |
Add domain restriction and deletion to relations (reusing \\ syntax).
|
#
471187f2 |
|
10-Nov-2013 |
Ramana Kumar <ramana@member.fsf.org> |
a couple of small theorems about FUPDATE_LIST The first is essentially combines the definition of FUPDATE_LIST as a fold with rich_list's theorem about folding a mapped list. The second simplifies fm |++ SNOC x xs.
|
#
fa92fda2 |
|
25-Sep-2012 |
Michael Norrish <michael.norrish@nicta.com.au> |
Some more theorems about fmap_rel.
|
#
b66141d3 |
|
20-Sep-2012 |
Ramana Kumar <ramana.kumar@gmail.com> |
move thm that FUNION is idempotent to finite_mapTheory
|
#
20bc83a8 |
|
20-Sep-2012 |
Ramana Kumar <ramana.kumar@gmail.com> |
Move fmap_rel (analogous to LIST_REL) to finite_mapTheory
|
#
0fc75877 |
|
30-Jul-2012 |
Ramana Kumar <ramana.kumar@gmail.com> |
change interface to add_persistent_funs (#73) and fix more calls The new interface takes a list of strings naming theorems. (The old interface took a list of (string * thm) pairs.) The new way better ensures consistency of theory development and theory load behaviour: you can no longer pass a name with a theorem that isn't actually saved under it. Theorems are looked up with DB.theorem, or failing that, DB.definition or DB.axiom. Alas, I found more examples using add_persistent_funs to add theorems in ancestor theories. Rather than modify the ancestor theories, I have opted to make the offending theories save the theorems they want to add to computeLib themselves so they have a name in the current theory to pass to add_persistent_funs. If this behavior was appropriate for patricia too (da47401) change it. Alternatively, if the ancestor theories should have exported those things for computeLib anyway, search this commit for new instances of "save_thm" to see what needs fixing.
|
#
be2f8ea8 |
|
04-Jul-2012 |
Michael Norrish <michael.norrish@nicta.com.au> |
Remove some trailing whitespace.
|
#
33bda56f |
|
26-Jun-2012 |
Konrad Slind <konrad.slind@gmail.com> |
Added size functions for finite sets, maps, and bags. These are helpful for measures supporting recursive definitions and induction schemes. The size functions have been added to the TypeBase, with the intent that Induct, Induct_on, Cases, and Cases_on should be applicable. (However, this has not been checked yet, so these might not work.) The size of a finite set is the number of elements in it, plus the sizes of all the elements. (The size of a set with 0 as an element is larger than that set with the zero deleted.) The size of a finite map is the number of mapped elements, plus the sizes of the mapped elements. Key size is ignored. The size of a finite multiset is the number of elements in the multiset plus the sizes of the elements. There are more extensive orderings (e.g. the multiset order) but they aren't measures, which is important for the way termination proofs are automated.
|
#
5b587535 |
|
26-Jun-2012 |
Konrad Slind <konrad.slind@gmail.com> |
Allow "non-datatypes" in TypeBase to have optional induction thm. Provide appropriate values for this field for finite sets, strings, integers, finite maps and words.
|
#
df0dad36 |
|
01-May-2012 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Remove some non-ASCII under src/
|
#
e788bd66 |
|
18-Apr-2012 |
Ramana Kumar <ramana.kumar@gmail.com> |
various new finite map theorems characterising these situations: - {} = FDOM fm - (DRESTRICT f1 s2 = DRESTRICT f2 s2) - FMERGE m m1 m2 \\ k - FUNION f g = g and giving sufficient conditions for: - (f |++ kvl) ' k = v
|
#
741a1107 |
|
12-Apr-2012 |
Ramana Kumar <ramana.kumar@gmail.com> |
new constant for mapping over the keys of a finite map The operation only makes sense for an injective function, because otherwise you have two values for the same key and the map provides nothing by which to prefer one of them. MAP_KEYS is definable using existing constants (see the theorem MAP_KEYS_using_LINV) but it's pretty complicated and I think warrants its own constant.
|
#
42e4f860 |
|
12-Apr-2012 |
Ramana Kumar <ramana.kumar@gmail.com> |
new finite map theorems and rewrites Some rewrites seem obviously good. I was too afraid to include FAPPLY_FUPDATE_THM. The statement of f_o_FUPDATE is a bit unwieldy. I don't know if there's a nice way to characterise that situation.
|
#
01ae37c5 |
|
11-Apr-2012 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Remove some Unicode from sources.
|
#
29a48c14 |
|
18-Jan-2012 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Add automatic rewrite for FDOM (FUNION fm1 fm2).
|
#
78e63fac |
|
17-Jan-2012 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Add rewrite about FRANGE (FUNION fm1 fm2). Require that the domains be disjoint.
|
#
a2328149 |
|
23-Sep-2011 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Adopt ML-style syntax for case expressions and use freed up "||" for bitwise-or. See issue #24.
|
#
89f9e0b2 |
|
07-Sep-2010 |
Ramana Kumar <ramana.kumar@gmail.com> |
Extensionality of finite maps in terms of FLOOKUP
|
#
c5b3079f |
|
25-Aug-2010 |
Ramana Kumar <ramana.kumar@gmail.com> |
Three theorems about DOMSUB and FLOOKUP.
|
#
5bcc4edf |
|
03-Aug-2010 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Add new theorem about FLOOKUPing in a FUN_FMAP.
|
#
7b73c8d7 |
|
16-Jul-2010 |
Konrad Slind <konrad.slind@gmail.com> |
src/num/theories/SingleStep.{sig,sml} is gone. The defininitions of Cases, Cases_on, Induct, Induct_on, CASE_TAC (and co.) are now in basicProof/BasicProvers. completeInduct_on and measureInduct_on are now in numLib. recInduct is now in src/tfl/Induction.sml. All these are collected in bossLib, so the changes should be invisible to ordinary users. SingleStep.*.doc has been changed accordingly. BasicProvers.NORM_TAC should now automatically perform all case splits (from if-then-else expressions as well as case expression) arising anywhere in the goal.
|
#
38ed962b |
|
19-Mar-2010 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
TeX macros in TeX_notation calls need to be terminated with {}.
|
#
621bb980 |
|
17-Mar-2010 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Move more TeX notations into appropriate theory files. Word-related notation still to do.
|
#
3b22c09b |
|
03-Mar-2010 |
Ramana Kumar <ramana.kumar@gmail.com> |
Added DOMSUB_COMMUTES to finite_mapTheory.
|
#
a0b20792 |
|
26-Feb-2010 |
Ramana Kumar <ramana.kumar@gmail.com> |
Added a number of theorems, mainly to finite_mapTheory. finite_map: FLOOKUP_FUNION FEVERY_FLOOKUP FLOOKUP_o_f FUPDATE_LIST_APPEND FUPDATE_FUPDATE_LIST_COMMUTES FUPDATE_FUPDATE_LIST_MEM pred_set: COMPL_UNION
|
#
6f30b4d7 |
|
03-Feb-2010 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make SUBMAP_REFL an exported rewrite.
|
#
a91ae2c0 |
|
30-Nov-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
SUBMAP_FUPDATE_EQN now includes more information in one of its disjuncts. In particular, move from f SUBMAP (f |+ (x,y)) <=> x NOTIN FDOM f \/ (f ' x = y) to f SUBMAP (f |+ (x,y)) <=> x NOTIN FDOM f \/ (f ' x = y) /\ x IN FDOM f Also prove a version that uses FLOOKUP on the RHS. (Suggested by Ramana Kumar.)
|
#
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).
|
#
b48216ed |
|
16-Nov-2009 |
Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk> |
added fupdate_NORMALISE_CONV fupdate_NORMALISE_CONV simplifies fupdate - sequences by removing the ones that are masked by later appearances. ``f |+ (x1, y1) |+ (x2, y2) |+ (x1, y3) |+ (x4, y4)`` gets for example simplied to to |- (f |+ (x1, y1) |+ (x2, y2) |+ (x1, y3) |+ (x4, y4)) = (f |+ (x2, y2) |+ (x1, y3) |+ (x4, y4)) The slightly tricky part in writing this conversion was to avoid checking, whether two keys are equal. They are treaded as equal by this conversion, iff they are alpha-equivalent. Otherwise, it is not somehow cleverly checked, whether they are equal. For implementing this conversion the concept of two finite maps beeing equal upto a given set of keys (fmap_EQ_UPTO) was introduced in finite_mapTheory.
|
#
97c0f911 |
|
05-Nov-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
New finite_mapTheory thm: |- v IN FRANGE f <=> ?k. FLOOKUP f k = SOME v (suggested by Ramana Kumar)
|
#
0a013e5c |
|
04-Aug-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Another finite map theorem from Ramana Kumar: |- DRESTRICT f P SUBMAP f
|
#
6417d726 |
|
25-Jul-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
A couple of more theorems about finite maps and submaps in particular from Ramana Kumar. One is automatic.
|
#
19b45573 |
|
23-Jul-2009 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Add some theorems suggested by Ramana Kumar, clean up some proofs, and make some more theorems automatic rewrites.
|
#
a1d7def4 |
|
05-May-2009 |
Konrad Slind <konrad.slind@gmail.com> |
Additions to multiset and primeFactor theories. Fixed definition of PRIMES sequence in dividesTheory. Also added misc. theorems to arithmetic. Some amount of meaningless shuffling about.
|
#
068a4068 |
|
26-Mar-2009 |
Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk> |
Removed function FMAP_MAP because it was equivalent to o_f.
|
#
1e06326b |
|
25-Mar-2009 |
Thomas Tuerk <Thomas.Tuerk@cl.cam.ac.uk> |
A collection of minor extensions. Most noticably, a operation for merging two maps has been added. Moreover, there are is a mapping operator for finite maps now. Theorems about these new operations as well as some old ones have been added as well. The new library finite_mapLib contains a conversion fevery_EXPAND_CONV that is able to expand FEVERY into a conjunction. For example ``FEVERY P (FEMPTY |+ (x1, y1) |+ (x2, y2) |+ (x3, y3) |+ (x4, y4))`` is exanded to |- FEVERY P (X |+ (x1,y1) |+ (x2,y2) |+ (x3,y3) |+ (x4,y4)) <=> P (x4,y4) /\ (~(x3 = x4) ==> P (x3,y3)) /\ (~((x2 = x3) \/ (x2 = x4)) ==> P (x2,y2)) /\ (~((x1 = x2) \/ (x1 = x3) \/ (x1 = x4)) ==> P (x1,y1))
|
#
efb78462 |
|
14-Mar-2009 |
Konrad Slind <konrad.slind@gmail.com> |
Added some finite_map support to EVAL. Also a new theorem and more syntactic support for lists of updates.
|
#
8654de63 |
|
07-Feb-2009 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Attempt to tidy up (fix) EmitML and finish off the transition that Scott started. EmitML has been moved to the end of the build sequence. "Hooks" have been eliminated and all EmitML related stuff has been removed from the various theory directories. All code for generating ML/Caml is now self-contained within src/emit. I've not tested the generated Caml code but the SML seems to build fine. The directories: src/theoryML src/theoryOcaml src/emitScript have been replaced by src/emit/theories/ML src/emit/theories/Caml src/emit/theories
|
#
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.)
|
#
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.
|
#
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.
|
#
b458dfe5 |
|
12-Sep-2006 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Change to the inductive relations definition code to support a global, and updated "monoset", which can be updated as theories load, thereby invisibly increasing the capabilities of Hol_reln. Also simplify the implementation of derive_strong_induction, and move the entrypoint to IndDefLib. New test in src/IndDef/selftest.sml wouldn't have passed before (I believe). It is more onerous than Peter's original monoset example, which didn't feature recursion under the EVERY operator. Documented in Description and release notes. Still to update theories with appropriate calls to export_mono. (export_mono and export_rewrites are now part of bossLib's interface.)
|
#
3f19462e |
|
21-Aug-2006 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
The change to the interface of derive_strong_induction hits these scripts - the fix makes the call easier to make.
|
#
2a38e91e |
|
23-Jul-2006 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
A couple of new theorems about the FLOOKUP constant, and prettier proof for one of the theory's lemmas.
|
#
c6f8da28 |
|
04-Jul-2006 |
Konrad Slind <konrad.slind@gmail.com> |
Fixing up treatment of "ABSDATATYPE" thingies, where ordinary constants are treated as datatype constructors in the generatd ML.
|
#
5c8f5906 |
|
22-Jun-2006 |
Konrad Slind <konrad.slind@gmail.com> |
Minor changes and bugfixes to ML code generation. Have renamed EmitML.exportML to EmitML.emitML, since exportML is used in SML/NJ to dump the image. Also renamed Globals.exportMLPath to Globals.emitMLDir (since it's a directory and not a path). Also fixed bug in code generated for constructors and tuples.
|
#
b29d4565 |
|
22-Jun-2006 |
Konrad Slind <konrad.slind@gmail.com> |
Upgrading EmitML to support records. Lots of associated changes as well.
|
#
13f030c2 |
|
07-Feb-2006 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Wide-ranging change to make the TypeBase export an interface forcing users to be concerned about which theory their types are from. Interactive users of the "induction_of", "axiom_of" and similar functions are thrown the only bone: they can effectively omit the theory parameter by using "" instead of a theory name. Prompted by a bug found by Tom Ridge where it was impossible to define a pattern matching function on a type with the same name as another type because the pattern-matching code was using dest_type and TypeBase.read on just the type-operator name.
|
#
adf911c8 |
|
25-Jul-2005 |
Konrad Slind <konrad.slind@gmail.com> |
Revised exportML so that it takes a path parameter, which tells where the ML corresponding to a theory is to be written. This has been propagated to all the theories that already export ML, and the mkword.exe tool has been upgraded to also take a path where it should write the generated ML. This is useful, because doing an exportML to the same directory as the theory files will end up confusing Holmake.
|
#
89434baf |
|
29-Apr-2005 |
Konrad Slind <konrad.slind@gmail.com> |
Spotted a strange-looking theorem name.
|
#
cfd0f707 |
|
10-Jan-2005 |
Konrad Slind <konrad.slind@gmail.com> |
Mostly minor changes. Mainly, have changed FUPDATE_LIST in finite_mapTheory to be a prefix, and have replaced it with the infix notation |++. Michael said it was OK.
|
#
03f657e9 |
|
09-Jan-2005 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Should have done this a long time ago; you can see from examination of the sources how many times GSYM fmap_EQ_THM gets called. This theorem now mentioned in the DESCRIPTION manual too.
|
#
138d26bb |
|
04-Aug-2004 |
Konrad Slind <konrad.slind@gmail.com> |
ML code generation for finite_map now added. Also, a whole host of minor changes and robustifications have been applied.
|
#
9360dfad |
|
23-Jun-2004 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Added a couple of extra automatic rewrites.
|
#
fa2cad98 |
|
01-Jun-2004 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Some new theorems (from my specification of the Hare-Clark voting system) and a bit of tidying, now that LIST_TO_SET has moved.
|
#
f49b65a7 |
|
11-Apr-2003 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Prove a couple of useful rewrites for the o_f function (which maps a function over a finite map), and correct an ancient typo.
|
#
1127447a |
|
02-Mar-2003 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
A better rewrite for calculating FRANGE over finite maps that are given in terms of FUPDATE.
|
#
3c391fb3 |
|
22-Nov-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
More theorems; some exported.
|
#
04a03bda |
|
21-Nov-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Forgot this as an automatic rewrite candidate.
|
#
b3950310 |
|
21-Nov-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
A new constant for removing a single entry from a finite map. Has nice rewrites that don't require manipulating sets and their intersections, which is what you get into if you use DRESTRICT straight.
|
#
b387c9b2 |
|
16-Oct-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
YAFMT (Yet Another Finite Map Theorem). This can be used to eliminate simple equalities between finite maps where one side is know to have just one element. Sadly it introduces a disjunction.
|
#
a24d24da |
|
15-Oct-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
A couple of new lemmas to help with simple cases of finite map elimination.
|
#
47eeba0b |
|
05-Sep-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
More "obvious theorems" exported.
|
#
d6b08f6b |
|
16-Aug-2002 |
Konrad Slind <konrad.slind@gmail.com> |
Change to type of new_specification, and made it tell that parser about the introduced constants. Lots of knock-on (trivial) mods.
|
#
6a2aaf04 |
|
14-Aug-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Changes to parsing technology to allow left-associated infixes to co-exist with function application in the same slot in the grammar. Application of this new facility to the example of FAPPLY in finite_map theory. Might also be useful if and when we get round to modelling sets as functions in pred_set theory.
|
#
5d255979 |
|
14-Aug-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fiddling with precedence levels for '. Comment illustrates the issue I hope.
|
#
ad42f76c |
|
08-Aug-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
An "unwinding" theorem for FUPDATE_LIST that will let me match and eliminate existentially-bound variables in expressions such as ?v1 v2 fm. (fm FUPDATE_LIST [(k1,v1); (k2, v2)] = FEMPTY FUPDATE_LIST [... ; (k1, v11); (k2, v21)]) /\ P v1 v2 fm
|
#
f35dde44 |
|
02-Aug-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Some new theorems. The pseudo injectivity results will allow me to write code to match expressions involving FUPDATE against concrete maps.
|
#
0d44f5fd |
|
01-Aug-2002 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fairly radical revision. The original didn't depend on either of hol98's set theories, so re-invented the notion of a predicate being finite, and even defined the notion of deleting elements from predicates (= sets). I have done away with this and linked whole-heartedly to pred_sets. This means that I have changed every occurrence of FDOM f x to x IN FDOM f (meaning, x is an element of the domain of finite map f). The power of the modern rewriter and PROVE_TAC also means that the script file is now 30K shorter than it used to be. I've defined a couple of bits of new syntax: f ' x = FAPPLY f x and f |+ (x, y) = FUPDATE f (x, y) The underlying constants are still called the same thing, so the old syntax is still supported. (Thanks to Keith for the FUPDATE syntax.) Finally, I've added an iterated version of FUPDATE, called FUPDATE_LIST, which is taken from the Netsem work (again, thanks Keith).
|
#
c8e23d9d |
|
15-Jun-2001 |
Konrad Slind <konrad.slind@gmail.com> |
Deleted dependence on PairedDefinition.
|
#
ae850bb7 |
|
01-Apr-2001 |
Konrad Slind <konrad.slind@gmail.com> |
Vacuous fix.
|
#
e260f965 |
|
05-Jan-2001 |
Konrad Slind <konrad.slind@gmail.com> |
Minor changes to track changes in IndDefLib.
|
#
76c0f0f5 |
|
02-Jan-2001 |
Konrad Slind <konrad.slind@gmail.com> |
Changes to track changes in interface to IndDefLib.new_inductive_definition.
|
#
6798013a |
|
28-Dec-2000 |
Konrad Slind <konrad.slind@gmail.com> |
Updates to accomodate changes to IndDefLib.
|
#
9beb54a7 |
|
28-Nov-2000 |
Konrad Slind <konrad.slind@gmail.com> |
Theory of finite maps now builds in Kan.0.
|
#
0058df84 |
|
28-Jun-1999 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fixed to bring it up to date with Taupo release 0. (Changes have come across from parse_branch development.)
|
#
caf74236 |
|
29-Apr-1999 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Initial revision
|