src/HOL/hologic.ML
changeset 13743 f8f9393be64c
parent 13640 993576f4de30
child 13755 a9bb54a3cfb7
equal deleted inserted replaced
13742:452ff5d0b69d 13743:f8f9393be64c
   157   | dest_mem t = raise TERM ("dest_mem", [t]);
   157   | dest_mem t = raise TERM ("dest_mem", [t]);
   158 
   158 
   159 fun mk_UNIV T = Const ("UNIV", mk_setT T);
   159 fun mk_UNIV T = Const ("UNIV", mk_setT T);
   160 
   160 
   161 
   161 
   162 (* binary oprations and relations *)
   162 (* binary operations and relations *)
   163 
   163 
   164 fun mk_binop c (t, u) =
   164 fun mk_binop c (t, u) =
   165   let val T = fastype_of t in
   165   let val T = fastype_of t in
   166     Const (c, [T, T] ---> T) $ t $ u
   166     Const (c, [T, T] ---> T) $ t $ u
   167   end;
   167   end;
   278 
   278 
   279 (* binary numerals *)
   279 (* binary numerals *)
   280 
   280 
   281 val binT = Type ("Numeral.bin", []);
   281 val binT = Type ("Numeral.bin", []);
   282 
   282 
   283 val pls_const =  Const ("Numeral.bin.Pls", binT)
   283 val pls_const = Const ("Numeral.bin.Pls", binT)
   284 and min_const = Const ("Numeral.bin.Min", binT)
   284 and min_const = Const ("Numeral.bin.Min", binT)
   285 and bit_const = Const ("Numeral.bin.Bit", [binT, boolT] ---> binT);
   285 and bit_const = Const ("Numeral.bin.Bit", [binT, boolT] ---> binT);
   286 
   286 
   287 fun number_of_const T = Const ("Numeral.number_of", binT --> T);
   287 fun number_of_const T = Const ("Numeral.number_of", binT --> T);
   288 
   288