| author | Cezary Kaliszyk <kaliszyk@in.tum.de> | 
| Thu, 06 May 2010 14:13:45 +0200 | |
| changeset 2075 | c1edd05f207f | 
| parent 2045 | 6800fcaafa2a | 
| child 2383 | 83f1b16486ee | 
| permissions | -rw-r--r-- | 
| 1555 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 1 | Automatically created functions: | 
| 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 2 | |
| 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 3 | ty1_tyn.bn[simp] lifted equations for bn funs | 
| 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 4 | ty1_tyn.fv[simp] lifted equations for fv funs | 
| 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 5 | ty1_tyn.perm[simp] lifted permutation equations | 
| 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 6 | ty1_tyn.distinct[simp] lifted distincts | 
| 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 7 | ty1_tyn.eq_iff | 
| 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 8 | ty1_tyn.induct | 
| 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 9 | ty1_tyn.inducts | 
| 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 10 | instance ty1 and tyn :: fs | 
| 1573 
b39108f42638
fv_rsp proved automatically.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1561diff
changeset | 11 | ty1_tyn.supp empty when for too many bindings | 
| 1555 
73992021c8f0
Described automatically created funs.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1527diff
changeset | 12 | |
| 1987 
72bed4519c86
Some of the exceptions that the parser should check in TODO.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1808diff
changeset | 13 | Parser should check that: | 
| 
72bed4519c86
Some of the exceptions that the parser should check in TODO.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1808diff
changeset | 14 | - types of bindings match types of binding functions | 
| 
72bed4519c86
Some of the exceptions that the parser should check in TODO.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1808diff
changeset | 15 | - fsets are not bound in lst bindings | 
| 
72bed4519c86
Some of the exceptions that the parser should check in TODO.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1808diff
changeset | 16 | - bound arguments are not datatypes | 
| 2045 
6800fcaafa2a
Separate Term8, as it may work soon.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1987diff
changeset | 17 | - binder is referred to by name and not by type | 
| 1987 
72bed4519c86
Some of the exceptions that the parser should check in TODO.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1808diff
changeset | 18 | |
| 1501 | 19 | Smaller things: | 
| 20 | ||
| 1802 
9a32e02cc95b
added small ittems about equivaraince of alpha_gens and name of lam.perm
 Christian Urban <urbanc@in.tum.de> parents: 
1794diff
changeset | 21 | - lam.perm should be called permute_lam.simps (that is | 
| 
9a32e02cc95b
added small ittems about equivaraince of alpha_gens and name of lam.perm
 Christian Urban <urbanc@in.tum.de> parents: 
1794diff
changeset | 22 | the convention from Nominal2) | 
| 
9a32e02cc95b
added small ittems about equivaraince of alpha_gens and name of lam.perm
 Christian Urban <urbanc@in.tum.de> parents: 
1794diff
changeset | 23 | |
| 1510 
be911e869fde
Added fv,bn,distinct,perm to the simplifier.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1504diff
changeset | 24 | - maybe <type>_perm whould be called permute_<type>.simps; | 
| 1501 | 25 | that would conform with the terminology in Nominal2 | 
| 26 | ||
| 1527 
e1c74b864b1b
added item about size functions
 Christian Urban <urbanc@in.tum.de> parents: 
1516diff
changeset | 27 | - we also need to lift the size function for nominal | 
| 
e1c74b864b1b
added item about size functions
 Christian Urban <urbanc@in.tum.de> parents: 
1516diff
changeset | 28 | datatypes | 
| 1501 | 29 | |
| 1802 
9a32e02cc95b
added small ittems about equivaraince of alpha_gens and name of lam.perm
 Christian Urban <urbanc@in.tum.de> parents: 
1794diff
changeset | 30 | - Abs.thy contains lemmas for equivariance of the alphas; | 
| 
9a32e02cc95b
added small ittems about equivaraince of alpha_gens and name of lam.perm
 Christian Urban <urbanc@in.tum.de> parents: 
1794diff
changeset | 31 | they are not yet used anywhere | 
| 
9a32e02cc95b
added small ittems about equivaraince of alpha_gens and name of lam.perm
 Christian Urban <urbanc@in.tum.de> parents: 
1794diff
changeset | 32 | |
| 1501 | 33 | Bigger things: | 
| 34 | ||
| 1808 
d7a2c45b447a
added TODO item about parser creating syntax for the wrong type
 Christian Urban <urbanc@in.tum.de> parents: 
1802diff
changeset | 35 | - Parser adds syntax for raw datatype, but should | 
| 
d7a2c45b447a
added TODO item about parser creating syntax for the wrong type
 Christian Urban <urbanc@in.tum.de> parents: 
1802diff
changeset | 36 | add for lifted datatype. | 
| 
d7a2c45b447a
added TODO item about parser creating syntax for the wrong type
 Christian Urban <urbanc@in.tum.de> parents: 
1802diff
changeset | 37 | |
| 1738 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 38 | - the alpha equivalence for | 
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 39 | |
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 40 | Let as::assn t::trm bind "bn as" in t | 
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 41 | |
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 42 | creates as premise | 
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 43 | |
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 44 | EX pi. as ~~bn as' /\ (bn as, t) ~~lst (bn as', t') | 
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 45 | |
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 46 | but I think it should be | 
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 47 | |
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 48 | as ~~bn as' /\ EX pi. (bn as, t) ~~lst (bn as', t') | 
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 49 | |
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 50 | (both are equivalent, but the second seems to be closer to | 
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 51 | the fv-function) | 
| 
be28f7b4b97b
added an item about alpha-equivalence (the existential should be closer to the abstraction)
 Christian Urban <urbanc@in.tum.de> parents: 
1678diff
changeset | 52 | |
| 1792 
c29a139410d2
properly separated the example from my PhD and gave the correct alpha-equivalence relation (according to the paper)
 Christian Urban <urbanc@in.tum.de> parents: 
1738diff
changeset | 53 | - when there are more than one shallow binder, then alpha | 
| 
c29a139410d2
properly separated the example from my PhD and gave the correct alpha-equivalence relation (according to the paper)
 Christian Urban <urbanc@in.tum.de> parents: 
1738diff
changeset | 54 | equivalence creates more than one permutation. According | 
| 
c29a139410d2
properly separated the example from my PhD and gave the correct alpha-equivalence relation (according to the paper)
 Christian Urban <urbanc@in.tum.de> parents: 
1738diff
changeset | 55 | to the paper, this is incorrect. | 
| 
c29a139410d2
properly separated the example from my PhD and gave the correct alpha-equivalence relation (according to the paper)
 Christian Urban <urbanc@in.tum.de> parents: 
1738diff
changeset | 56 | |
| 1794 
d51aab59bfbf
updated (comment about weirdo example)
 Christian Urban <urbanc@in.tum.de> parents: 
1792diff
changeset | 57 | Example in Classical.thy. | 
| 1792 
c29a139410d2
properly separated the example from my PhD and gave the correct alpha-equivalence relation (according to the paper)
 Christian Urban <urbanc@in.tum.de> parents: 
1738diff
changeset | 58 | |
| 1794 
d51aab59bfbf
updated (comment about weirdo example)
 Christian Urban <urbanc@in.tum.de> parents: 
1792diff
changeset | 59 | - check whether weirdo example in TestMorePerm works | 
| 
d51aab59bfbf
updated (comment about weirdo example)
 Christian Urban <urbanc@in.tum.de> parents: 
1792diff
changeset | 60 | with shallow binders | 
| 1792 
c29a139410d2
properly separated the example from my PhD and gave the correct alpha-equivalence relation (according to the paper)
 Christian Urban <urbanc@in.tum.de> parents: 
1738diff
changeset | 61 | |
| 1501 | 62 | - nested recursion, like types "trm list" in a constructor | 
| 63 | ||
| 1649 | 64 | - define permute_bn automatically and prove properties of it | 
| 65 | ||
| 66 | - prove renaming-of-binders lemmas | |
| 67 | ||
| 1501 | 68 | - strong induction rules | 
| 69 | ||
| 1561 
c3dca6e600c8
Use 'alpha_bn_refl' to get rid of one of the sorrys.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1555diff
changeset | 70 | - check support equations for more bindings per constructor | 
| 1501 | 71 | |
| 1649 | 72 | - For binding functions that call other binding functions | 
| 1654 
b4e330083383
Update cheats in TODO.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1649diff
changeset | 73 | the following are proved with cheat_tac: constr_rsp | 
| 1503 | 74 | |
| 75 | - store information about defined nominal datatypes, so that | |
| 76 | it can be used to define new types that depend on these | |
| 77 | ||
| 78 | - make parser aware of recursive and of different versions of abs | |
| 1573 
b39108f42638
fv_rsp proved automatically.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1561diff
changeset | 79 | |
| 
b39108f42638
fv_rsp proved automatically.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1561diff
changeset | 80 | Less important: | 
| 
b39108f42638
fv_rsp proved automatically.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1561diff
changeset | 81 | |
| 
b39108f42638
fv_rsp proved automatically.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1561diff
changeset | 82 | - fv_rsp uses 'blast' to show goals of the type: | 
| 
b39108f42638
fv_rsp proved automatically.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1561diff
changeset | 83 | a u b = c u d ==> a u x u b = c u x u d | 
| 1678 
23f81992da8f
Parsing of list-bn functions into components.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1654diff
changeset | 84 | |
| 
23f81992da8f
Parsing of list-bn functions into components.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1654diff
changeset | 85 | When cleaning: | 
| 
23f81992da8f
Parsing of list-bn functions into components.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1654diff
changeset | 86 | |
| 1987 
72bed4519c86
Some of the exceptions that the parser should check in TODO.
 Cezary Kaliszyk <kaliszyk@in.tum.de> parents: 
1808diff
changeset | 87 | - remove all 'PolyML.makestring'. |