Step
*
1
1
2
1
of Lemma
int-seg-case-monotone
1. i : ℤ
2. j : ℤ
3. F : {i..j-} ⟶ ℙ
4. G : {i..j-} ⟶ ℙ
5. d : ∀k:{i..j-}. (F[k] ∨ G[k])
6. k : {i..j + 1-}
7. ↑isl(int-seg-case(i;k;d))
8. k' : {k..j + 1-}
9. x : ℤ
10. 0 < x
11. (k + x) ≤ j
12. ¬k + x < i
13. ↑isl(int-seg-case(i;k + (x - 1);d))
⊢ ↑isl(if (k + x) - i <z 1
then inr (λk.Ax) 
else (λn,x. case x
            of inl(p) =>
            inl p
            | inr(f) =>
            case d (i + n) of inl(z) => inl <i + n, z> | inr(u) => inr (λk.if (k) < (i + n)  then f k  else u) ) 
     ((k + x) - i - 1) 
     primrec((k + x) - i - 1;inr (λk.Ax) λn,x. case x
                                                of inl(p) =>
                                                inl p
                                                | inr(f) =>
                                                case d (i + n)
                                                 of inl(z) =>
                                                 inl <i + n, z>
                                                 | inr(u) =>
                                                 inr (λk.if (k) < (i + n)  then f k  else u) )
fi )
BY
{ Subst' primrec((k + x) - i - 1;inr (λk.Ax) λn,x. case x
                                                    of inl(p) =>
                                                    inl p
                                                    | inr(f) =>
                                                    case d (i + n)
                                                     of inl(z) =>
                                                     inl <i + n, z>
                                                     | inr(u) =>
                                                     inr (λk.if (k) < (i + n)  then f k  else u) ) ~ int-seg-case(i;k
+ (x - 1);d) 0 }
1
.....equality..... 
1. i : ℤ
2. j : ℤ
3. F : {i..j-} ⟶ ℙ
4. G : {i..j-} ⟶ ℙ
5. d : ∀k:{i..j-}. (F[k] ∨ G[k])
6. k : {i..j + 1-}
7. ↑isl(int-seg-case(i;k;d))
8. k' : {k..j + 1-}
9. x : ℤ
10. 0 < x
11. (k + x) ≤ j
12. ¬k + x < i
13. ↑isl(int-seg-case(i;k + (x - 1);d))
⊢ primrec((k + x) - i - 1;inr (λk.Ax) λn,x. case x
                                             of inl(p) =>
                                             inl p
                                             | inr(f) =>
                                             case d (i + n)
                                              of inl(z) =>
                                              inl <i + n, z>
                                              | inr(u) =>
                                              inr (λk.if (k) < (i + n)  then f k  else u) ) ~ int-seg-case(i;k + (x - 1)\000C;d)
2
1. i : ℤ
2. j : ℤ
3. F : {i..j-} ⟶ ℙ
4. G : {i..j-} ⟶ ℙ
5. d : ∀k:{i..j-}. (F[k] ∨ G[k])
6. k : {i..j + 1-}
7. ↑isl(int-seg-case(i;k;d))
8. k' : {k..j + 1-}
9. x : ℤ
10. 0 < x
11. (k + x) ≤ j
12. ¬k + x < i
13. ↑isl(int-seg-case(i;k + (x - 1);d))
⊢ ↑isl(if (k + x) - i <z 1
then inr (λk.Ax) 
else (λn,x. case x
            of inl(p) =>
            inl p
            | inr(f) =>
            case d (i + n) of inl(z) => inl <i + n, z> | inr(u) => inr (λk.if (k) < (i + n)  then f k  else u) ) 
     ((k + x) - i - 1) 
     int-seg-case(i;k + (x - 1);d)
fi )
Latex:
Latex:
1.  i  :  \mBbbZ{}
2.  j  :  \mBbbZ{}
3.  F  :  \{i..j\msupminus{}\}  {}\mrightarrow{}  \mBbbP{}
4.  G  :  \{i..j\msupminus{}\}  {}\mrightarrow{}  \mBbbP{}
5.  d  :  \mforall{}k:\{i..j\msupminus{}\}.  (F[k]  \mvee{}  G[k])
6.  k  :  \{i..j  +  1\msupminus{}\}
7.  \muparrow{}isl(int-seg-case(i;k;d))
8.  k'  :  \{k..j  +  1\msupminus{}\}
9.  x  :  \mBbbZ{}
10.  0  <  x
11.  (k  +  x)  \mleq{}  j
12.  \mneg{}k  +  x  <  i
13.  \muparrow{}isl(int-seg-case(i;k  +  (x  -  1);d))
\mvdash{}  \muparrow{}isl(if  (k  +  x)  -  i  <z  1
then  inr  (\mlambda{}k.Ax) 
else  (\mlambda{}n,x.  case  x
                        of  inl(p)  =>
                        inl  p
                        |  inr(f)  =>
                        case  d  (i  +  n)
                          of  inl(z)  =>
                          inl  <i  +  n,  z>
                          |  inr(u)  =>
                          inr  (\mlambda{}k.if  (k)  <  (i  +  n)    then  f  k    else  u)  ) 
          ((k  +  x)  -  i  -  1) 
          primrec((k  +  x)  -  i  -  1;inr  (\mlambda{}k.Ax)  ;\mlambda{}n,x.  case  x
                                                                                                of  inl(p)  =>
                                                                                                inl  p
                                                                                                |  inr(f)  =>
                                                                                                case  d  (i  +  n)
                                                                                                  of  inl(z)  =>
                                                                                                  inl  <i  +  n,  z>
                                                                                                  |  inr(u)  =>
                                                                                                  inr  (\mlambda{}k.if  (k)  <  (i  +  n)    then  f  k    else  u)  )
fi  )
By
Latex:
Subst'  primrec((k  +  x)  -  i  -  1;inr  (\mlambda{}k.Ax)  ;\mlambda{}n,x.  case  x
                                                                                                    of  inl(p)  =>
                                                                                                    inl  p
                                                                                                    |  inr(f)  =>
                                                                                                    case  d  (i  +  n)
                                                                                                      of  inl(z)  =>
                                                                                                      inl  <i  +  n,  z>
                                                                                                      |  inr(u)  =>
                                                                                                      inr  (\mlambda{}k.if  (k)  <  (i  +  n)    then  f  k    else  u)  ) 
\msim{}  int-seg-case(i;k  +  (x  -  1);d)  0
Home
Index