- 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