Trying the proof
authorCezary Kaliszyk <kaliszyk@in.tum.de>
Tue, 05 Jan 2010 18:09:03 +0100
changeset 812 18b71981c1f0
parent 810 f73e2f5f17b2
child 813 77506496e6fd
Trying the proof
Quot/Examples/AbsRepTest.thy
--- a/Quot/Examples/AbsRepTest.thy	Tue Jan 05 17:06:51 2010 +0100
+++ b/Quot/Examples/AbsRepTest.thy	Tue Jan 05 18:09:03 2010 +0100
@@ -123,10 +123,24 @@
 apply (metis pred_comp.intros pred_compE ss symp_def)
 done
 
+lemma abs_o_rep:
+  assumes a: "Quotient r absf repf"
+  shows "absf o repf = id"
+  apply(rule ext)
+  apply(simp add: Quotient_abs_rep[OF a])
+done
+
 lemma bla:
   assumes a1: "Quotient (op \<approx>1) abs_fset rep_fset"
   and     a2:  "Quotient r2 abs2 rep2"
   shows  "Quotient ((list_rel r2) OO (op \<approx>1) OO (list_rel r2)) (abs_fset \<circ> (map abs2)) ((map rep2) \<circ> rep_fset)"
+  unfolding Quotient_def comp_def
+apply (rule)+
+apply (simp add: abs_o_rep[OF a2] id_simps Quotient_abs_rep[OF Quotient_fset])
+apply (rule)
+apply (rule)
+sledgehammer
+apply (metis Quotient_def a2 equivp_reflp fset_equivp list_quotient list_rel_rel pred_comp.cases pred_comp.intros rep_fset_def)
 using a1
 apply -
 sorry