Step
*
1
of Lemma
mk_lambdas-fun-shift-init
1. F : Top
2. k : ℤ
3. 0 < k
4. ∀K:Top. ∀n,p,q:ℕ.
     (mk_lambdas-fun(F;λf.mk_applies(f;K;p + q);n;n + (k - 1)) 
     ~ mk_lambdas-fun(λg.(F (λf.(g mk_applies(f;K;p))));λf.mk_applies(f;λi.(K (p + i));q);n;n + (k - 1)))
5. K : Top
6. n : ℕ
7. ¬((n + k) ≤ n)
8. p : ℕ
9. q : ℕ
10. x : Base
⊢ mk_lambdas-fun(F;λf.(mk_applies(f;K;p + q) x);n + 1;n + k) 
~ mk_lambdas-fun(λg.(F (λf.(g mk_applies(f;K;p))));λf.(mk_applies(f;λi.(K (p + i));q) x);n + 1;n + k)
BY
{ ((InstHyp [⌜λi.if (i =z p + q) then x else K i fi ⌝;⌜n + 1⌝;⌜p⌝;⌜q + 1⌝] (-7)⋅ THENA Auto)
   THEN (Subst ⌜(n + 1) + (k - 1) ~ n + k⌝ (-1)⋅ THENA Auto)
   THEN Reduce (-1)
   THEN (RW (AddrC [1;2;1] (LemmaC `mk_applies_unroll`)) (-1) THENA Auto')
   THEN Reduce (-1)
   THEN SplitOnHypITE (-1)
   THEN Try (Complete (Auto))
   THEN Thin (-1)
   THEN (Subst ⌜(p + q + 1) - 1 ~ p + q⌝ (-1)⋅ THENA Auto)
   THEN (RW (AddrC [1;2;1;1] (LemmaC `mk_applies_fun`)) (-1) THENA Auto')
   THEN RWO "-1" 0) }
1
1. F : Top
2. k : ℤ
3. 0 < k
4. ∀K:Top. ∀n,p,q:ℕ.
     (mk_lambdas-fun(F;λf.mk_applies(f;K;p + q);n;n + (k - 1)) 
     ~ mk_lambdas-fun(λg.(F (λf.(g mk_applies(f;K;p))));λf.mk_applies(f;λi.(K (p + i));q);n;n + (k - 1)))
5. K : Top
6. n : ℕ
7. ¬((n + k) ≤ n)
8. p : ℕ
9. q : ℕ
10. x : Base
11. mk_lambdas-fun(F;λf.(mk_applies(f;K;p + q) x);n + 1;n + k) 
~ mk_lambdas-fun(λg.(F 
                     (λf.(g mk_applies(f;λi.if (i =z p + q) then x else K i fi p))));λf.mk_applies(f;λi.if (p + i =z p
                                                                                                            + q)
                                                                                                         then x
                                                                                                         else K (p + i)
                                                                                                         fi q + 1);n
+ 1;n + k)
⊢ mk_lambdas-fun(λg.(F 
                     (λf.(g mk_applies(f;λi.if (i =z p + q) then x else K i fi p))));λf.mk_applies(f;λi.if (p + i =z p
                                                                                                            + q)
                                                                                                         then x
                                                                                                         else K (p + i)
                                                                                                         fi q + 1);n
+ 1;n + k) ~ mk_lambdas-fun(λg.(F (λf.(g mk_applies(f;K;p))));λf.(mk_applies(f;λi.(K (p + i));q) x);n + 1;n + k)
Latex:
Latex:
1.  F  :  Top
2.  k  :  \mBbbZ{}
3.  0  <  k
4.  \mforall{}K:Top.  \mforall{}n,p,q:\mBbbN{}.
          (mk\_lambdas-fun(F;\mlambda{}f.mk\_applies(f;K;p  +  q);n;n  +  (k  -  1)) 
          \msim{}  mk\_lambdas-fun(\mlambda{}g.(F  (\mlambda{}f.(g  mk\_applies(f;K;p))));\mlambda{}f.mk\_applies(f;\mlambda{}i.(K  (p  +  i));q);n;n
          +  (k  -  1)))
5.  K  :  Top
6.  n  :  \mBbbN{}
7.  \mneg{}((n  +  k)  \mleq{}  n)
8.  p  :  \mBbbN{}
9.  q  :  \mBbbN{}
10.  x  :  Base
\mvdash{}  mk\_lambdas-fun(F;\mlambda{}f.(mk\_applies(f;K;p  +  q)  x);n  +  1;n  +  k) 
\msim{}  mk\_lambdas-fun(\mlambda{}g.(F  (\mlambda{}f.(g  mk\_applies(f;K;p))));\mlambda{}f.(mk\_applies(f;\mlambda{}i.(K  (p  +  i));q)  x);n  +  1;n
+  k)
By
Latex:
((InstHyp  [\mkleeneopen{}\mlambda{}i.if  (i  =\msubz{}  p  +  q)  then  x  else  K  i  fi  \mkleeneclose{};\mkleeneopen{}n  +  1\mkleeneclose{};\mkleeneopen{}p\mkleeneclose{};\mkleeneopen{}q  +  1\mkleeneclose{}]  (-7)\mcdot{}  THENA  Auto)
  THEN  (Subst  \mkleeneopen{}(n  +  1)  +  (k  -  1)  \msim{}  n  +  k\mkleeneclose{}  (-1)\mcdot{}  THENA  Auto)
  THEN  Reduce  (-1)
  THEN  (RW  (AddrC  [1;2;1]  (LemmaC  `mk\_applies\_unroll`))  (-1)  THENA  Auto')
  THEN  Reduce  (-1)
  THEN  SplitOnHypITE  (-1)
  THEN  Try  (Complete  (Auto))
  THEN  Thin  (-1)
  THEN  (Subst  \mkleeneopen{}(p  +  q  +  1)  -  1  \msim{}  p  +  q\mkleeneclose{}  (-1)\mcdot{}  THENA  Auto)
  THEN  (RW  (AddrC  [1;2;1;1]  (LemmaC  `mk\_applies\_fun`))  (-1)  THENA  Auto')
  THEN  RWO  "-1"  0)
Home
Index