diff -r d29a8a6f3138 -r d19bfc6e7631 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 ("_ \\ _" [1, 1] 30) and implies (infix "\" 100) and "==>" (infix "\" 100) and - fun_map ("_ \ _" 51) and + map_fun ("_ \ _" 51) and fun_rel ("_ \ _" 51) and list_eq (infix "\" 50) and (* Not sure if we want this notation...? *) empty_fset ("\") 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: "\list_all2 list_eq a ba; list_eq ba bb; list_all2 list_eq bb b\ \ 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