Admin/de_overload.ML
author huffman
Wed, 20 Jun 2007 05:18:39 +0200
changeset 23431 25ca91279a9b
parent 23340 57c6a46d9153
child 24584 01e83ffa6c54
permissions -rw-r--r--
change simp rules for of_nat to work like int did previously (reorient of_nat_Suc, remove of_nat_mult [simp]); preserve original variable names in legacy int theorems

(*  Title:      Pure/ML-Systems/de_overload.ML
    ID:         $Id$
    Author:     Makarius

De-overloaded operations for int and real.
*)

(* int *)

val op + = Int.+;
val op - = Int.-;
val op * = Int.*;
val op div = Int.div;
val op mod = Int.mod;
val ~ = Int.~;
val abs = Int.abs;

infix  7  *%
infix  6  +% -%
infix  4  >% >=% <% <=%

val op *% = Int.*;
val op +% = Int.+;
val op -% = Int.-;
val op >% = Int.>;
val op >=% = Int.>=;
val op <% = Int.<;
val op <=% = Int.<=;


(* real *)

infix  7  *~ /~
infix  6  +~ -~
infix  4  >~ >=~ <~ <=~

val op *~ = Real.*;
val op /~ = Real./;
val op +~ = Real.+;
val op -~ = Real.-;
val op >~ = Real.>;
val op >=~ = Real.>=;
val op <~ = Real.<;
val op <=~ = Real.<=;