src/HOL/Isar_Examples/Hoare_Ex.thy
changeset 72806 4fa08e083865
parent 63585 f4a308fdf664
equal deleted inserted replaced
72805:976d656ed31e 72806:4fa08e083865
   278 primrec timeit :: "'a time com \<Rightarrow> 'a time com"
   278 primrec timeit :: "'a time com \<Rightarrow> 'a time com"
   279   where
   279   where
   280     "timeit (Basic f) = (Basic f; Basic(\<lambda>s. s\<lparr>time := Suc (time s)\<rparr>))"
   280     "timeit (Basic f) = (Basic f; Basic(\<lambda>s. s\<lparr>time := Suc (time s)\<rparr>))"
   281   | "timeit (c1; c2) = (timeit c1; timeit c2)"
   281   | "timeit (c1; c2) = (timeit c1; timeit c2)"
   282   | "timeit (Cond b c1 c2) = Cond b (timeit c1) (timeit c2)"
   282   | "timeit (Cond b c1 c2) = Cond b (timeit c1) (timeit c2)"
   283   | "timeit (While b iv c) = While b iv (timeit c)"
   283   | "timeit (While b iv v c) = While b iv v (timeit c)"
   284 
   284 
   285 record tvars = tstate +
   285 record tvars = tstate +
   286   I :: nat
   286   I :: nat
   287   J :: nat
   287   J :: nat
   288 
   288