author | Christian Urban <urbanc@in.tum.de> |
Thu, 02 Oct 2008 05:18:49 -0400 | |
changeset 16 | 5045dec52d2b |
parent 15 | 9da9ba2b095b |
child 25 | e2f9f94b26d4 |
permissions | -rw-r--r-- |
theory Solutions imports Main uses "antiquote_setup.ML" "antiquote_setup_plus.ML" begin chapter {* Solutions to Most Exercises *} text {* \solution{fun:revsum} *} ML {* fun rev_sum t = let fun dest_sum (Const (@{const_name plus}, _) $ u $ u') = u' :: dest_sum u | dest_sum u = [u] in foldl1 (HOLogic.mk_binop @{const_name plus}) (dest_sum t) end; *} text {* \solution{fun:makesum} *} ML {* fun make_sum t1 t2 = HOLogic.mk_nat (HOLogic.dest_nat t1 + HOLogic.dest_nat t2) *} end