Data.TypeLevel.Num.Ops

# Successor/Predecessor

class Succ x y

succ

class Pred x y

pred

# Addition/Subtraction

class Add x y z

(+)

class Sub x y z

(-)

# Multiplication/Division

class Mul x y z

(*)

class Div x y z

div

class Mod x y r

mod

class DivMod x y q r

divMod

class IsDivBy d x

isDivBy

## Special efficiency cases

class Mul10 x q

mul10

class Div10 x q

div10

class DivMod10 x i l

divMod10

# Exponientiation/Logarithm

class ExpBase b e r

(^)

class LogBase b x e

logBase

class LogBaseF b x e f

logBaseF

class IsPowOf b x

isPowOf

## Special efficiency cases

class Exp10 x y

exp10

class Log10 x y

log10

# Comparison assertions

## General comparison assertion

class Trich x y r

trich

### Type-level values denoting comparison results

data LT

data EQ

data GT

## Abbreviated comparison assertions

class x :==: y

class x :>: y

class x :<: y

class x :>=: y

class x :<=: y

(==)

(>)

(<)

(>=)

(<=)

# Maximum/Minimum

class Max x y z

max

class Min x y z

min

# Greatest Common Divisor

class GCD x y gcd

gcd