Step * 1 1 1 of Lemma evalall-append-implies-list-base


1. : ℤ
2. 0 < j
3. ∀a,b:Base.
     ((λevalall,t. eval in
                   if is pair then let a,b 
                                       in eval a' evalall in
                                          eval b' evalall in
                                            <a', b'> otherwise if is inl then eval evalall outl(x) in
                                                                                inl y
                                                               else if is inr then eval evalall outr(x) in
                                                                                     inr 
                                                                    else x^j 
       ⊥ 
       (a b))↓
      (a ∈ Base List))
4. Base@i
5. Base@i
6. (eval a' = λevalall,t. eval in
                          if is pair then let a,b 
                                              in eval a' evalall in
                                                 eval b' evalall in
                                                   <a', b'> otherwise if is inl then eval evalall outl(x) in
                                                                                       inl y
                                                                      else if is inr then eval evalall outr(x) in
                                                                                            inr 
                                                                           else x^j 
              ⊥ 
              (fst(a)) in
    eval b' = λevalall,t. eval in
                          if is pair then let a,b 
                                              in eval a' evalall in
                                                 eval b' evalall in
                                                   <a', b'> otherwise if is inl then eval evalall outl(x) in
                                                                                       inl y
                                                                      else if is inr then eval evalall outr(x) in
                                                                                            inr 
                                                                           else x^j 
              ⊥ 
              ((snd(a)) b) in
      <a', b'>)↓@i
7. 0 ≤ 0
8. 0 ≤ 0
9. ~ <fst(a), snd(a)>
⊢ <fst(a), snd(a)> ∈ Base List
BY
(HasValueD (-4) THEN HasValueD (-5) THEN Fold `cons` THEN MemCD THEN Auto) }


Latex:


Latex:

1.  j  :  \mBbbZ{}
2.  0  <  j
3.  \mforall{}a,b:Base.
          ((\mlambda{}evalall,t.  eval  x  =  t  in
                                      if  x  is  a  pair  then  let  a,b  =  x 
                                                                              in  eval  a'  =  evalall  a  in
                                                                                    eval  b'  =  evalall  b  in
                                                                                        <a',  b'>  otherwise  if  x  is  inl  then  eval  y  =  evalall 
                                                                                                                                                                                  outl(x)  in
                                                                                                                                                                inl  y
                                                                                                                              else  if  x  is  inr
                                                                                                                                        eval  y  =  evalall  outr(x)  in
                                                                                                                                        inr  y 
                                                                                                                                        else  x\^{}j  -  1 
              \mbot{} 
              (a  @  b))\mdownarrow{}
          {}\mRightarrow{}  (a  \mmember{}  Base  List))
4.  a  :  Base@i
5.  b  :  Base@i
6.  (eval  a'  =  \mlambda{}evalall,t.  eval  x  =  t  in
                                                    if  x  is  a  pair  then  let  a,b  =  x 
                                                                                            in  eval  a'  =  evalall  a  in
                                                                                                  eval  b'  =  evalall  b  in
                                                                                                      <a',  b'>
                                                    otherwise  if  x  is  inl  then  eval  y  =  evalall  outl(x)  in
                                                                                                          inl  y
                                                                        else  if  x  is  inr  then  eval  y  =  evalall  outr(x)  in
                                                                                                                    inr  y 
                                                                                  else  x\^{}j  -  1 
                            \mbot{} 
                            (fst(a))  in
        eval  b'  =  \mlambda{}evalall,t.  eval  x  =  t  in
                                                    if  x  is  a  pair  then  let  a,b  =  x 
                                                                                            in  eval  a'  =  evalall  a  in
                                                                                                  eval  b'  =  evalall  b  in
                                                                                                      <a',  b'>
                                                    otherwise  if  x  is  inl  then  eval  y  =  evalall  outl(x)  in
                                                                                                          inl  y
                                                                        else  if  x  is  inr  then  eval  y  =  evalall  outr(x)  in
                                                                                                                    inr  y 
                                                                                  else  x\^{}j  -  1 
                            \mbot{} 
                            ((snd(a))  @  b)  in
            <a',  b'>)\mdownarrow{}@i
7.  0  \mleq{}  0
8.  0  \mleq{}  0
9.  a  \msim{}  <fst(a),  snd(a)>
\mvdash{}  <fst(a),  snd(a)>  \mmember{}  Base  List


By


Latex:
(HasValueD  (-4)  THEN  HasValueD  (-5)  THEN  Fold  `cons`  0  THEN  MemCD  THEN  Auto)




Home Index