BoundedOrd.hascasl revision 6b7d53eb1a93b9a9d7e3ce48964128fcd142fe53
424N/Aclass Ord {
424N/Avars a: Ord; x: a
424N/Aop __<=__ : Pred (a * a)
424N/A. x <= x }
424N/A
424N/Aclasses BoundedOrd < Ord
424N/A
424N/Avars a: Ord; b: BoundedOrd
424N/Aop __<=__ : Pred (a * a);
424N/A bot, top: b
424N/Avars x, y, z: a; v: b
424N/A. x <= x
424N/A. x <= y /\ y <= z => x <= z
424N/A. x <= y /\ y <= x => x = y
424N/A. bot <= v
424N/A. v <= top
424N/A
424N/Avars a, b: Ord
424N/Atype instances a * b: Ord
424N/Avars x, y: a; v, w: b
424N/A. (x, v) <= (y, w) <=> x <= y /\ v <= w
424N/A
424N/Aclass instance DiscreteOrd < Ord
424N/Avars a: DiscreteOrd; x, y: a
424N/A. x <= y <=> x = y
424N/A
424N/Aclass Num
424N/Avars a: Ord; b: Num
424N/Aops min: a * a ->? a;
424N/A min: b * b ->? b
424N/A
424N/Avars a: Ord; b: Ord
493N/Aop __<=__ : Pred ((a ->? b) * (a ->? b))
424N/Atype instance a ->? b: Ord
424N/A
424N/Atype instance Unit: Ord
493N/A. () <= ()
424N/A
424N/Atype instance ?a: Ord
493N/Avars x, y: ?a
424N/A. x <= y <=> def x() => x() <= y()
424N/A