# HG changeset patch # User huffman # Date 1292092540 28800 # Node ID 32099ee71a2fcd44402ac82736b036022cb0e69b # Parent 97bf008b9cfeb3c02f2d334161ca60e30bd10de9 new powerdomain lemmas diff -r 97bf008b9cfe -r 32099ee71a2f src/HOL/HOLCF/ConvexPD.thy --- a/src/HOL/HOLCF/ConvexPD.thy Sat Dec 11 00:14:12 2010 +0100 +++ b/src/HOL/HOLCF/ConvexPD.thy Sat Dec 11 10:35:40 2010 -0800 @@ -400,6 +400,14 @@ "convex_map\f\(convex_map\g\xs) = convex_map\(\ x. f\(g\x))\xs" by (induct xs rule: convex_pd_induct, simp_all) +lemma convex_bind_map: + "convex_bind\(convex_map\f\xs)\g = convex_bind\xs\(\ x. g\(f\x))" +by (simp add: convex_map_def convex_bind_bind) + +lemma convex_map_bind: + "convex_map\f\(convex_bind\xs\g) = convex_bind\xs\(\ x. convex_map\f\(g\x))" +by (simp add: convex_map_def convex_bind_bind) + lemma ep_pair_convex_map: "ep_pair e p \ ep_pair (convex_map\e) (convex_map\p)" apply default apply (induct_tac x rule: convex_pd_induct, simp_all add: ep_pair.e_inverse) diff -r 97bf008b9cfe -r 32099ee71a2f src/HOL/HOLCF/LowerPD.thy --- a/src/HOL/HOLCF/LowerPD.thy Sat Dec 11 00:14:12 2010 +0100 +++ b/src/HOL/HOLCF/LowerPD.thy Sat Dec 11 10:35:40 2010 -0800 @@ -392,6 +392,14 @@ "lower_map\f\(lower_map\g\xs) = lower_map\(\ x. f\(g\x))\xs" by (induct xs rule: lower_pd_induct, simp_all) +lemma lower_bind_map: + "lower_bind\(lower_map\f\xs)\g = lower_bind\xs\(\ x. g\(f\x))" +by (simp add: lower_map_def lower_bind_bind) + +lemma lower_map_bind: + "lower_map\f\(lower_bind\xs\g) = lower_bind\xs\(\ x. lower_map\f\(g\x))" +by (simp add: lower_map_def lower_bind_bind) + lemma ep_pair_lower_map: "ep_pair e p \ ep_pair (lower_map\e) (lower_map\p)" apply default apply (induct_tac x rule: lower_pd_induct, simp_all add: ep_pair.e_inverse) diff -r 97bf008b9cfe -r 32099ee71a2f src/HOL/HOLCF/UpperPD.thy --- a/src/HOL/HOLCF/UpperPD.thy Sat Dec 11 00:14:12 2010 +0100 +++ b/src/HOL/HOLCF/UpperPD.thy Sat Dec 11 10:35:40 2010 -0800 @@ -387,6 +387,14 @@ "upper_map\f\(upper_map\g\xs) = upper_map\(\ x. f\(g\x))\xs" by (induct xs rule: upper_pd_induct, simp_all) +lemma upper_bind_map: + "upper_bind\(upper_map\f\xs)\g = upper_bind\xs\(\ x. g\(f\x))" +by (simp add: upper_map_def upper_bind_bind) + +lemma upper_map_bind: + "upper_map\f\(upper_bind\xs\g) = upper_bind\xs\(\ x. upper_map\f\(g\x))" +by (simp add: upper_map_def upper_bind_bind) + lemma ep_pair_upper_map: "ep_pair e p \ ep_pair (upper_map\e) (upper_map\p)" apply default apply (induct_tac x rule: upper_pd_induct, simp_all add: ep_pair.e_inverse)