Nuprl Definition : decd-run-lt
decd-run-lt(r) ==
  
e1,e2.
   case int_seg_decide(
k.(I(k) where I(
) = 
                             when _ = 
 < 0,  _ = I(
+1).  
_.
                             when 
 = 0.
                               
_,x,y.
                                let a,x1 = x 
                                in let a1,y1 = y 
                                   in if a=a1  then if x1=2 y1 then tt else (inr (
_.
) )  else (inr (
_.
) )
                             when  zzj = 
 > 0,  %3 = I(
-1).
                               
_,x,y.
                                case list_accum(x@0,a.case x@0
                                                      of inl(i) =>
                                                       inl i 
                                                       | inr(i) =>
                                                       case %3 (
.
) x a
                                                       of inl(%2) =>
                                                        let x,y1 = a 
                                                        in let x1,y2 = y 
                                                           in if y1=2 y2
                                                               then if (x) < (x1)
                                                                       then inl <<x, y2>, <i, 
, 
>, %2, inl <
, 
> > 
                                                                       else let info,_ = r x1 
                                                                            in case info
                                                                               of inl(y) =>
                                                                                let ev,_,_ = y in 
                                                                                let x1,y = ev 
                                                                                in if y2=2 y
                                                                                    then if x=x1
                                                                                            then inl <<x1, y>
                                                                                                 , <i, 
, 
>
                                                                                                 , %2
                                                                                                 , ff> 
                                                                                            else (inr (i + 1) )
                                                                                    else (inr (i + 1) )
                                                                                | inr(_) =>
                                                                                let ev,_,_ = "???" in 
                                                                                let x1,y = ev 
                                                                                in if y2=2 y
                                                                                    then if x=x1
                                                                                            then inl <<x1, y>
                                                                                                 , <i, 
, 
>
                                                                                                 , %2
                                                                                                 , ff> 
                                                                                            else (inr (i + 1) )
                                                                                    else (inr (i + 1) )
                                                               else let info,S = r x1 
                                                                    in (
_.case info
                                                                           of inl(y) =>
                                                                            let ev,z,m = y in 
                                                                            let x2,y = ev 
                                                                            in if y1=2 y
                                                                                then let info,_ = _ 
                                                                                     in case info
                                                                                        of inl(y1) =>
                                                                                         let ev,_,_ = y1 in 
                                                                                         let x1,_ = ev 
                                                                                         in if x=x1
                                                                                               then inl <<x1, y>
                                                                                                    , <i, 
, 
>
                                                                                                    , %2
                                                                                                    , ff> 
                                                                                               else (inr (i + 1) )
                                                                                         | inr(_) =>
                                                                                         let ev,_,_ = "???" in 
                                                                                         let x1,_ = ev 
                                                                                         in if x=x1
                                                                                               then inl <<x1, y>
                                                                                                    , <i, 
, 
>
                                                                                                    , %2
                                                                                                    , ff> 
                                                                                               else (inr (i + 1) )
                                                                                else (inr (i + 1) )
                                                                            | inr(z) =>
                                                                            let ev,z,m = "???" in 
                                                                            let x2,y = ev 
                                                                            in if y1=2 y
                                                                                then let info,_ = _ 
                                                                                     in case info
                                                                                        of inl(y1) =>
                                                                                         let ev,_,_ = y1 in 
                                                                                         let x1,_ = ev 
                                                                                         in if x=x1
                                                                                               then inl <<x1, y>
                                                                                                    , <i, 
, 
>
                                                                                                    , %2
                                                                                                    , ff> 
                                                                                               else (inr (i + 1) )
                                                                                         | inr(_) =>
                                                                                         if x=x2
                                                                                            then inl <<x2, y>
                                                                                                 , <i, 
, 
>
                                                                                                 , %2
                                                                                                 , ff> 
                                                                                            else (inr (i + 1) )
                                                                                else (inr (i + 1) )) 
                                                                       <info, S>
                                                        | inr(_) =>
                                                        inr (i + 1)
                                                inr 0
                                                prior-run-events(r;let x,_ = y 
                                                                   in x))
                                of inl(trp) =>
                                 inl let _,%6 = I(zzj) where I(
) = 
                                                  when _ = 
 < 0,  _ = I(
+1).  
_.
                                                  when 
 = 0.
                                                    
_,_,_.
                                                     <
_.(inr <
, 
> )
                                                     , 
%.case %
                                                          of inl(%1) =>
                                                           let _,_,_,_ = %1
                                                           in 
  
                                                           | inr(%2) =>
                                                           let _,_ = %2 
                                                           in 
                                                     >
                                                  when  zzj = 
 > 0,  % = I(
-1).
                                                    
_.if zzj=0
                                                          then 
_,_.<
_.
, 
_.
>
                                                          else (
x,y@0.
                                                                 <
%@0.let z,%7,%8 = %@0 in 
                                                                       inl let %10,_ = % (
.
) z y@0 
                                                                           in case %10 %8
                                                                              of inl(%9) =>
                                                                               let z@0,_,%13,%14 = %9
                                                                               in <z@0
                                                                                  , 
                                                                                  , if zzj - 1=0
                                                                                       then 
                                                                                       else <z, %7, %13>
                                                                                  , %14>  
                                                                               | inr(%10) =>
                                                                               let _,_ = %10 
                                                                               in <x, 
, 
, %7> 
                                                                 , 
%@0.case %@0
                                                                        of inl(%6) =>
                                                                         let z,_,%10,%11 = %6
                                                                         in if zzj=1
                                                                               then <y@0, %11, 
>
                                                                               else if zzj - 1=0
                                                                                       then 
                                                                                       else let z@0,%18,%19 = %10 in 
                                                                                            <z@0
                                                                                            , %18
                                                                                            , let _,%22 = % (
.
) z@0 
                                                                                                          y@0 
                                                                                              in %22 
                                                                                                 (inl <z
                                                                                                 , 
                                                                                                 , %19
                                                                                                 , %11> )>  
                                                                         | inr(%7) =>
                                                                         let _,_ = %7 
                                                                         in any 
                                                                 >)
                                                end where  
                                                (
.
) 
                                                x 
                                                y 
                                     in %6 (inl let z,%10 = trp in <z, let _,%13,%14 = %10 in <
, %13, %14>> ) 
                                 | inr(_) =>
                                 inr (
_.any 
) 
                           end where  
                           (
.
) 
                           e1 
                           e2);1;let x,_ = e2 
                                 in x + 1)
   of inl(%2) =>
    inl let k,%6 = %2 
        in <k, %6> 
    | inr(_) =>
    inr (
_.any 
) 
Definitions occuring in Statement : 
prior-run-events: prior-run-events(r;t), 
int_seg_decide: int_seg_decide(d;i;j), 
bfalse: ff, 
btrue: tt, 
it:
, 
spreadn: spread4, 
spreadn: spread3, 
less: if (a) < (b)  then c  else d, 
int_eq: if a=b  then c  else d, 
apply: f a, 
lambda:
x.A[x], 
spread: spread def, 
pair: <a, b>, 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
inr: inr x , 
inl: inl x , 
ind: ind def, 
subtract: n - m, 
add: n + m, 
natural_number: $n, 
token: "$token", 
list_accum: list_accum(x,a.f[x; a];y;l), 
atom_eq: atomeqn def
FDL editor aliases : 
decd-run-lt
decd-run-lt(r)  ==
    \mlambda{}e1,e2.
      case  int\_seg\_decide(\mlambda{}k.(I(k)  where  I(\malpha{})  = 
                                                          when  $_{}$  =  \malpha{}  <  0,    $_{}$  =  I(\000C\malpha{}+1).    \mlambda{}$_{}$.\mcdot{}
                                                          when  \malpha{}  =  0.
                                                              \mlambda{}$_{}$,x,y.
                                                                let  a,x1  =  x 
                                                                in  let  a1,y1  =  y 
                                                                      in  if  a=a1
                                                                                  then  if  x1=2  y1
                                                                                              then  tt
                                                                                              else  (inr  (\mlambda{}$_{}$.\mcdot{})  )
                                                                                  else  (inr  (\mlambda{}$_{}$.\mcdot{})  )
                                                          when    zzj  =  \malpha{}  >  0,    \%3  =  I(\malpha{}-1).
                                                              \mlambda{}$_{}$,x,y.
                                                                case  list\_accum(x@0,a.case  x@0
                                                                                                            of  inl(i)  =>
                                                                                                              inl  i 
                                                                                                              |  inr(i)  =>
                                                                                                              case  \%3  (\mlambda{}.\mcdot{})  x  a
                                                                                                              of  inl(\%2)  =>
                                                                                                                let  x,y1  =  a 
                                                                                                                in  let  x1,y2  =  y 
                                                                                                                      in  if  y1=2  y2
                                                                                                                              then  if  (x)  <  (x1)
                                                                                                                                              then  inl  <<x,  y2>
                                                                                                                                                        ,  <i,  \mcdot{},  \mcdot{}>
                                                                                                                                                        ,  \%2
                                                                                                                                                        ,  inl  <\mcdot{},  \mcdot{}>  > 
                                                                                                                                              else  let  info,$_{\000C}$  =  r  x1 
                                                                                                                                                        in  case  info
                                                                                                                                                              of  inl(y)  =>
                                                                                                                                                                let  ev,$_\mbackslash{}ff\000C7b}$,$_{}$  =  y  in 
                                                                                                                                                                let  x1,y  =  ev 
                                                                                                                                                                in  if  y2=2  y
                                                                                                                                                                        then  if  x=x1
                                                                                                                                                                                        then  ...
                                                                                                                                                                                        else  ...
                                                                                                                                                                        else  (inr  (i
                                                                                                                                                                      +  1)  )
                                                                                                                                                                |  inr($_\mbackslash{}ff7\000Cb}$)  =>
                                                                                                                                                                let  ev,$_\mbackslash{}ff\000C7b}$,$_{}$  =  "???"  in 
                                                                                                                                                                let  x1,y  =  ev 
                                                                                                                                                                in  if  y2=2  y
                                                                                                                                                                        then  if  x=x1
                                                                                                                                                                                        then  ...
                                                                                                                                                                                        else  ...
                                                                                                                                                                        else  (inr  (i
                                                                                                                                                                      +  1)  )
                                                                                                                              else  let  info,S  =  r  x1 
                                                                                                                                        in  (\mlambda{}$_{}$.c\000Case  info
                                                                                                                                                    of  inl(y)  =>
                                                                                                                                                      let  ev,z,m  =  y  in 
                                                                                                                                                      let  x2,y  =  ev 
                                                                                                                                                      in  if  y1=2  y
                                                                                                                                                              then  let  info,$\mbackslash{}f\000Cf5f{}$  =  $_{}$ 
                                                                                                                                                                        in  case  info
                                                                                                                                                                              of  inl(y1)  =>
                                                                                                                                                                                ...
                                                                                                                                                                                |  inr($\mbackslash{}\000Cff5f{}$)  =>
                                                                                                                                                                                ...
                                                                                                                                                              else  (inr  (i  +  1)  )
                                                                                                                                                      |  inr(z)  =>
                                                                                                                                                      let  ev,z,m  =  "???"  in 
                                                                                                                                                      let  x2,y  =  ev 
                                                                                                                                                      in  if  y1=2  y
                                                                                                                                                              then  let  info,$\mbackslash{}f\000Cf5f{}$  =  $_{}$ 
                                                                                                                                                                        in  case  info
                                                                                                                                                                              of  inl(y1)  =>
                                                                                                                                                                                ...
                                                                                                                                                                                |  inr($\mbackslash{}\000Cff5f{}$)  =>
                                                                                                                                                                                if  x=x2
                                                                                                                                                                                      then  ...
                                                                                                                                                                                      else  ...
                                                                                                                                                              else  (inr  (i  +  1)  )) 
                                                                                                                                              <info,  S>
                                                                                                                |  inr($_{}$)  =>
                                                                                                                inr  (i  +  1)  ;
                                                                                                inr  0  ;
                                                                                                prior-run-events(r;let  x,$_{}$  =\000C  y 
                                                                                                                                      in  x))
                                                                of  inl(trp)  =>
                                                                  inl  let  $_{}$,\%6  =
                                                                            I(zzj)  where  I(\malpha{})  = 
                                                                                when  $_{}$  =  \malpha{}  <  0,    $_{\mbackslash{}ff7\000Cd$  =  I(\malpha{}+1).    \mlambda{}$_{}$.\mcdot{}
                                                                                when  \malpha{}  =  0.
                                                                                    \mlambda{}$_{}$,$_{}$,$\000C_{}$.
                                                                                      <\mlambda{}$_{}$.(inr  <\mcdot{},  \mcdot{}>  )
                                                                                      ,  \mlambda{}\%.case  \%
                                                                                                of  inl(\%1)  =>
                                                                                                  let  $_{}$,$_{}\mbackslash{}\000Cff24,$_{}$,$_{}$  =  \%1
                                                                                                  in  \mcdot{}   
                                                                                                  |  inr(\%2)  =>
                                                                                                  let  $_{}$,$_{}\mbackslash{}\000Cff24  =  \%2 
                                                                                                  in  \mcdot{}
                                                                                      >
                                                                                when    zzj  =  \malpha{}  >  0,    \%  =  I(\malpha{}-1).
                                                                                    \mlambda{}$_{}$.if  zzj=0
                                                                                              then  \mlambda{}$_{}$,$_{}\mbackslash{}\000Cff24.<\mlambda{}$_{}$.\mcdot{},  \mlambda{}$_{}$.\mcdot{}>
                                                                                              else  (\mlambda{}x,y@0.
                                                                                                            <\mlambda{}\%@0.let  z,\%7,\%8  =  \%@0  in 
                                                                                                                        inl  let  \%10,$_{}$  =  \000C\%  (\mlambda{}.\mcdot{})  z  y@0 
                                                                                                                                in  case  \%10  \%8
                                                                                                                                      of  inl(\%9)  =>
                                                                                                                                        let  z@0,$_{}\mbackslash{}ff2\000C4,\%13,\%14  =  \%9
                                                                                                                                        in  <z@0
                                                                                                                                              ,  \mcdot{}
                                                                                                                                              ,  if  zzj  -  1=0
                                                                                                                                                        then  \mcdot{}
                                                                                                                                                        else  <z,  \%7,  \%13>
                                                                                                                                              ,  \%14>   
                                                                                                                                        |  inr(\%10)  =>
                                                                                                                                        let  $_{}$,\mbackslash{}f\000Cf24_{}$  =  \%10 
                                                                                                                                        in  <x,  \mcdot{},  \mcdot{},  \%7> 
                                                                                                            ,  \mlambda{}\%@0.case  \%@0
                                                                                                                          of  inl(\%6)  =>
                                                                                                                            let  z,$_{}$,\%10,\%1\000C1  =  \%6
                                                                                                                            in  if  zzj=1
                                                                                                                                        then  <y@0,  \%11,  \mcdot{}>
                                                                                                                                        else  if  zzj  -  1=0
                                                                                                                                                        then  \mcdot{}
                                                                                                                                                        else  ...   
                                                                                                                            |  inr(\%7)  =>
                                                                                                                            let  $_{}$,$\mbackslash{}ff\000C5f{}$  =  \%7 
                                                                                                                            in  any  \mcdot{}
                                                                                                            >)
                                                                            end  where   
                                                                            (\mlambda{}.\mcdot{}) 
                                                                            x 
                                                                            y 
                                                                          in  \%6 
                                                                                (inl  let  z,\%10  =  trp 
                                                                                          in  <z,  let  $_{}$,\%13,\%14  =  \%10  in  <\000C\mcdot{},  \%13,  \%14>>  ) 
                                                                  |  inr($_{}$)  =>
                                                                  inr  (\mlambda{}$_{}$.any  \mcdot{}) 
                                                      end  where   
                                                      (\mlambda{}.\mcdot{}) 
                                                      e1 
                                                      e2);1;let  x,$_{}$  =  e2 
                                                                  in  x  +  1)
      of  inl(\%2)  =>
        inl  let  k,\%6  =  \%2 
                in  <k,  \%6> 
        |  inr($_{}$)  =>
        inr  (\mlambda{}$_{}$.any  \mcdot{}) 
Date html generated:
2012_01_23-PM-12_43_47
Last ObjectModification:
2011_12_14-PM-12_00_22
Home
Index