CookBook/Solutions.thy
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--
polished

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