IdrisDoc: Data.PosNat

Data.PosNat

MultPosNatMonoid : Monoid (DPair Nat IsSucc)

Monoid, neutral = 1

MultPosNatSemi : Semigroup (DPair Nat IsSucc)

Semigroup using multiplication

PosNat : Type

ℤ⁺: {1..}.

multPosNat : PosNat -> PosNat -> PosNat

Multiply two PosNats

one : PosNat

1

p : (n : Nat) -> {auto ok : IsSucc n} -> PosNat

Convert a Nat to a PosNat, using automatic proof search

plusNatPosNat : Nat -> PosNat -> PosNat

Add a Nat to a positive Nat

plusPos : (n : Nat) -> (k : Nat) -> IsSucc n -> IsSucc (n + k)

A proof that the addition of a natural number to a natural number that is
already positive doesn't make a difference

plusPosNat : PosNat -> PosNat -> PosNat

| Add two PosNats

succ : PosNat -> PosNat

The successor of a PosNat

timesPos : (n : Nat) -> (k : Nat) -> IsSucc n -> IsSucc k -> IsSucc (n * k)

The proof that one positive Nat times another is still positive