Step
*
1
of Lemma
mk_applies_lambdas
1. m : ℕ
2. G : Base
3. F : Base
4. n : ℤ
5. 0 < n
6. n ≤ m
7. mk_applies(mk_lambdas(F;m);G;n - 1) ~ mk_lambdas(F;m - n - 1)
⊢ mk_applies(mk_lambdas(F;m);G;n) ~ mk_lambdas(F;m - n)
BY
{ (RepUR ``mk_applies`` 0
   THEN (RWO "primrec-unroll" 0 THENA Auto)
   THEN AutoSplit
   THEN Fold `mk_applies` 0
   THEN HypSubst' (-1) 0
   THEN Subst ⌜m - n - 1 ~ (m - n) + 1⌝ 0⋅
   THEN Auto
   THEN RW (AddrC [1] (UnfoldC `mk_lambdas`)) 0
   THEN (RWO "primrec-unroll" 0 THENA Auto)
   THEN AutoSplit
   THEN Try (Complete (Auto'))
   THEN Reduce 0
   THEN Fold `mk_lambdas` 0
   THEN Subst ⌜((m - n) + 1) - 1 ~ m - n⌝ 0⋅
   THEN Auto) }
Latex:
Latex:
1.  m  :  \mBbbN{}
2.  G  :  Base
3.  F  :  Base
4.  n  :  \mBbbZ{}
5.  0  <  n
6.  n  \mleq{}  m
7.  mk\_applies(mk\_lambdas(F;m);G;n  -  1)  \msim{}  mk\_lambdas(F;m  -  n  -  1)
\mvdash{}  mk\_applies(mk\_lambdas(F;m);G;n)  \msim{}  mk\_lambdas(F;m  -  n)
By
Latex:
(RepUR  ``mk\_applies``  0
  THEN  (RWO  "primrec-unroll"  0  THENA  Auto)
  THEN  AutoSplit
  THEN  Fold  `mk\_applies`  0
  THEN  HypSubst'  (-1)  0
  THEN  Subst  \mkleeneopen{}m  -  n  -  1  \msim{}  (m  -  n)  +  1\mkleeneclose{}  0\mcdot{}
  THEN  Auto
  THEN  RW  (AddrC  [1]  (UnfoldC  `mk\_lambdas`))  0
  THEN  (RWO  "primrec-unroll"  0  THENA  Auto)
  THEN  AutoSplit
  THEN  Try  (Complete  (Auto'))
  THEN  Reduce  0
  THEN  Fold  `mk\_lambdas`  0
  THEN  Subst  \mkleeneopen{}((m  -  n)  +  1)  -  1  \msim{}  m  -  n\mkleeneclose{}  0\mcdot{}
  THEN  Auto)
Home
Index