src/HOL/Tools/hologic.ML
changeset 69593 3dda49e08b9d
parent 68028 1f9f973eed2a
child 74282 c2ee8d993d6a
equal deleted inserted replaced
69592:a80d8ec6c998 69593:3dda49e08b9d
   589   | dest_list t = raise TERM ("dest_list", [t]);
   589   | dest_list t = raise TERM ("dest_list", [t]);
   590 
   590 
   591 
   591 
   592 (* booleans as bits *)
   592 (* booleans as bits *)
   593 
   593 
   594 fun mk_bit b = if b = 0 then @{term False}
   594 fun mk_bit b = if b = 0 then \<^term>\<open>False\<close>
   595   else if b = 1 then @{term True}
   595   else if b = 1 then \<^term>\<open>True\<close>
   596   else raise TERM ("mk_bit", []);
   596   else raise TERM ("mk_bit", []);
   597 
   597 
   598 fun mk_bits len = map mk_bit o Integer.radicify 2 len;
   598 fun mk_bits len = map mk_bit o Integer.radicify 2 len;
   599 
   599 
   600 fun dest_bit @{term False} = 0
   600 fun dest_bit \<^term>\<open>False\<close> = 0
   601   | dest_bit @{term True} = 1
   601   | dest_bit \<^term>\<open>True\<close> = 1
   602   | dest_bit _ = raise TERM ("dest_bit", []);
   602   | dest_bit _ = raise TERM ("dest_bit", []);
   603 
   603 
   604 val dest_bits = Integer.eval_radix 2 o map dest_bit;
   604 val dest_bits = Integer.eval_radix 2 o map dest_bit;
   605 
   605 
   606 
   606