- Even : Nat ->
Type
A nat is Even when it is twice some other nat.
- Odd : Nat ->
Type
A nat is Odd when it is one more than twice some other nat.
- add2Even : Even n ->
Even (fromInteger 2 +
n)
Two more than an Even is Even.
- add2Odd : Odd n ->
Odd (fromInteger 2 +
n)
Two more than an Odd is Odd.
- even : Nat ->
Bool
- evenDec : (n : Nat) ->
Dec (Even n)
Evenness is decidable.
- evenEven : Even n ->
even n =
True
Evens are even.
- evenEvenConverse : (even n =
True) ->
Even n
If it's even, it's Even.
- evenMultEven : Even j ->
Even k ->
Even (j *
k)
Even times Even is Even.
- evenMultOdd : Even j ->
Odd k ->
Even (j *
k)
Even times Odd is Even.
- evenOrOdd : (n : Nat) ->
Either (Even n)
(Odd n)
Every nat is either Even or Odd.
- evenPlusEven : Even j ->
Even k ->
Even (j +
k)
Even plus Even is Even.
- evenPlusOdd : Even j ->
Odd k ->
Odd (j +
k)
Even plus Odd is Odd.
- evenorodd : (n : Nat) ->
Either (even n =
True)
(odd n =
True)
Every nat is either even or odd.
- multShuffle : (a : Nat) ->
(b : Nat) ->
(c : Nat) ->
a *
c *
(b *
c) =
a *
b *
c *
c
A helper fact.
- notEvenAndOdd : Even n ->
Odd n ->
Void
No nat is both Even and Odd.
- notevenandodd : (even n =
True) ->
(odd n =
True) ->
Void
No nat is both even and odd.
- odd : Nat ->
Bool
- oddDec : (n : Nat) ->
Dec (Odd n)
Oddness is decidable.
- oddMultEven : Odd j ->
Even k ->
Even (j *
k)
Odd times Even is Even.
- oddMultOdd : Odd j ->
Odd k ->
Odd (j *
k)
Odd times Odd is Odd.
- oddOdd : Odd n ->
odd n =
True
Odds are odd.
- oddOddConverse : (odd n =
True) ->
Odd n
If it's odd, it's Odd
- oddPlusEven : Odd j ->
Even k ->
Odd (j +
k)
Odd plus Even is Odd.
- oddPlusOdd : Odd j ->
Odd k ->
Even (j +
k)
Odd plus Odd is Even.
- oddSuccEven : Odd n ->
(m : Nat **
(n =
S m,
Even m))
An Odd is the successor of an Even.
- predEvenOdd : Even (S n) ->
Odd n
One less than an Even is Odd.
- predOddEven : Odd (S n) ->
Even n
One less than an Odd is Even.
- succDoublePredPred : (S n =
k *
fromInteger 2) ->
n =
S (pred k *
fromInteger 2)
A helper fact.
- succEvenOdd : Even n ->
Odd (S n)
One more than an Even is Odd.
- succOddEven : Odd n ->
Even (S n)
One more than an Odd is Even.