TODO
author Christian Urban <urbanc@in.tum.de>
Fri, 08 Jul 2011 05:04:23 +0200
changeset 2959 9bd97ed202f7
parent 2876 99583bd6a7b2
permissions -rw-r--r--
some code refactoring
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2719
dd5b60bccfd4 updated TODO
Christian Urban <urbanc@in.tum.de>
parents: 2452
diff changeset
     1
Function definitions
dd5b60bccfd4 updated TODO
Christian Urban <urbanc@in.tum.de>
parents: 2452
diff changeset
     2
2873
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
     3
- nominal_datatype should export proofs about alpha_bn: reflexivity, induction, ...?
2719
dd5b60bccfd4 updated TODO
Christian Urban <urbanc@in.tum.de>
parents: 2452
diff changeset
     4
2873
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
     5
- nominal_datatype should declare xxx.fv_bn_eqvt as [eqvt]
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
     6
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
     7
- equations that talk about True/False, for example
2783
Christian Urban <urbanc@in.tum.de>
parents: 2719
diff changeset
     8
    | "simp p (App t1 t2) = (if True then (App (simp p t1) (simp p t2)) else t1)"
2873
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
     9
  do not work (since 'function' does not work)
2783
Christian Urban <urbanc@in.tum.de>
parents: 2719
diff changeset
    10
2873
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    11
- equivariance for functions can be derived automatically (knowing termination and
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    12
  equivariance of the graph).
1555
73992021c8f0 Described automatically created funs.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1527
diff changeset
    13
2873
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    14
- for multiple simultanously defined functions, compatibility cases should fold the
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    15
  definition and derive eqvt_at for the folded one
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    16
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    17
- equivariance of the graph for multiple functions does not use equivariance
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    18
  infrastructure
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    19
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    20
Nominal_Datatype Parser should check that:
2452
39f8d405d7a2 updated todos
Christian Urban <urbanc@in.tum.de>
parents: 2383
diff changeset
    21
1987
72bed4519c86 Some of the exceptions that the parser should check in TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1808
diff changeset
    22
- 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
    23
- 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
    24
- bound arguments are not datatypes
2045
6800fcaafa2a Separate Term8, as it may work soon.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1987
diff changeset
    25
- 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
    26
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    27
Smaller things:
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
2873
fac8b28f2a23 Update TODO
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2783
diff changeset
    29
- maybe <t1_t2>.perm_simps should be called permute_<type>.simps;
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    30
  that would conform with the terminology in Nominal2
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    31
2874
1628e47fa57c More minor TODOs
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2873
diff changeset
    32
- nominal_induct does not work without an induction rule
1628e47fa57c More minor TODOs
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2873
diff changeset
    33
1628e47fa57c More minor TODOs
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2873
diff changeset
    34
- nominal_induct throws strange "THM" exceptions if not enough
1628e47fa57c More minor TODOs
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2873
diff changeset
    35
  variables are given
1628e47fa57c More minor TODOs
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2873
diff changeset
    36
1628e47fa57c More minor TODOs
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2873
diff changeset
    37
- nominal_induct cannot avoid a term (for example function applied
1628e47fa57c More minor TODOs
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2873
diff changeset
    38
  to an argument).
1501
7e7dc267ae6b added TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    39
2876
99583bd6a7b2 TODO/minor
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2874
diff changeset
    40
- .induct and .exhaust could be the default methods for induction/cases
99583bd6a7b2 TODO/minor
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2874
diff changeset
    41
  on nominal datatypes
99583bd6a7b2 TODO/minor
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 2874
diff changeset
    42
2452
39f8d405d7a2 updated todos
Christian Urban <urbanc@in.tum.de>
parents: 2383
diff changeset
    43
Other:
1808
d7a2c45b447a added TODO item about parser creating syntax for the wrong type
Christian Urban <urbanc@in.tum.de>
parents: 1802
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
1503
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    47
- store information about defined nominal datatypes, so that
8639077e0f43 Update TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 1502
diff changeset
    48
  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
    49