equal
deleted
inserted
replaced
23 consts bin :: i |
23 consts bin :: i |
24 datatype |
24 datatype |
25 "bin" = Pls |
25 "bin" = Pls |
26 | Min |
26 | Min |
27 | Bit ("w: bin", "b: bool") (infixl "BIT" 90) |
27 | Bit ("w: bin", "b: bool") (infixl "BIT" 90) |
28 |
|
29 use "Tools/numeral_syntax.ML" |
|
30 |
|
31 syntax |
|
32 "_Int" :: "xnum => i" ("_") |
|
33 |
28 |
34 consts |
29 consts |
35 integ_of :: "i=>i" |
30 integ_of :: "i=>i" |
36 NCons :: "[i,i]=>i" |
31 NCons :: "[i,i]=>i" |
37 bin_succ :: "i=>i" |
32 bin_succ :: "i=>i" |
104 "bin_mult (Min,w) = bin_minus(w)" |
99 "bin_mult (Min,w) = bin_minus(w)" |
105 bin_mult_BIT: |
100 bin_mult_BIT: |
106 "bin_mult (v BIT b,w) = cond(b, bin_add(NCons(bin_mult(v,w),0),w), |
101 "bin_mult (v BIT b,w) = cond(b, bin_add(NCons(bin_mult(v,w),0),w), |
107 NCons(bin_mult(v,w),0))" |
102 NCons(bin_mult(v,w),0))" |
108 |
103 |
|
104 syntax |
|
105 "_Int" :: "xnum => i" ("_") |
|
106 |
|
107 use "Tools/numeral_syntax.ML" |
109 setup NumeralSyntax.setup |
108 setup NumeralSyntax.setup |
110 |
109 |
111 |
110 |
112 declare bin.intros [simp,TC] |
111 declare bin.intros [simp,TC] |
113 |
112 |