updated Quotient paper so that it compiles again
authorChristian Urban <urbanc@in.tum.de>
Mon, 02 May 2011 13:01:02 +0800
changeset 2774 d19bfc6e7631
parent 2773 d29a8a6f3138
child 2775 5f3387b7474f
updated Quotient paper so that it compiles again
Quotient-Paper/Paper.thy
--- a/Quotient-Paper/Paper.thy	Thu Apr 28 11:51:01 2011 +0800
+++ b/Quotient-Paper/Paper.thy	Mon May 02 13:01:02 2011 +0800
@@ -1,6 +1,7 @@
 (*<*)
 theory Paper
-imports "Quotient" "Quotient_Syntax"
+imports "Quotient" 
+        "~~/src/HOL/Library/Quotient_Syntax"
         "~~/src/HOL/Library/LaTeXsugar"
         "~~/src/HOL/Quotient_Examples/FSet"
 begin
@@ -25,7 +26,7 @@
   pred_comp ("_ \<circ>\<circ> _" [1, 1] 30) and
   implies (infix "\<longrightarrow>" 100) and
   "==>" (infix "\<Longrightarrow>" 100) and
-  fun_map ("_ \<singlearr> _" 51) and
+  map_fun ("_ \<singlearr> _" 51) and
   fun_rel ("_ \<doublearr> _" 51) and
   list_eq (infix "\<approx>" 50) and (* Not sure if we want this notation...? *)
   empty_fset ("\<emptyset>") and
@@ -62,6 +63,15 @@
          (id ---> rep_fset ---> abs_fset) op #"
   by (simp add: fun_eq_iff abs_o_rep[OF Quotient_fset] map_id Quotient_abs_rep[OF Quotient_fset])
 
+lemma list_all2_symp:
+  assumes a: "equivp R"
+  and b: "list_all2 R xs ys"
+  shows "list_all2 R ys xs"
+using list_all2_lengthD[OF b] b
+apply(induct xs ys rule: list_induct2)
+apply(auto intro: equivp_symp[OF a])
+done
+
 lemma concat_rsp_unfolded:
   "\<lbrakk>list_all2 list_eq a ba; list_eq ba bb; list_all2 list_eq bb b\<rbrakk> \<Longrightarrow> list_eq (concat a) (concat b)"
 proof -
@@ -364,7 +374,7 @@
   also the following map for function types
 
   \begin{isabelle}\ \ \ \ \ %%%
-  @{thm fun_map_def[no_vars, THEN eq_reflection]}
+  @{thm map_fun_def[no_vars, THEN eq_reflection]}
   \end{isabelle}
 
   \noindent