Step * 2 1 of Lemma evalall-append-sqle


1. : ℤ
2. 0 < j
3. ∀a,b:Base.
     (evalall(λlist_ind,L. eval in
                           if is pair then let a,as' 
                                               in [a (list_ind as')] otherwise if Ax then otherwise ⊥^j 
              ⊥ 
              a) ≤ eval evalall(a) in
                   eval evalall(b) in
                     evalall(u v))
4. Base
5. Base
6. 0 ≤ 0
7. ∀a@0,b:Top.  (b b)
8. Ax
⊢ eval in
  if is pair then let a,b 
                      in eval a' evalall(a) in
                         eval b' evalall(b) in
                           <a', b'> otherwise if is inl then eval evalall(outl(v)) in
                                                               inl y
                                              else if is inr then eval evalall(outr(v)) in
                                                                    inr 
                                                   else v ≤ eval evalall(b) in
                                                            evalall(v)
BY
TACTIC:Subst' eval in
                if is pair then let a,b 
                                    in eval a' evalall(a) in
                                       eval b' evalall(b) in
                                         <a', b'> otherwise if is inl then eval evalall(outl(v)) in
                                                                             inl y
                                                            else if is inr then eval evalall(outr(v)) in
                                                                                  inr 
                                                                 else evalall(b) }

1
.....equality..... 
1. : ℤ
2. 0 < j
3. ∀a,b:Base.
     (evalall(λlist_ind,L. eval in
                           if is pair then let a,as' 
                                               in [a (list_ind as')] otherwise if Ax then otherwise ⊥^j 
              ⊥ 
              a) ≤ eval evalall(a) in
                   eval evalall(b) in
                     evalall(u v))
4. Base
5. Base
6. 0 ≤ 0
7. ∀a@0,b:Top.  (b b)
8. Ax
⊢ eval in
  if is pair then let a,b 
                      in eval a' evalall(a) in
                         eval b' evalall(b) in
                           <a', b'> otherwise if is inl then eval evalall(outl(v)) in
                                                               inl y
                                              else if is inr then eval evalall(outr(v)) in
                                                                    inr 
                                                   else evalall(b)

2
1. : ℤ
2. 0 < j
3. ∀a,b:Base.
     (evalall(λlist_ind,L. eval in
                           if is pair then let a,as' 
                                               in [a (list_ind as')] otherwise if Ax then otherwise ⊥^j 
              ⊥ 
              a) ≤ eval evalall(a) in
                   eval evalall(b) in
                     evalall(u v))
4. Base
5. Base
6. 0 ≤ 0
7. ∀a@0,b:Top.  (b b)
8. Ax
⊢ evalall(b) ≤ eval evalall(b) in
               evalall(v)


Latex:


Latex:

1.  j  :  \mBbbZ{}
2.  0  <  j
3.  \mforall{}a,b:Base.
          (evalall(\mlambda{}list$_{ind}$,L.  eval  v  =  L  in
                                                    if  v  is  a  pair  then  let  a,as'  =  v 
                                                                                            in  [a  /  (list$_{ind}$  as')]
                                                    otherwise  if  v  =  Ax  then  b  otherwise  \mbot{}\^{}j  -  1 
                            \mbot{} 
                            a)  \mleq{}  eval  u  =  evalall(a)  in
                                      eval  v  =  evalall(b)  in
                                          evalall(u  @  v))
4.  a  :  Base
5.  b  :  Base
6.  0  \mleq{}  0
7.  \mforall{}a@0,b:Top.    (b  \msim{}  b)
8.  a  \msim{}  Ax
\mvdash{}  eval  v  =  b  in
    if  v  is  a  pair  then  let  a,b  =  v 
                                            in  eval  a'  =  evalall(a)  in
                                                  eval  b'  =  evalall(b)  in
                                                      <a',  b'>  otherwise  if  v  is  inl  then  eval  y  =  evalall(outl(v))  in
                                                                                                                              inl  y
                                                                                            else  if  v  is  inr  then  eval  y  =  evalall(outr(v))  in
                                                                                                                                        inr  y 
                                                                                                      else  v  \mleq{}  eval  v  =  evalall(b)  in
                                                                                                                        evalall(v)


By


Latex:
TACTIC:Subst'  eval  v  =  b  in
                            if  v  is  a  pair  then  let  a,b  =  v 
                                                                    in  eval  a'  =  evalall(a)  in
                                                                          eval  b'  =  evalall(b)  in
                                                                              <a',  b'>
                            otherwise  if  v  is  inl  then  eval  y  =  evalall(outl(v))  in
                                                                                  inl  y
                                                else  if  v  is  inr  then  eval  y  =  evalall(outr(v))  in
                                                                                            inr  y 
                                                          else  v  \msim{}  evalall(b)  0




Home Index