Step
*
1
2
of Lemma
mk_lambdas-fun-unroll
1. F : Top
2. k : ℤ
3. 0 < k
4. 0 < k - 1
⇒ (∀K:Top. ∀n:ℤ.
      ((0 ≤ n)
      
⇒ (mk_lambdas-fun(F;λx.mk_applies(x;K;n);n;n + (k - 1)) 
         ~ mk_lambdas-fun(λg,y. (F (λx.(g x y)));λx.mk_applies(x;K;n);n;(n + (k - 1)) - 1))))
5. 0 < k
6. K : Top
7. n : ℤ
8. 0 ≤ n
9. ¬(k = 1 ∈ ℤ)
⊢ mk_lambdas-fun(F;λx.mk_applies(x;K;n);n;n + k) ~ mk_lambdas-fun(λg,y. (F (λx.(g x y)));λx.mk_applies(x;K;n);n;(n + k) \000C- 1)
BY
{ ((D (-6) THENA Auto)
   THEN RecUnfold `mk_lambdas-fun` 0
   THEN Repeat (AutoSplit)
   THEN Try (Complete (Auto'))
   THEN MemCD
   THEN (InstHyp [⌜λi.if (i =z n) then x else K i fi ⌝;⌜n + 1⌝] (-2)⋅ THENA Auto)
   THEN (Subst ⌜(n + 1) + (k - 1) ~ n + k⌝ (-1)⋅ THENA Auto)
   THEN (RWO "mk_applies_unroll" (-1) THENA Auto)
   THEN Reduce (-1)
   THEN SplitOnHypITE (-1)
   THEN Try (Complete (Auto))
   THEN Thin (-1)
   THEN (Subst ⌜(n + 1) - 1 ~ n⌝ (-1)⋅ THENA Auto)
   THEN RWO "mk_applies_fun" (-1)
   THEN Auto) }
Latex:
Latex:
1.  F  :  Top
2.  k  :  \mBbbZ{}
3.  0  <  k
4.  0  <  k  -  1
{}\mRightarrow{}  (\mforall{}K:Top.  \mforall{}n:\mBbbZ{}.
            ((0  \mleq{}  n)
            {}\mRightarrow{}  (mk\_lambdas-fun(F;\mlambda{}x.mk\_applies(x;K;n);n;n  +  (k  -  1)) 
                  \msim{}  mk\_lambdas-fun(\mlambda{}g,y.  (F  (\mlambda{}x.(g  x  y)));\mlambda{}x.mk\_applies(x;K;n);n;(n  +  (k  -  1))  -  1))))
5.  0  <  k
6.  K  :  Top
7.  n  :  \mBbbZ{}
8.  0  \mleq{}  n
9.  \mneg{}(k  =  1)
\mvdash{}  mk\_lambdas-fun(F;\mlambda{}x.mk\_applies(x;K;n);n;n  +  k) 
\msim{}  mk\_lambdas-fun(\mlambda{}g,y.  (F  (\mlambda{}x.(g  x  y)));\mlambda{}x.mk\_applies(x;K;n);n;(n  +  k)  -  1)
By
Latex:
((D  (-6)  THENA  Auto)
  THEN  RecUnfold  `mk\_lambdas-fun`  0
  THEN  Repeat  (AutoSplit)
  THEN  Try  (Complete  (Auto'))
  THEN  MemCD
  THEN  (InstHyp  [\mkleeneopen{}\mlambda{}i.if  (i  =\msubz{}  n)  then  x  else  K  i  fi  \mkleeneclose{};\mkleeneopen{}n  +  1\mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)
  THEN  (Subst  \mkleeneopen{}(n  +  1)  +  (k  -  1)  \msim{}  n  +  k\mkleeneclose{}  (-1)\mcdot{}  THENA  Auto)
  THEN  (RWO  "mk\_applies\_unroll"  (-1)  THENA  Auto)
  THEN  Reduce  (-1)
  THEN  SplitOnHypITE  (-1)
  THEN  Try  (Complete  (Auto))
  THEN  Thin  (-1)
  THEN  (Subst  \mkleeneopen{}(n  +  1)  -  1  \msim{}  n\mkleeneclose{}  (-1)\mcdot{}  THENA  Auto)
  THEN  RWO  "mk\_applies\_fun"  (-1)
  THEN  Auto)
Home
Index