Data.Type.Natural

Re-exported modules.

Natural Numbers

data Nat

data SSym0 l

type SSym1 t

type ZSym0

type SNat z

data family Sing a

Smart constructors

sZ

sS

Arithmetic functions and their singletons.

min

type family Min a a :: Nat

sMin

max

type family Max a a :: Nat

sMax

data MinSym0 l

data MinSym1 l l

type MinSym2 t t

data MaxSym0 l

data MaxSym1 l l

type MaxSym2 t t

type n :+: m

type family a :+ a :: Nat

data (:+$) l

data l :+$$ l

type t :+$$$ t

(%+)

(%:+)

type family a :* a :: Nat

type n :*: m

data (:*$) l

data l :*$$ l

type t :*$$$ t

(%:*)

(%*)

type n :-: m

type family a :- a :: Nat

data (:-$) l

data l :-$$ l

type t :-$$$ t

(%:-)

(%-)

Type-level predicate & judgements

data Leq n m

class n :<= m

type family a :<<= a :: Bool

data (:<<=$) l

data l :<<=$$ l

type t :<<=$$$ t

(%:<<=)

type LeqInstance n m

boolToPropLeq

boolToClassLeq

propToClassLeq

type LeqTrueInstance a b

propToBoolLeq

Conversion functions

natToInt

intToNat

sNatToInt

Quasi quotes for natural numbers

nat

snat

Properties of natural numbers

succCongEq

plusCongR

plusCongL

succPlusL

succPlusR

plusZR

plusZL

eqPreservesS

plusAssociative

multAssociative

multComm

multZL

multZR

multOneL

multOneR

snEqZAbsurd

succInjective

plusInjectiveL

plusInjectiveR

plusMultDistr

multPlusDistr

multCongL

multCongR

sAndPlusOne

plusCommutative

minusCongEq

minusNilpotent

eqSuccMinus

plusMinusEqL

plusMinusEqR

zAbsorbsMinR

zAbsorbsMinL

plusSR

plusNeutralR

plusNeutralL

leqRhs

leqLhs

minComm

maxZL

maxComm

maxZR

Properties of ordering Leq

leqRefl

leqSucc

leqTrans

plusMonotone

plusLeqL

plusLeqR

minLeqL

minLeqR

leqAnitsymmetric

maxLeqL

maxLeqR

leqSnZAbsurd

leqnZElim

leqSnLeq

leqPred

leqSnnAbsurd

Useful type synonyms and constructors

zero

one

two

three

four

five

six

seven

eight

nine

ten

eleven

twelve

thirteen

fourteen

fifteen

sixteen

seventeen

eighteen

nineteen

twenty

type Zero

type One

type Two

type Three

type Four

type Five

type Six

type Seven

type Eight

type Nine

type Ten

type Eleven

type Twelve

type Thirteen

type Fourteen

type Fifteen

type Sixteen

type Seventeen

type Eighteen

type Nineteen

type Twenty

type ZeroSym0

type OneSym0

type TwoSym0

type ThreeSym0

type FourSym0

type FiveSym0

type SixSym0

type SevenSym0

type EightSym0

type NineSym0

type TenSym0

type ElevenSym0

type TwelveSym0

type ThirteenSym0

type FourteenSym0

type FifteenSym0

type SixteenSym0

type SeventeenSym0

type EighteenSym0

type NineteenSym0

type TwentySym0

sZero

sOne

sTwo

sThree

sFour

sFive

sSix

sSeven

sEight

sNine

sTen

sEleven

sTwelve

sThirteen

sFourteen

sFifteen

sSixteen

sSeventeen

sEighteen

sNineteen

sTwenty

n0

n1

n2

n3

n4

n5

n6

n7

n8

n9

n10

n11

n12

n13

n14

n15

n16

n17

n18

n19

n20

type N0

type N1

type N2

type N3

type N4

type N5

type N6

type N7

type N8

type N9

type N10

type N11

type N12

type N13

type N14

type N15

type N16

type N17

type N18

type N19

type N20

type N0Sym0

type N1Sym0

type N2Sym0

type N3Sym0

type N4Sym0

type N5Sym0

type N6Sym0

type N7Sym0

type N8Sym0

type N9Sym0

type N10Sym0

type N11Sym0

type N12Sym0

type N13Sym0

type N14Sym0

type N15Sym0

type N16Sym0

type N17Sym0

type N18Sym0

type N19Sym0

type N20Sym0

sN0

sN1

sN2

sN3

sN4

sN5

sN6

sN7

sN8

sN9

sN10

sN11

sN12

sN13

sN14

sN15

sN16

sN17

sN18

sN19

sN20