# HG changeset patch # User huffman # Date 1267493543 28800 # Node ID 92e0028a46f2dca8433ab88bee41ce728df4a434 # Parent 63f8121c6585366e978de223342da8f79d4be879 add lemmas about ssum_map and sprod_map diff -r 63f8121c6585 -r 92e0028a46f2 src/HOLCF/Sprod.thy --- a/src/HOLCF/Sprod.thy Mon Mar 01 16:58:16 2010 -0800 +++ b/src/HOLCF/Sprod.thy Mon Mar 01 17:32:23 2010 -0800 @@ -245,6 +245,10 @@ "x \ \ \ y \ \ \ sprod_map\f\g\(:x, y:) = (:f\x, g\y:)" by (simp add: sprod_map_def) +lemma sprod_map_spair': + "f\\ = \ \ g\\ = \ \ sprod_map\f\g\(:x, y:) = (:f\x, g\y:)" +by (cases "x = \ \ y = \") auto + lemma sprod_map_ID: "sprod_map\ID\ID = ID" unfolding sprod_map_def by (simp add: expand_cfun_eq eta_cfun) diff -r 63f8121c6585 -r 92e0028a46f2 src/HOLCF/Ssum.thy --- a/src/HOLCF/Ssum.thy Mon Mar 01 16:58:16 2010 -0800 +++ b/src/HOLCF/Ssum.thy Mon Mar 01 17:32:23 2010 -0800 @@ -226,6 +226,12 @@ lemma ssum_map_sinr [simp]: "x \ \ \ ssum_map\f\g\(sinr\x) = sinr\(g\x)" unfolding ssum_map_def by simp +lemma ssum_map_sinl': "f\\ = \ \ ssum_map\f\g\(sinl\x) = sinl\(f\x)" +by (cases "x = \") simp_all + +lemma ssum_map_sinr': "g\\ = \ \ ssum_map\f\g\(sinr\x) = sinr\(g\x)" +by (cases "x = \") simp_all + lemma ssum_map_ID: "ssum_map\ID\ID = ID" unfolding ssum_map_def by (simp add: expand_cfun_eq eta_cfun)