# HG changeset patch # User Christian Urban # Date 1260547432 -3600 # Node ID 7b74d77a61aaeae98b6ca0112c1763f517acf218 # Parent 337dd914e1cb6b2735dc206feb4b7f608461d5aa# Parent 1e08743b6997a8d32a5e1e168848cb4e8c94ca00 merged diff -r 337dd914e1cb -r 7b74d77a61aa FIXME-TODO --- a/FIXME-TODO Fri Dec 11 17:03:34 2009 +0100 +++ b/FIXME-TODO Fri Dec 11 17:03:52 2009 +0100 @@ -20,15 +20,14 @@ Lower Priority ============== +- accept partial equvalence relations + - 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 diff -r 337dd914e1cb -r 7b74d77a61aa Quot/Examples/FSet3.thy --- a/Quot/Examples/FSet3.thy Fri Dec 11 17:03:34 2009 +0100 +++ b/Quot/Examples/FSet3.thy Fri Dec 11 17:03:52 2009 +0100 @@ -22,7 +22,7 @@ quotient fset = "'a list" / "list_eq" by (rule list_eq_equivp) -lemma not_nil_equiv_cons: "[] \ a # A" sorry +lemma not_nil_equiv_cons: "\[] \ a # A" sorry (* The 2 lemmas below are different from the ones in QuotList *) lemma nil_rsp[quot_respect]: @@ -276,4 +276,20 @@ lemma "funion (funion x xa) xb = funion x (funion xa xb)" by (lifting append_assoc) +quotient_def + "fset_case :: 'a \ ('b \ 'b fset \ 'a) \ 'b fset \ 'a" +as + "list_case" + +(* NOT SURE IF TRUE *) +lemma list_case_rsp[quot_respect]: + "(op = ===> (op = ===> op \ ===> op =) ===> op \ ===> op =) list_case list_case" + apply (auto) + sorry + +lemma "fset_case (f1::'t) f2 (Insert a xa) = f2 a xa" +apply (lifting list.cases(2)) +done + + end