(* Title: HOL/Library/Quotient_List.thy Author: Cezary Kaliszyk and Christian Urban
*)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
theory importsQuotient_Product begin: "reflp"
subsection \<open>Rules for the Quotient package\<close>
lemma map_id [id_simps]: "map id = id" by (fact List.map.id)
lemma list_all2_eq [id_simps]: "ist_all2(= (=" proof (rule ext)+ fix xs ys showfromassms *:"xs. R xs xs" by (rule reflpE) byfixxs "list_all2Rxsxs" qed
lemma y( xs)( add *java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 assumes Rjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 shows ) proof (rule assms* "Andxs ys. Rxsys\java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85 fromshowlist_all2 fix show" by (induct xs) (simp_all add qed
lemmalist_symp:
a "transp R" "transp ( R)" proofrulesympI rule)
assms* java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85 fix xs ys assume"list_all2 R xs ys" thenshowfromassmshave *:"\xs ys zs. R xs ys \ R ys zs \ R xs zs" by (rule transpE) by (induct fix ys zs qed
lemma list_transp: assumes"transp R" shows"transp (list_all2 R)" proofthen"list_all2 xs zs" from assms : " R ys zs \ R xs zs" by (rule transpE) fix xs ys zs assume"list_all2 Rjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
( arbitrary(auto: list_all2_Cons1: *) qed
lemma list_equivplemma [quot_thm " R Longrightarrow> equivp (list_all2 R)" by (blast intro: equivpI reflp_list_all2 list_symp "Quotient3( R) (mapAbs ( Rep)"
lemma list_quotient3 [quot_thm show"\xs. map Abs (map Rep xs) = xs" by (simp add: comp_def) assumes"Quotient3 R Abs Rep" shows list_all2 ) ) proofshow
assms then java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
xs: ') auto
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 next fix xs fromhave\And x\<and> R y y \<and> Abs x = Abs y \<longleftrightarrow> R x y" by (rule Quotient3_rel)
list_all2 ysjava.lang.StringIndexOutOfBoundsException: Index 127 out of bounds for length 127 by (induct xs ysby( add fun_eq_iff Quotient3_abs_rep q] qed q: Quotient3"
declare [[mapQ3 list "( == list_all2 => list_all2 R) (#)(#"
lemma cons_rsp u q " R AbsRepjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
:Quotient3 " shows"(R ===> "(map) (map(abs1rep2 f)m rep1map" by auto
lemma nil_prs( l
add[ a][OF shows]=java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
lemma map_prs_aux: assumes a: "Quotient3 R1 abs1 rep1" and list_all2_eq] ( list)+
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 by java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
simp_allQuotient3_abs_rep a][OF
lemma map_prsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 assumes a: b Quotient3 and R2 rep2
( add) "(abs1->id)-- --->id = mapjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
simp_all map_prs_aux ]comp_def
(simp_all :Quotient3shows(->-> rep1) fel
lemma: assumes rep1 andshows= => = =>R2 java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78 shows--- - )map "
l) addOF[OF)
lemma foldr_prs foldr_transfer
a:Quotient3 and:java.lang.StringIndexOutOfBoundsException: Index 106 out of bounds for length 106 shows-)- )-> java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
simp by (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lemma foldl_prs_aux list
a: " R1 rep1" andassumes java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 shows : fun_eq_iffclarify( xarule') byinducte simp_all: [OF[ b])
lemma foldl_rsp l : list_induct2 Quotient3_rel_rep[OF a]) assumes q1: "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 and"<>.( \ set b \ R x y)" shows"((R1 = b induct auto
nsferassumes
"list_all2 " by x)auto:a and shows"((R1 ===> R2 ===> R2) ===> list_all2 R1 ===> R2 ===> R2) foldr foldr" by (rule foldr_transfer)
lemma list_all2_rsp: assumes r: "\x y. R x y \ (\a b. R a b \ S x a = T y b)" and l1: "list_all2 R x y" and l2: "list_all2 R a b" shows"list_all2 S x a = list_all2 T y b" using l1 l2 by (induct arbitrary: a b rule: list_all2_induct,
auto simp: list_all2_Cons1 list_all2_Cons2 r)
lemma [quot_respect]: "((R ===> R ===> (=)) ===> list_all2 R ===> list_all2 R ===> (=)) list_all2 list_all2" by (rule list.rel_transfer)
lemma [quot_preserve]: assumes a: "Quotient3 R abs1 rep1" shows"(list_all2 ((rep1 ---> rep1 ---> id) R) l m) = (l = m)" by (induct l m rule: list_induct2') (simp_all add: Quotient3_rel_rep[OF a])
lemma list_all2_find_element: assumes a: "x \ set a" and b: "list_all2 R a b" shows"\y. (y \ set b \ R x y)" using b a by induct auto
lemma list_all2_refl: assumes a: "\x y. R x y = (R x = R y)" shows"list_all2 R x x" by (induct x) (auto simp add: a)
end
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.5Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.