# HG changeset patch # User nipkow # Date 1325437931 -3600 # Node ID a03bf644cb27f764d0d8cd12b8499f97f4385087 # Parent e81411bfa7efd6cccf497f432651655c15876a12 tuned var names diff -r e81411bfa7ef -r a03bf644cb27 src/HOL/IMP/Abs_Int0.thy --- a/src/HOL/IMP/Abs_Int0.thy Sun Jan 01 16:32:53 2012 +0100 +++ b/src/HOL/IMP/Abs_Int0.thy Sun Jan 01 18:12:11 2012 +0100 @@ -58,9 +58,9 @@ function operating on states as functions. *} lemma step_preserves_le2: - "\ S \ \\<^isub>o sa; cs \ \\<^isub>c ca; strip cs = c; strip ca = c \ - \ step S cs \ \\<^isub>c (step' sa ca)" -proof(induction c arbitrary: cs ca S sa) + "\ S \ \\<^isub>o S'; cs \ \\<^isub>c ca; strip cs = c; strip ca = c \ + \ step S cs \ \\<^isub>c (step' S' ca)" +proof(induction c arbitrary: cs ca S S') case SKIP thus ?case by(auto simp:strip_eq_SKIP) next @@ -89,15 +89,15 @@ "I \ \\<^isub>o Ia" "P \ \\<^isub>o Pa" "cs1 \ \\<^isub>c ca1" "strip cs1 = c1" "strip ca1 = c1" by (fastforce simp: strip_eq_While) - moreover have "S \ post cs1 \ \\<^isub>o (sa \ post ca1)" - using `S \ \\<^isub>o sa` le_post[OF `cs1 \ \\<^isub>c ca1`, simplified] + moreover have "S \ post cs1 \ \\<^isub>o (S' \ post ca1)" + using `S \ \\<^isub>o S'` le_post[OF `cs1 \ \\<^isub>c ca1`, simplified] by (metis (no_types) join_ge1 join_ge2 le_sup_iff mono_gamma_o order_trans) ultimately show ?case by (simp add: While.IH subset_iff) qed lemma step_preserves_le: - "\ S \ \\<^isub>o sa; cs \ \\<^isub>c ca; strip cs = c \ - \ step S cs \ \\<^isub>c(step' sa ca)" + "\ S \ \\<^isub>o S'; cs \ \\<^isub>c ca; strip cs = c \ + \ step S cs \ \\<^isub>c(step' S' ca)" by (metis le_strip step_preserves_le2 strip_acom) lemma AI_sound: "AI c = Some c' \ CS UNIV c \ \\<^isub>c c'" diff -r e81411bfa7ef -r a03bf644cb27 src/HOL/IMP/Abs_Int0_fun.thy --- a/src/HOL/IMP/Abs_Int0_fun.thy Sun Jan 01 16:32:53 2012 +0100 +++ b/src/HOL/IMP/Abs_Int0_fun.thy Sun Jan 01 18:12:11 2012 +0100 @@ -309,9 +309,9 @@ by(simp add: \_fun_def) lemma step_preserves_le2: - "\ S \ \\<^isub>o sa; cs \ \\<^isub>c ca; strip cs = c; strip ca = c \ - \ step S cs \ \\<^isub>c (step' sa ca)" -proof(induction c arbitrary: cs ca S sa) + "\ S \ \\<^isub>o S'; cs \ \\<^isub>c ca; strip cs = c; strip ca = c \ + \ step S cs \ \\<^isub>c (step' S' ca)" +proof(induction c arbitrary: cs ca S S') case SKIP thus ?case by(auto simp:strip_eq_SKIP) next @@ -332,7 +332,7 @@ by (metis (no_types) `cs1 \ \\<^isub>c ca1` join_ge1 le_post mono_gamma_o order_trans post_map_acom) moreover have "post cs2 \ \\<^isub>o(post ca1 \ post ca2)" by (metis (no_types) `cs2 \ \\<^isub>c ca2` join_ge2 le_post mono_gamma_o order_trans post_map_acom) - ultimately show ?case using `S \ \\<^isub>o sa` by (simp add: If.IH subset_iff) + ultimately show ?case using `S \ \\<^isub>o S'` by (simp add: If.IH subset_iff) next case (While b c1) then obtain cs1 ca1 I P Ia Pa where @@ -340,15 +340,15 @@ "I \ \\<^isub>o Ia" "P \ \\<^isub>o Pa" "cs1 \ \\<^isub>c ca1" "strip cs1 = c1" "strip ca1 = c1" by (fastforce simp: strip_eq_While) - moreover have "S \ post cs1 \ \\<^isub>o (sa \ post ca1)" - using `S \ \\<^isub>o sa` le_post[OF `cs1 \ \\<^isub>c ca1`, simplified] + moreover have "S \ post cs1 \ \\<^isub>o (S' \ post ca1)" + using `S \ \\<^isub>o S'` le_post[OF `cs1 \ \\<^isub>c ca1`, simplified] by (metis (no_types) join_ge1 join_ge2 le_sup_iff mono_gamma_o order_trans) ultimately show ?case by (simp add: While.IH subset_iff) qed lemma step_preserves_le: - "\ S \ \\<^isub>o sa; cs \ \\<^isub>c ca; strip cs = c \ - \ step S cs \ \\<^isub>c(step' sa ca)" + "\ S \ \\<^isub>o S'; cs \ \\<^isub>c ca; strip cs = c \ + \ step S cs \ \\<^isub>c(step' S' ca)" by (metis le_strip step_preserves_le2 strip_acom) lemma AI_sound: "AI c = Some c' \ CS UNIV c \ \\<^isub>c c'" diff -r e81411bfa7ef -r a03bf644cb27 src/HOL/IMP/Abs_Int1.thy --- a/src/HOL/IMP/Abs_Int1.thy Sun Jan 01 16:32:53 2012 +0100 +++ b/src/HOL/IMP/Abs_Int1.thy Sun Jan 01 18:12:11 2012 +0100 @@ -170,9 +170,9 @@ lemma step_preserves_le2: - "\ S \ \\<^isub>o sa; cs \ \\<^isub>c ca; strip cs = c; strip ca = c \ - \ step S cs \ \\<^isub>c (step' sa ca)" -proof(induction c arbitrary: cs ca S sa) + "\ S \ \\<^isub>o S'; cs \ \\<^isub>c ca; strip cs = c; strip ca = c \ + \ step S cs \ \\<^isub>c (step' S' ca)" +proof(induction c arbitrary: cs ca S S') case SKIP thus ?case by(auto simp:strip_eq_SKIP) next @@ -193,7 +193,7 @@ by (metis (no_types) `cs1 \ \\<^isub>c ca1` join_ge1 le_post mono_gamma_o order_trans post_map_acom) moreover have "post cs2 \ \\<^isub>o(post ca1 \ post ca2)" by (metis (no_types) `cs2 \ \\<^isub>c ca2` join_ge2 le_post mono_gamma_o order_trans post_map_acom) - ultimately show ?case using `S \ \\<^isub>o sa` + ultimately show ?case using `S \ \\<^isub>o S'` by (simp add: If.IH subset_iff bfilter_sound) next case (While b c1) @@ -202,15 +202,15 @@ "I \ \\<^isub>o Ia" "P \ \\<^isub>o Pa" "cs1 \ \\<^isub>c ca1" "strip cs1 = c1" "strip ca1 = c1" by (fastforce simp: strip_eq_While) - moreover have "S \ post cs1 \ \\<^isub>o (sa \ post ca1)" - using `S \ \\<^isub>o sa` le_post[OF `cs1 \ \\<^isub>c ca1`, simplified] + moreover have "S \ post cs1 \ \\<^isub>o (S' \ post ca1)" + using `S \ \\<^isub>o S'` le_post[OF `cs1 \ \\<^isub>c ca1`, simplified] by (metis (no_types) join_ge1 join_ge2 le_sup_iff mono_gamma_o order_trans) ultimately show ?case by (simp add: While.IH subset_iff bfilter_sound) qed lemma step_preserves_le: - "\ S \ \\<^isub>o sa; cs \ \\<^isub>c ca; strip cs = c \ - \ step S cs \ \\<^isub>c(step' sa ca)" + "\ S \ \\<^isub>o S'; cs \ \\<^isub>c ca; strip cs = c \ + \ step S cs \ \\<^isub>c(step' S' ca)" by (metis le_strip step_preserves_le2 strip_acom) lemma AI_sound: "AI c = Some c' \ CS UNIV c \ \\<^isub>c c'"