src/HOL/IMP/Collecting.thy
changeset 69712 dc85b5b3a532
parent 69260 0a9688695a1b
equal deleted inserted replaced
69711:82a604715919 69712:dc85b5b3a532
   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>