Step * 1 1 2 1 1 1 of Lemma int-seg-case-monotone


1. : ℤ
2. : ℤ
3. {i..j-} ⟶ ℙ
4. {i..j-} ⟶ ℙ
5. : ∀k:{i..j-}. (F[k] ∨ G[k])
6. {i..j 1-}
7. ↑isl(int-seg-case(i;k;d))
8. k' {k..j 1-}
9. : ℤ
10. 0 < x
11. (k x) ≤ j
12. ¬x < i
13. ↑isl(int-seg-case(i;k (x 1);d))
14. (x 1) < i
⊢ primrec((k x) 1;inr k.Ax) n,x. case x
                                             of inl(p) =>
                                             inl p
                                             inr(f) =>
                                             case (i n)
                                              of inl(z) =>
                                              inl <n, z>
                                              inr(u) =>
                                              inr k.if (k) < (i n)  then k  else u) inr k.Ax) 
BY
(Unfold `int-seg-case` -2 THEN Reduce -2 THEN Auto) }


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))
14.  k  +  (x  -  1)  <  i
\mvdash{}  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{}  inr  (\mlambda{}k.Ax) 


By


Latex:
(Unfold  `int-seg-case`  -2  THEN  Reduce  -2  THEN  Auto)




Home Index