Step
*
1
of Lemma
bl-exists-append
1. j : ℤ
2. j ≠ 0
3. 0 < j
4. ∀L1,P,v:Top.
     (λlist_ind,L. eval v@0 = L in
                   if v@0 is a pair then let a,as' = v@0 
                                         in P[a] ∨b(list_ind as') otherwise if v@0 = Ax then v otherwise ⊥^j - 1 
      ⊥ 
      L1 ≤ (fix((λlist_ind,L. eval v = L in
                              if v is a pair then let a,as' = v 
                                                  in P[a] ∨b(list_ind as') otherwise if v = Ax then ff otherwise ⊥)) 
            L1)
      ∨bv)
5. L1 : Top
6. P : Top
7. v : Top
⊢ eval v@0 = L1 in
  if v@0 is a pair then let a,as' = v@0 
                        in P[a]
                           ∨b(λlist_ind,L. eval v@0 = L in
                                           if v@0 is a pair then let a,as' = v@0 
                                                                 in P[a] ∨b(list_ind as')
                                           otherwise if v@0 = Ax then v otherwise ⊥^j - 1 
                              ⊥ 
                              as') otherwise if v@0 = Ax then v otherwise ⊥ ≤ (fix((λlist_ind,L. eval v = L in
                                                                                                 if v is a pair
                                                                                                 then let a,as' = v 
                                                                                                      in P[a]
                                                                                                         ∨b(list_ind 
                                                                                                            as')
                                                                                                 otherwise if v = Ax
                                                                                                           then ff
                                                                                                           otherwise ⊥))\000C 
                                                                               L1)
  ∨bv
BY
{ ((RW (AddrC [2] UnrollLoopsOnceC) 0 THEN Try (MemTop))
   THEN Strictness
   THEN (Fold `ifthenelse` 0 THEN Fold `it` 0 THEN Fold `btrue` 0 THEN Fold `bor` 0)
   THEN All (RepUR ``so_apply bfalse``)
   THEN RepeatFor 3 ((SqLeCD THEN Try (Complete (Auto))))
   THEN BackThruSomeHyp) }
Latex:
Latex:
1.  j  :  \mBbbZ{}
2.  j  \mneq{}  0
3.  0  <  j
4.  \mforall{}L1,P,v:Top.
          (\mlambda{}list$_{ind}$,L.  eval  v@0  =  L  in
                                    if  v@0  is  a  pair  then  let  a,as'  =  v@0 
                                                                                in  P[a]  \mvee{}\msubb{}(list$_{ind}$  as')
                                    otherwise  if  v@0  =  Ax  then  v  otherwise  \mbot{}\^{}j  -  1 
            \mbot{} 
            L1  \mleq{}  (fix((\mlambda{}list$_{ind}$,L.  eval  v  =  L  in
                                                          if  v  is  a  pair  then  let  a,as'  =  v 
                                                                                                  in  P[a]  \mvee{}\msubb{}(list$_{ind}$  as')  ot\000Cherwise  if  v  =  Ax  then  ff
                                                                                                                                                                      otherwise  \mbot{})) 
                        L1)
            \mvee{}\msubb{}v)
5.  L1  :  Top
6.  P  :  Top
7.  v  :  Top
\mvdash{}  eval  v@0  =  L1  in
    if  v@0  is  a  pair  then  let  a,as'  =  v@0 
                                                in  P[a]
                                                      \mvee{}\msubb{}(\mlambda{}list$_{ind}$,L.  eval  v@0  =  L  in
                                                                                    if  v@0  is  a  pair  then  let  a,as'  =  v@0 
                                                                                                                                in  P[a]  \mvee{}\msubb{}(list$_{ind\mbackslash{}ff\000C7d$  as')
                                                                                    otherwise  if  v@0  =  Ax  then  v  otherwise  \mbot{}\^{}j  -  1 
                                                            \mbot{} 
                                                            as')  otherwise  if  v@0  =  Ax  then  v  otherwise  \mbot{} 
    \mleq{}  (fix((\mlambda{}list$_{ind}$,L.  eval  v  =  L  in
                                            if  v  is  a  pair  then  let  a,as'  =  v 
                                                                                    in  P[a]  \mvee{}\msubb{}(list$_{ind}$  as')
                                            otherwise  if  v  =  Ax  then  ff  otherwise  \mbot{})) 
          L1)
    \mvee{}\msubb{}v
By
Latex:
((RW  (AddrC  [2]  UnrollLoopsOnceC)  0  THEN  Try  (MemTop))
  THEN  Strictness
  THEN  (Fold  `ifthenelse`  0  THEN  Fold  `it`  0  THEN  Fold  `btrue`  0  THEN  Fold  `bor`  0)
  THEN  All  (RepUR  ``so\_apply  bfalse``)
  THEN  RepeatFor  3  ((SqLeCD  THEN  Try  (Complete  (Auto))))
  THEN  BackThruSomeHyp)
Home
Index