Step
*
1
of Lemma
combinations-step
1. n : ℕ
2. m : ℕ
⊢ combinations_aux(1;n;m) ~ if (n =z 0) then 1 else m * combinations_aux(1;n - 1;m - 1) fi
BY
{ ((RW (AddrC [1] RecUnfoldTopAbC) 0 THEN AutoSplit)
THEN RepeatFor 2 ((CallByValueReduce 0 THEN Auto))
THEN (InstLemma `combinations_aux_linear` [⌜n - 1⌝;⌜1 * m⌝;⌜m - 1⌝]⋅ THENA Auto)
THEN HypSubst' (-1) 0
THEN Auto) }
1
1. n : {1...}
2. m : ℕ
3. combinations_aux(1 * m;n - 1;m - 1) = ((1 * m) * combinations_aux(1;n - 1;m - 1)) ∈ ℤ
⊢ eval m2 = m - 1 in combinations_aux(1 * m;n - 1;m2) = (m * combinations_aux(1;n - 1;m - 1)) ∈ ℤ
Latex:
Latex:
1. n : \mBbbN{}
2. m : \mBbbN{}
\mvdash{} combinations\_aux(1;n;m) \msim{} if (n =\msubz{} 0) then 1 else m * combinations\_aux(1;n - 1;m - 1) fi
By
Latex:
((RW (AddrC [1] RecUnfoldTopAbC) 0 THEN AutoSplit)
THEN RepeatFor 2 ((CallByValueReduce 0 THEN Auto))
THEN (InstLemma `combinations\_aux\_linear` [\mkleeneopen{}n - 1\mkleeneclose{};\mkleeneopen{}1 * m\mkleeneclose{};\mkleeneopen{}m - 1\mkleeneclose{}]\mcdot{} THENA Auto)
THEN HypSubst' (-1) 0
THEN Auto)
Home
Index