Step * 2 of Lemma list-if-has-value-rev-append


1. : ℤ
2. 0 < j
3. ∀as,bs:Base.
     ((fix((λlist_accum,y,L. eval in
                             if is pair then let h,t 
                                                 in list_accum [h y] otherwise if Ax then otherwise ⊥)) 
       bs 
       as)↓
      list_accum,y,L. eval in
                          if is pair then let h,t 
                                              in list_accum [h y] otherwise if Ax then otherwise ⊥^j 
         ⊥ 
         bs 
         as)↓
      (as ∈ Base List))
4. as Base@i
5. bs Base@i
6. (fix((λlist_accum,y,L. eval in
                          if is pair then let h,t 
                                              in list_accum [h y] otherwise if Ax then otherwise ⊥)) 
    bs 
    as)↓@i
7. (if as Ax then bs otherwise ⊥)↓@i
8. (as)↓
9. ∀a,b:Top.  (if as is pair then otherwise b)
⊢ as ∈ Base List
BY
(HVimplies2 (-3) [1] THEN BotDiv THEN Fold `it` THEN Fold `nil` THEN Auto) }


Latex:


Latex:

1.  j  :  \mBbbZ{}
2.  0  <  j
3.  \mforall{}as,bs:Base.
          ((fix((\mlambda{}list$_{accum}$,y,L.  eval  v  =  L  in
                                                        if  v  is  a  pair  then  let  h,t  =  v 
                                                                                                in  list$_{accum}$  [h  /  y]  t
                                                        otherwise  if  v  =  Ax  then  y  otherwise  \mbot{})) 
              bs 
              as)\mdownarrow{}
          {}\mRightarrow{}  (\mlambda{}list$_{accum}$,y,L.  eval  v  =  L  in
                                                  if  v  is  a  pair  then  let  h,t  =  v 
                                                                                          in  list$_{accum}$  [h  /  y]  t
                                                  otherwise  if  v  =  Ax  then  y  otherwise  \mbot{}\^{}j  -  1 
                  \mbot{} 
                  bs 
                  as)\mdownarrow{}
          {}\mRightarrow{}  (as  \mmember{}  Base  List))
4.  as  :  Base@i
5.  bs  :  Base@i
6.  (fix((\mlambda{}list$_{accum}$,y,L.  eval  v  =  L  in
                                                  if  v  is  a  pair  then  let  h,t  =  v 
                                                                                          in  list$_{accum}$  [h  /  y]  t
                                                  otherwise  if  v  =  Ax  then  y  otherwise  \mbot{})) 
        bs 
        as)\mdownarrow{}@i
7.  (if  as  =  Ax  then  bs  otherwise  \mbot{})\mdownarrow{}@i
8.  (as)\mdownarrow{}
9.  \mforall{}a,b:Top.    (if  as  is  a  pair  then  a  otherwise  b  \msim{}  b)
\mvdash{}  as  \mmember{}  Base  List


By


Latex:
(HVimplies2  (-3)  [1]  THEN  BotDiv  THEN  Fold  `it`  0  THEN  Fold  `nil`  0  THEN  Auto)




Home Index