TODO
author Christian Urban <urbanc@in.tum.de>
Thu, 08 Apr 2010 11:40:13 +0200
changeset 1792 c29a139410d2
parent 1738 be28f7b4b97b
child 1794 d51aab59bfbf
permissions -rw-r--r--
properly separated the example from my PhD and gave the correct alpha-equivalence relation (according to the paper)
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
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    13
Smaller things:
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
1510
be911e869fde Added fv,bn,distinct,perm to the simplifier.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1504
diff changeset
    15
- maybe <type>_perm whould be called permute_<type>.simps;
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    16
  that would conform with the terminology in Nominal2
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    17
1527
e1c74b864b1b added item about size functions
Christian Urban <urbanc@in.tum.de>
parents: 1516
diff changeset
    18
- 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
    19
  datatypes
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    20
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    21
Bigger things:
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    22
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
    23
- 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
    24
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
    25
   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
    26
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
    27
  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
    28
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
    29
    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
    30
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
    31
  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
    32
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
    33
    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
    34
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
    35
  (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
    36
   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
    37
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
    38
- 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
    39
  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
    40
  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
    41
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
    42
  Example in TestMorePerm.
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
    43
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
    44
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    45
- nested recursion, like types "trm list" in a constructor
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    46
1649
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    47
- define permute_bn automatically and prove properties of it
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    48
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    49
- prove renaming-of-binders lemmas
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    50
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    51
- strong induction rules
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    52
1561
c3dca6e600c8 Use 'alpha_bn_refl' to get rid of one of the sorrys.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1555
diff changeset
    53
- check support equations for more bindings per constructor
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    54
1649
ba837d3ed37f Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1576
diff changeset
    55
- For binding functions that call other binding functions
1654
b4e330083383 Update cheats in TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1649
diff changeset
    56
  the following are proved with cheat_tac: constr_rsp
1503
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    57
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    58
- store information about defined nominal datatypes, so that
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    59
  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
    60
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    61
- 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
    62
b39108f42638 fv_rsp proved automatically.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1561
diff changeset
    63
Less important:
b39108f42638 fv_rsp proved automatically.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1561
diff changeset
    64
b39108f42638 fv_rsp proved automatically.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1561
diff changeset
    65
- 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
    66
  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
    67
23f81992da8f Parsing of list-bn functions into components.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1654
diff changeset
    68
When cleaning:
23f81992da8f Parsing of list-bn functions into components.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1654
diff changeset
    69
23f81992da8f Parsing of list-bn functions into components.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1654
diff changeset
    70
- remove all 'PolyML.makestring'.