Data.Nat.Fact
Properties of factorial functions.
- factAcc : Nat ->
Nat ->
Nat
Tail-recursive accumulator for factItr.
- factAccMult : (a : Nat) ->
(b : Nat) ->
(c : Nat) ->
a *
factAcc b
c =
factAcc b
(a *
c)
Multiplication of the accumulator.
- factAccPlus : (a : Nat) ->
(b : Nat) ->
(c : Nat) ->
factAcc a
b +
factAcc a
c =
factAcc a
(b +
c)
Addition of accumulators.
- factItr : Nat ->
Nat
Iterative definition of factorial.
- factRec : Nat ->
Nat
Recursive definition of factorial.
- factRecItr : (n : Nat) ->
factRec n =
factItr n
The recursive and iterative definitions are the equivalent.
- multShuffle : (a : Nat) ->
(b : Nat) ->
(c : Nat) ->
a *
(b *
c) =
b *
(a *
c)
Multiplicand-shuffling lemma.