- 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.