Step
*
1
4
1
of Lemma
l-last-cons
1. u : Base
2. v : Base
3. (if if v is a pair then ff otherwise if v = Ax then tt otherwise ⊥
then u
else eval v = v in
     if v is a pair then let h,t = v 
                         in rec-case(t) of [] => λx.x | h::t => r.λx.(r h) h otherwise if v = Ax then ⊥ otherwise ⊥
fi )↓
4. if v is a pair then ff otherwise if v = Ax then tt otherwise ⊥ ∈ Top + Top
5. (if v is a pair then ff otherwise if v = Ax then tt otherwise ⊥)↓
6. (v)↓
⊢ if if v is a pair then ff otherwise if v = Ax then tt otherwise ⊥
  then u
  else eval v = v in
       if v is a pair then let h,t = v 
                           in rec-case(t) of [] => λx.x | h::t => r.λx.(r h) h otherwise if v = Ax then ⊥ otherwise ⊥
  fi  ≤ eval v = v in
        if v is a pair then let h,t = v 
                            in rec-case(t) of [] => λx.x | h::t => r.λx.(r h) h otherwise if v = Ax then u otherwise ⊥
BY
{ ((CallByValueReduce 0 THENA Auto) THEN RepeatFor 2 ((HVimplies2 0 [1;1] THEN (RWO  "-1" 0 THENA Auto)))) }
1
1. u : Base
2. v : Base
3. (if ⊥
then u
else eval v = v in
     if v is a pair then let h,t = v 
                         in rec-case(t) of [] => λx.x | h::t => r.λx.(r h) h otherwise if v = Ax then ⊥ otherwise ⊥
fi )↓
4. ⊥ ∈ Top + Top
5. (⊥)↓
6. (v)↓
7. ∀a,b:Top.  (if v is a pair then a otherwise b ~ b)
8. ∀a,b:Top.  (if v = Ax then a otherwise b ~ b)
⊢ if ⊥ then u else ⊥ fi  ≤ ⊥
Latex:
Latex:
1.  u  :  Base
2.  v  :  Base
3.  (if  if  v  is  a  pair  then  ff  otherwise  if  v  =  Ax  then  tt  otherwise  \mbot{}
then  u
else  eval  v  =  v  in
          if  v  is  a  pair  then  let  h,t  =  v 
                                                  in  rec-case(t)  of  []  =>  \mlambda{}x.x  |  h::t  =>  r.\mlambda{}x.(r  h)  h
          otherwise  if  v  =  Ax  then  \mbot{}  otherwise  \mbot{}
fi  )\mdownarrow{}
4.  if  v  is  a  pair  then  ff  otherwise  if  v  =  Ax  then  tt  otherwise  \mbot{}  \mmember{}  Top  +  Top
5.  (if  v  is  a  pair  then  ff  otherwise  if  v  =  Ax  then  tt  otherwise  \mbot{})\mdownarrow{}
6.  (v)\mdownarrow{}
\mvdash{}  if  if  v  is  a  pair  then  ff  otherwise  if  v  =  Ax  then  tt  otherwise  \mbot{}
    then  u
    else  eval  v  =  v  in
              if  v  is  a  pair  then  let  h,t  =  v 
                                                      in  rec-case(t)  of  []  =>  \mlambda{}x.x  |  h::t  =>  r.\mlambda{}x.(r  h)  h
              otherwise  if  v  =  Ax  then  \mbot{}  otherwise  \mbot{}
    fi    \mleq{}  eval  v  =  v  in
                if  v  is  a  pair  then  let  h,t  =  v 
                                                        in  rec-case(t)  of  []  =>  \mlambda{}x.x  |  h::t  =>  r.\mlambda{}x.(r  h)  h
                otherwise  if  v  =  Ax  then  u  otherwise  \mbot{}
By
Latex:
((CallByValueReduce  0  THENA  Auto)
  THEN  RepeatFor  2  ((HVimplies2  0  [1;1]  THEN  (RWO    "-1"  0  THENA  Auto)))
  )
Home
Index