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