TODO
author Christian Urban <urbanc@in.tum.de>
Sun, 16 May 2010 12:41:27 +0100
changeset 2142 c39d4fe31100
parent 2045 6800fcaafa2a
child 2383 83f1b16486ee
permissions -rw-r--r--
moved the exporting part into the parser (this is still a hack); re-added CoreHaskell again to the examples - there seems to be a problem with the variable name pat
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1555
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
     1
Automatically created functions:
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
     2
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
     3
  ty1_tyn.bn[simp]        lifted equations for bn funs
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
     4
  ty1_tyn.fv[simp]        lifted equations for fv funs
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
     5
  ty1_tyn.perm[simp]      lifted permutation equations
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
     6
  ty1_tyn.distinct[simp]  lifted distincts
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
     7
  ty1_tyn.eq_iff
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
     8
  ty1_tyn.induct
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
     9
  ty1_tyn.inducts
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
    10
  instance ty1 and tyn :: fs
1573
b39108f42638 fv_rsp proved automatically.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1561
diff changeset
    11
  ty1_tyn.supp            empty when for too many bindings
1555
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
    12
1987
72bed4519c86 Some of the exceptions that the parser should check in TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1808
diff 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: 1808
diff 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: 1808
diff 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: 1808
diff changeset
    16
- bound arguments are not datatypes
2045
6800fcaafa2a Separate Term8, as it may work soon.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1987
diff 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: 1808
diff changeset
    18
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    19
Smaller things:
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    20
1802
9a32e02cc95b added small ittems about equivaraince of alpha_gens and name of lam.perm
Christian Urban <urbanc@in.tum.de>
parents: 1794
diff 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: 1794
diff 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: 1794
diff changeset
    23
1510
be911e869fde Added fv,bn,distinct,perm to the simplifier.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1504
diff changeset
    24
- maybe <type>_perm whould be called permute_<type>.simps;
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    25
  that would conform with the terminology in Nominal2
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    26
1527
e1c74b864b1b added item about size functions
Christian Urban <urbanc@in.tum.de>
parents: 1516
diff 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: 1516
diff changeset
    28
  datatypes
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    29
1802
9a32e02cc95b added small ittems about equivaraince of alpha_gens and name of lam.perm
Christian Urban <urbanc@in.tum.de>
parents: 1794
diff 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: 1794
diff 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: 1794
diff changeset
    32
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    33
Bigger things:
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    34
1808
d7a2c45b447a added TODO item about parser creating syntax for the wrong type
Christian Urban <urbanc@in.tum.de>
parents: 1802
diff 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: 1802
diff 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: 1802
diff 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: 1678
diff 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: 1678
diff changeset
    39
be28f7b4b97b added an item about alpha-equivalence (the existential should be closer to the abstraction)
Christian Urban <urbanc@in.tum.de>
parents: 1678
diff 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: 1678
diff changeset
    41
be28f7b4b97b added an item about alpha-equivalence (the existential should be closer to the abstraction)
Christian Urban <urbanc@in.tum.de>
parents: 1678
diff 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: 1678
diff changeset
    43
be28f7b4b97b added an item about alpha-equivalence (the existential should be closer to the abstraction)
Christian Urban <urbanc@in.tum.de>
parents: 1678
diff 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: 1678
diff changeset
    45
be28f7b4b97b added an item about alpha-equivalence (the existential should be closer to the abstraction)
Christian Urban <urbanc@in.tum.de>
parents: 1678
diff 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: 1678
diff changeset
    47
be28f7b4b97b added an item about alpha-equivalence (the existential should be closer to the abstraction)
Christian Urban <urbanc@in.tum.de>
parents: 1678
diff 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: 1678
diff changeset
    49
be28f7b4b97b added an item about alpha-equivalence (the existential should be closer to the abstraction)
Christian Urban <urbanc@in.tum.de>
parents: 1678
diff 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: 1678
diff 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: 1678
diff 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: 1738
diff 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: 1738
diff 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: 1738
diff 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: 1738
diff changeset
    56
1794
d51aab59bfbf updated (comment about weirdo example)
Christian Urban <urbanc@in.tum.de>
parents: 1792
diff 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: 1738
diff changeset
    58
1794
d51aab59bfbf updated (comment about weirdo example)
Christian Urban <urbanc@in.tum.de>
parents: 1792
diff changeset
    59
- check whether weirdo example in TestMorePerm works
d51aab59bfbf updated (comment about weirdo example)
Christian Urban <urbanc@in.tum.de>
parents: 1792
diff 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: 1738
diff changeset
    61
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    62
- nested recursion, like types "trm list" in a constructor
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    63
1649
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    64
- define permute_bn automatically and prove properties of it
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    65
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    66
- prove renaming-of-binders lemmas
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    67
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    68
- strong induction rules
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    69
1561
c3dca6e600c8 Use 'alpha_bn_refl' to get rid of one of the sorrys.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1555
diff changeset
    70
- check support equations for more bindings per constructor
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    71
1649
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    72
- For binding functions that call other binding functions
1654
b4e330083383 Update cheats in TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1649
diff changeset
    73
  the following are proved with cheat_tac: constr_rsp
1503
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    74
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    75
- store information about defined nominal datatypes, so that
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    76
  it can be used to define new types that depend on these
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    77
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    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: 1561
diff changeset
    79
b39108f42638 fv_rsp proved automatically.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1561
diff changeset
    80
Less important:
b39108f42638 fv_rsp proved automatically.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1561
diff changeset
    81
b39108f42638 fv_rsp proved automatically.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1561
diff changeset
    82
- fv_rsp uses 'blast' to show goals of the type:
b39108f42638 fv_rsp proved automatically.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1561
diff 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: 1654
diff changeset
    84
23f81992da8f Parsing of list-bn functions into components.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1654
diff changeset
    85
When cleaning:
23f81992da8f Parsing of list-bn functions into components.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1654
diff changeset
    86
1987
72bed4519c86 Some of the exceptions that the parser should check in TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1808
diff changeset
    87
- remove all 'PolyML.makestring'.