Highest Priority================- better lookup mechanism for quotient definition (see fixme in quotient_term.ML)- check needs to be fixed in mk_resp_arg (quotient_term.ML), see test for (_, Const _)- clever code in quotiet_tacs.ML needs to be turned into boring code- comment about regularize tactic eeds to be adapted- Check all the places where we do "handle _" (They make code changes very difficult: I sat 1/2 a day over simplification of calculate_inst before I understood things; the reason was that my exceptions where caught by the catch all. There is no problem with throwing and handling exceptions...it just must be clear who throws what ad what is thrown.)Higher Priority===============- if the constant definition gives the wrong definition term, one gets a cryptic message about absrep_fun- have FSet.thy to have a simple infrastructure for finite sets (syntax should be \<lbrace> \<rbrace>, look at Set.thy how syntax is been introduced)- Handle theorems that include Ball/Bex. Would it help if we introduced separate Bex and Ball constants for quotienting?- user should be able to give quotient_respects and preserves theorems in a more natural form.Lower Priority==============- Maybe a quotient_definition should already require a proof of the respectfulness (in this way one already excludes non-sensical definitions)- accept partial equivalence relations- think about what happens if things go wrong (like theorem cannot be lifted) / proper diagnostic messages for the user- inductions from the datatype package have a strange order of quantifiers in assumptions.- wrapper that translates an an original theorem given a list of quotient_types as an attribute- find clean ways how to write down the "mathematical" procedure for a possible submission (Peter submitted his work only to TPHOLs 2005...we would have to go maybe for the Journal of Formalised Mathematics)- use lower-case letters where appropriate in order to make Markus happy- add tests for adding theorems to the various thm lists- We shouldn't use the command 'quotient' as this shadows Larry's quotient. Call it 'quotient_type'- Maybe quotient and equiv theorems like the ones for [QuotList, QuotOption, QuotPair...] could be automatically proven?- Examples: Finite multiset.- The current syntax of the quotient_definition is "qconst :: qty" as "rconst" Is it possible to have the more Isabelle-like syntax qconst :: "qty" as "rconst" That means "qconst :: qty" is not read as a term, but as two entities.