equal
deleted
inserted
replaced
1 (* Title: HOL/Library/Word.thy |
1 (* Title: HOL/Library/Word.thy |
2 ID: $Id$ |
|
3 Author: Sebastian Skalberg (TU Muenchen) |
2 Author: Sebastian Skalberg (TU Muenchen) |
4 *) |
3 *) |
5 |
4 |
6 header {* Binary Words *} |
5 header {* Binary Words *} |
7 |
6 |
38 |
37 |
39 datatype bit = |
38 datatype bit = |
40 Zero ("\<zero>") |
39 Zero ("\<zero>") |
41 | One ("\<one>") |
40 | One ("\<one>") |
42 |
41 |
43 primrec |
42 primrec bitval :: "bit => nat" where |
44 bitval :: "bit => nat" |
43 "bitval \<zero> = 0" |
45 where |
|
46 "bitval \<zero> = 0" |
|
47 | "bitval \<one> = 1" |
44 | "bitval \<one> = 1" |
48 |
45 |
49 consts |
46 consts |
50 bitnot :: "bit => bit" |
47 bitnot :: "bit => bit" |
51 bitand :: "bit => bit => bit" (infixr "bitand" 35) |
48 bitand :: "bit => bit => bit" (infixr "bitand" 35) |
1529 proof - |
1526 proof - |
1530 from lw |
1527 from lw |
1531 show ?thesis |
1528 show ?thesis |
1532 apply simp |
1529 apply simp |
1533 apply (subst power_Suc [symmetric]) |
1530 apply (subst power_Suc [symmetric]) |
1534 apply (simp del: power_int.simps) |
1531 apply simp |
1535 done |
1532 done |
1536 qed |
1533 qed |
1537 finally show ?thesis . |
1534 finally show ?thesis . |
1538 qed |
1535 qed |
1539 |
1536 |