Step
*
2
of Lemma
callbyvalueall-seq-extend-2
.....upcase..... 
1. F : Top
2. G : Top
3. L : Top
4. i : ℤ
5. 0 < i
6. ∀K:Top. ∀n:ℤ.
     ((0 ≤ n)
     
⇒ 0 < n + (i - 1)
     
⇒ (callbyvalueall-seq(L;λf.mk_applies(f;K;n);mk_lambdas(λout.let x ⟵ F[out]
                                                                   in G[x];(n + (i - 1)) - 1);n;n + (i - 1)) 
        ~ callbyvalueall-seq(λn@0.if (n@0 =z n + (i - 1)) then mk_lambdas(λx.F[x];(n + (i - 1)) - 1) else L n@0 fi 
                             λf.mk_applies(f;K;n);mk_lambdas(λx.G[x];n + (i - 1));n;(n + (i - 1)) + 1)))
⊢ ∀K:Top. ∀n:ℤ.
    ((0 ≤ n)
    
⇒ 0 < n + i
    
⇒ (callbyvalueall-seq(L;λf.mk_applies(f;K;n);mk_lambdas(λout.let x ⟵ F[out]
                                                                  in G[x];(n + i) - 1);n;n + i) 
       ~ callbyvalueall-seq(λn@0.if (n@0 =z n + i) then mk_lambdas(λx.F[x];(n + i) - 1) else L n@0 fi 
                            λf.mk_applies(f;K;n);mk_lambdas(λx.G[x];n + i);n;(n + i) + 1)))
BY
{ ((UnivCD THENA Auto) THEN (Decide ⌜i = 1 ∈ ℤ⌝⋅ THENA Auto)) }
1
1. F : Top
2. G : Top
3. L : Top
4. i : ℤ
5. 0 < i
6. ∀K:Top. ∀n:ℤ.
     ((0 ≤ n)
     
⇒ 0 < n + (i - 1)
     
⇒ (callbyvalueall-seq(L;λf.mk_applies(f;K;n);mk_lambdas(λout.let x ⟵ F[out]
                                                                   in G[x];(n + (i - 1)) - 1);n;n + (i - 1)) 
        ~ callbyvalueall-seq(λn@0.if (n@0 =z n + (i - 1)) then mk_lambdas(λx.F[x];(n + (i - 1)) - 1) else L n@0 fi 
                             λf.mk_applies(f;K;n);mk_lambdas(λx.G[x];n + (i - 1));n;(n + (i - 1)) + 1)))
7. K : Top
8. n : ℤ
9. 0 ≤ n
10. 0 < n + i
11. i = 1 ∈ ℤ
⊢ callbyvalueall-seq(L;λf.mk_applies(f;K;n);mk_lambdas(λout.let x ⟵ F[out]
                                                            in G[x];(n + i) - 1);n;n + i) 
~ callbyvalueall-seq(λn@0.if (n@0 =z n + i) then mk_lambdas(λx.F[x];(n + i) - 1) else L n@0 fi λf.mk_applies(f;K;n)
                     mk_lambdas(λx.G[x];n + i);n;(n + i) + 1)
2
1. F : Top
2. G : Top
3. L : Top
4. i : ℤ
5. 0 < i
6. ∀K:Top. ∀n:ℤ.
     ((0 ≤ n)
     
⇒ 0 < n + (i - 1)
     
⇒ (callbyvalueall-seq(L;λf.mk_applies(f;K;n);mk_lambdas(λout.let x ⟵ F[out]
                                                                   in G[x];(n + (i - 1)) - 1);n;n + (i - 1)) 
        ~ callbyvalueall-seq(λn@0.if (n@0 =z n + (i - 1)) then mk_lambdas(λx.F[x];(n + (i - 1)) - 1) else L n@0 fi 
                             λf.mk_applies(f;K;n);mk_lambdas(λx.G[x];n + (i - 1));n;(n + (i - 1)) + 1)))
7. K : Top
8. n : ℤ
9. 0 ≤ n
10. 0 < n + i
11. ¬(i = 1 ∈ ℤ)
⊢ callbyvalueall-seq(L;λf.mk_applies(f;K;n);mk_lambdas(λout.let x ⟵ F[out]
                                                            in G[x];(n + i) - 1);n;n + i) 
~ callbyvalueall-seq(λn@0.if (n@0 =z n + i) then mk_lambdas(λx.F[x];(n + i) - 1) else L n@0 fi λf.mk_applies(f;K;n)
                     mk_lambdas(λx.G[x];n + i);n;(n + i) + 1)
Latex:
Latex:
.....upcase..... 
1.  F  :  Top
2.  G  :  Top
3.  L  :  Top
4.  i  :  \mBbbZ{}
5.  0  <  i
6.  \mforall{}K:Top.  \mforall{}n:\mBbbZ{}.
          ((0  \mleq{}  n)
          {}\mRightarrow{}  0  <  n  +  (i  -  1)
          {}\mRightarrow{}  (callbyvalueall-seq(L;\mlambda{}f.mk\_applies(f;K;n);mk\_lambdas(\mlambda{}out.let  x  \mleftarrow{}{}  F[out]
                                                                                                                                      in  G[x];(n  +  (i  -  1))  -  1);n;n
                                                        +  (i  -  1))  \msim{}  callbyvalueall-seq(\mlambda{}n@0.if  (n@0  =\msubz{}  n  +  (i  -  1))
                                                                                                                                  then  mk\_lambdas(\mlambda{}x.F[x];(n
                                                                                                                                            +  (i  -  1))  -  1)
                                                                                                                                  else  L  n@0
                                                                                                                                  fi  ;\mlambda{}f.mk\_applies(f;K;n)
                                                                                                                        ;mk\_lambdas(\mlambda{}x.G[x];n  +  (i  -  1));n;(n
                                                                                                                        +  (i  -  1))
                                                                                                                        +  1)))
\mvdash{}  \mforall{}K:Top.  \mforall{}n:\mBbbZ{}.
        ((0  \mleq{}  n)
        {}\mRightarrow{}  0  <  n  +  i
        {}\mRightarrow{}  (callbyvalueall-seq(L;\mlambda{}f.mk\_applies(f;K;n);mk\_lambdas(\mlambda{}out.let  x  \mleftarrow{}{}  F[out]
                                                                                                                                    in  G[x];(n  +  i)  -  1);n;n  +  i) 
              \msim{}  callbyvalueall-seq(\mlambda{}n@0.if  (n@0  =\msubz{}  n  +  i)
                                                                  then  mk\_lambdas(\mlambda{}x.F[x];(n  +  i)  -  1)
                                                                  else  L  n@0
                                                                  fi  ;\mlambda{}f.mk\_applies(f;K;n);mk\_lambdas(\mlambda{}x.G[x];n  +  i);n;(n  +  i)  +  1)))
By
Latex:
((UnivCD  THENA  Auto)  THEN  (Decide  \mkleeneopen{}i  =  1\mkleeneclose{}\mcdot{}  THENA  Auto))
Home
Index