src/ZF/Bin.thy
changeset 35112 ff6f60e6ab85
parent 32960 69916a850301
child 35123 e286d5df187a
equal deleted inserted replaced
35111:18cd034922ba 35112:ff6f60e6ab85
    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