# HG changeset patch # User Christian Urban # Date 1279465594 -3600 # Node ID d7dfe272b4f84db2dc3122ad06dd9313a2131fff # Parent 34af7f2ca490efa033b580308d5959651cec77d0 some test with quotient diff -r 34af7f2ca490 -r d7dfe272b4f8 Nominal/FSet.thy --- a/Nominal/FSet.thy Sat Jul 17 15:44:24 2010 +0100 +++ b/Nominal/FSet.thy Sun Jul 18 16:06:34 2010 +0100 @@ -103,6 +103,22 @@ unfolding list_eq.simps by (simp only: set_map set_in_eq) +text {* Peter *} +ML {* Quotient_Info.quotient_rules_get @{context} *} + +lemma + assumes "Quotient R1 abs1 rep1" + and "Quotient R2 abs2 rep2" + shows "Quotient (R1 OOO R2) (abs1 o ab2) (rep1 o rep2)" +using assms +sorry + +lemma + assumes "Quotient R1 abs1 rep1" + and "Quotient R2 abs2 rep2" + shows "Quotient (R3) (abs1 o ab2) (rep1 o rep2)" +using assms +sorry lemma quotient_compose_list[quot_thm]: shows "Quotient ((list_all2 op \) OOO (op \)) @@ -164,7 +180,7 @@ lemma append_rsp[quot_respect]: shows "(op \ ===> op \ ===> op \) op @ op @" apply(simp del: list_eq.simps) - by auto + by auto lemma append_rsp_unfolded: "\x \ y; v \ w\ \ x @ v \ y @ w" @@ -605,8 +621,6 @@ is "concat" -thm fconcat_def - quotient_definition "ffilter :: ('a \ bool) \ 'a fset \ 'a fset" is @@ -1305,6 +1319,17 @@ shows "fconcat {||} = {||}" by (lifting concat.simps(1)) +text {* Peter *} +lemma test: "equivp R ==> a = b --> R a b" +by (simp add: equivp_def) + +lemma + shows "fconcat {||} = {||}" +apply(lifting_setup concat.simps(1)) +apply(rule test) +apply(tactic {* resolve_tac (Quotient_Info.equiv_rules_get @{context}) 1 *}) +sorry + lemma fconcat_insert: shows "fconcat (finsert x S) = x |\| fconcat S" by (lifting concat.simps(2)) diff -r 34af7f2ca490 -r d7dfe272b4f8 Quotient-Paper/ROOT.ML --- a/Quotient-Paper/ROOT.ML Sat Jul 17 15:44:24 2010 +0100 +++ b/Quotient-Paper/ROOT.ML Sun Jul 18 16:06:34 2010 +0100 @@ -1,3 +1,4 @@ +quick_and_dirty := true; no_document use_thys ["Quotient", "LaTeXsugar", "../Nominal/FSet" ];