Step * 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. 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))↓@i
⊢ a ∈ Base List
BY
((RWO "fun_exp_unroll_1" (-1) THENA Auto) THEN Reduce (-1) THEN HasValueD (-1)) }

1
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. (if is pair then let a,b 
                            in 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 
                                         ⊥ 
                                         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 
                                         ⊥ 
                                         in
                                 <a', b'>
    otherwise if is inl then eval = λ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 
                                            ⊥ 
                                            outl(a b) in
                                   inl y
              else if is inr then eval = λ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 
                                                 ⊥ 
                                                 outr(a b) in
                                        inr 
                   else b)↓@i
7. (a b)↓
⊢ a ∈ Base List


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.  (\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 
        \mbot{} 
        (a  @  b))\mdownarrow{}@i
\mvdash{}  a  \mmember{}  Base  List


By


Latex:
((RWO  "fun\_exp\_unroll\_1"  (-1)  THENA  Auto)  THEN  Reduce  (-1)  THEN  HasValueD  (-1))




Home Index