FIXME-TODO
author Christian Urban <urbanc@in.tum.de>
Thu, 14 Jan 2010 17:13:11 +0100
changeset 878 c3662f845129
parent 866 f537d570fff8
child 912 aa960d16570f
permissions -rw-r--r--
setup for strong induction
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
778
54f186bb5e3e added "Highest Priority" category; and tuned slightly code
Christian Urban <urbanc@in.tum.de>
parents: 768
diff changeset
     1
Highest Priority
54f186bb5e3e added "Highest Priority" category; and tuned slightly code
Christian Urban <urbanc@in.tum.de>
parents: 768
diff changeset
     2
================
54f186bb5e3e added "Highest Priority" category; and tuned slightly code
Christian Urban <urbanc@in.tum.de>
parents: 768
diff changeset
     3
54f186bb5e3e added "Highest Priority" category; and tuned slightly code
Christian Urban <urbanc@in.tum.de>
parents: 768
diff changeset
     4
- better lookup mechanism for quotient definition
54f186bb5e3e added "Highest Priority" category; and tuned slightly code
Christian Urban <urbanc@in.tum.de>
parents: 768
diff changeset
     5
  (see fixme in quotient_term.ML)
54f186bb5e3e added "Highest Priority" category; and tuned slightly code
Christian Urban <urbanc@in.tum.de>
parents: 768
diff changeset
     6
503
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
Higher Priority
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
===============
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
794
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    10
- If the user defines twice the same quotient constant,
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    11
  for example funion, then the line 
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    12
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    13
    val Free (lhs_str, lhs_ty) = lhs
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    14
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    15
  in quotient_def raises a bind exception.
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    16
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    17
- If the constant definition gives the wrong definition
778
54f186bb5e3e added "Highest Priority" category; and tuned slightly code
Christian Urban <urbanc@in.tum.de>
parents: 768
diff changeset
    18
  term, one gets a cryptic message about absrep_fun
503
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    19
794
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    20
- Handle theorems that include Ball/Bex. For this, would 
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    21
  it help if we introduced separate Bex and Ball constants 
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    22
  for quotienting?
512
8c7597b19f0e First version of the deterministic rep-abs-inj-tac.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 503
diff changeset
    23
794
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    24
- The user should be able to give quotient_respects and 
760
c1989de100b4 various tunings; map_lookup now raises an exception; addition to FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 753
diff changeset
    25
  preserves theorems in a more natural form.
503
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    26
778
54f186bb5e3e added "Highest Priority" category; and tuned slightly code
Christian Urban <urbanc@in.tum.de>
parents: 768
diff changeset
    27
503
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
Lower Priority
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    29
==============
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    30
778
54f186bb5e3e added "Highest Priority" category; and tuned slightly code
Christian Urban <urbanc@in.tum.de>
parents: 768
diff changeset
    31
- accept partial equivalence relations
716
1e08743b6997 FSet3 minor fixes + cases
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 713
diff changeset
    32
768
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    33
- think about what happens if things go wrong (like
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    34
  theorem cannot be lifted) / proper diagnostic 
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    35
  messages for the user
760
c1989de100b4 various tunings; map_lookup now raises an exception; addition to FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 753
diff changeset
    36
713
54cb69112477 Updated TODO list together.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 700
diff changeset
    37
- inductions from the datatype package have a strange
54cb69112477 Updated TODO list together.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 700
diff changeset
    38
  order of quantifiers in assumptions.
54cb69112477 Updated TODO list together.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 700
diff changeset
    39
794
f0a78fda343f added an item about when the same quotient constant is defined twice (throws a bind exception in quoteint_def.ML)
Christian Urban <urbanc@in.tum.de>
parents: 778
diff changeset
    40
- wrapper for lifting ... to be used as an attribute
713
54cb69112477 Updated TODO list together.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 700
diff changeset
    41
503
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    42
- find clean ways how to write down the "mathematical"
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    43
  procedure for a possible submission (Peter submitted 
d2c9a72e52e0 first version of internalised quotient theorems; added FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    44
  his work only to TPHOLs 2005...we would have to go
506
91c374abde06 removed quot argument...not all examples work anymore
Christian Urban <urbanc@in.tum.de>
parents: 503
diff changeset
    45
  maybe for the Journal of Formalised Mathematics)
91c374abde06 removed quot argument...not all examples work anymore
Christian Urban <urbanc@in.tum.de>
parents: 503
diff changeset
    46
515
b00a9b58264d Fixes after big merge.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 514
diff changeset
    47
- add tests for adding theorems to the various thm lists
b00a9b58264d Fixes after big merge.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 514
diff changeset
    48
746
5ef8be0175f6 FIXME/TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 716
diff changeset
    49
- Maybe quotient and equiv theorems like the ones for
5ef8be0175f6 FIXME/TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 716
diff changeset
    50
  [QuotList, QuotOption, QuotPair...] could be automatically
5ef8be0175f6 FIXME/TODO.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 716
diff changeset
    51
  proven?
753
544b05e03ec0 Removed lambdas on the right hand side. This fixes all 'PROBLEM' comments.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 746
diff changeset
    52
768
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    53
- Examples: Finite multiset.
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    54
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    55
- The current syntax of the quotient_definition is
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    56
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    57
      "qconst :: qty"
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    58
      as "rconst"
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    59
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    60
  Is it possible to have the more Isabelle-like
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    61
  syntax
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    62
   
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    63
      qconst :: "qty"
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    64
      as "rconst"
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    65
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    66
  That means "qconst :: qty" is not read as a term, but
e9e205b904e2 get_fun needed change to cope with "('a fset) fset" types...this needs composition (op o); now id_simps contains also id_o and o_id, and map_id is also added in QuotList.thy; regularize and cleaning needed to be hacked (indicated by "HACK")...THIS NEEDS ATTENTION!!!; except two lemmas in IntEx, all examples go through; added considerable material to FSet3; tuned FIXME-TODO
Christian Urban <urbanc@in.tum.de>
parents: 760
diff changeset
    67
  as two entities.