Step
*
of Lemma
mk_lambdas-fun-shift-init
∀[F,K:Top]. ∀[n,m,p,q:ℕ].
  (mk_lambdas-fun(F;λf.mk_applies(f;K;p + q);n;m) 
  ~ mk_lambdas-fun(λg.(F (λf.(g mk_applies(f;K;p))));λf.mk_applies(f;λi.(K (p + i));q);n;m))
BY
{ ((UnivCD THENA Auto)
   THEN (Decide n ≤ m THENA Auto)
   THEN Try (Complete ((RecUnfold `mk_lambdas-fun` 0 THEN AutoSplit THEN RWO "mk_applies_split" 0 THEN Auto)))
   THEN (Assert ⌜∃k:ℕ. (m = (n + k) ∈ ℤ)⌝⋅ THENA (InstConcl [⌜m - n⌝]⋅ THEN Auto'))
   THEN D (-1)
   THEN HypSubst' (-1) 0
   THEN ThinVar `m'
   THEN RepeatFor 4 (MoveToConcl (-2))
   THEN NatInd (-1)
   THEN (UnivCD THENA Auto)
   THEN RecUnfold `mk_lambdas-fun` 0
   THEN AutoSplit
   THEN Try (Complete ((RWO "mk_applies_split<" 0 THEN Auto)))
   THEN MemCD) }
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
⊢ 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)
Latex:
Latex:
\mforall{}[F,K:Top].  \mforall{}[n,m,p,q:\mBbbN{}].
    (mk\_lambdas-fun(F;\mlambda{}f.mk\_applies(f;K;p  +  q);n;m) 
    \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;m))
By
Latex:
((UnivCD  THENA  Auto)
  THEN  (Decide  n  \mleq{}  m  THENA  Auto)
  THEN  Try  (Complete  ((RecUnfold  `mk\_lambdas-fun`  0
                                            THEN  AutoSplit
                                            THEN  RWO  "mk\_applies\_split"  0
                                            THEN  Auto)))
  THEN  (Assert  \mkleeneopen{}\mexists{}k:\mBbbN{}.  (m  =  (n  +  k))\mkleeneclose{}\mcdot{}  THENA  (InstConcl  [\mkleeneopen{}m  -  n\mkleeneclose{}]\mcdot{}  THEN  Auto'))
  THEN  D  (-1)
  THEN  HypSubst'  (-1)  0
  THEN  ThinVar  `m'
  THEN  RepeatFor  4  (MoveToConcl  (-2))
  THEN  NatInd  (-1)
  THEN  (UnivCD  THENA  Auto)
  THEN  RecUnfold  `mk\_lambdas-fun`  0
  THEN  AutoSplit
  THEN  Try  (Complete  ((RWO  "mk\_applies\_split<"  0  THEN  Auto)))
  THEN  MemCD)
Home
Index