equal
deleted
inserted
replaced
182 next |
182 next |
183 case Seq thus ?case |
183 case Seq thus ?case |
184 by(fastforce simp: strip_eq_Seq step_def post_def last_append annos_ne) |
184 by(fastforce simp: strip_eq_Seq step_def post_def last_append annos_ne) |
185 next |
185 next |
186 case IfTrue thus ?case apply(auto simp: strip_eq_If step_def post_def) |
186 case IfTrue thus ?case apply(auto simp: strip_eq_If step_def post_def) |
187 by (metis (lifting,full_types) mem_Collect_eq set_mp) |
187 by (metis (lifting,full_types) mem_Collect_eq subsetD) |
188 next |
188 next |
189 case IfFalse thus ?case apply(auto simp: strip_eq_If step_def post_def) |
189 case IfFalse thus ?case apply(auto simp: strip_eq_If step_def post_def) |
190 by (metis (lifting,full_types) mem_Collect_eq set_mp) |
190 by (metis (lifting,full_types) mem_Collect_eq subsetD) |
191 next |
191 next |
192 case (WhileTrue b s1 c' s2 s3) |
192 case (WhileTrue b s1 c' s2 s3) |
193 from WhileTrue.prems(1) obtain I P C' Q where "C = {I} WHILE b DO {P} C' {Q}" "strip C' = c'" |
193 from WhileTrue.prems(1) obtain I P C' Q where "C = {I} WHILE b DO {P} C' {Q}" "strip C' = c'" |
194 by(auto simp: strip_eq_While) |
194 by(auto simp: strip_eq_While) |
195 from WhileTrue.prems(3) \<open>C = _\<close> |
195 from WhileTrue.prems(3) \<open>C = _\<close> |