mlt_inning_val() ==
  
z.let s,x = z in
       let n,vs,i = s in 
      case x
      of inl(v) => inl inl <n, 0, v>  
       | inr(vote) => let m,j,v = vote in 
                      if n <z m then inl inl vote  
                      if i 
z j then inl inl vote  
                      if (
x
vs.
(x =
 v))_b
                        then inl inl <n, i, strict-majority-or-max([v / vs])>  
                      else inl (inr <n, v> ) 
                      fi 
Definitions : 
lambda:
x.A[x], 
spread: spread def, 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
natural_number: $n, 
spreadn: spread3, 
lt_int: i <z j, 
le_int: i 
z j, 
ifthenelse: if b then t else f fi , 
bl-exists: (
x
L.P[x])_b, 
bnot: 
b, 
eq_int: (i =
 j), 
strict-majority-or-max: strict-majority-or-max(L), 
cons: [car / cdr], 
inl: inl x , 
inr: inr x , 
pair: <a, b>
FDL editor aliases : 
mlt_inning_val
mlt\_inning\_val()  ==
    \mlambda{}z.let  s,x  =  z  in
              let  n,vs,i  =  s  in 
            case  x
            of  inl(v)  =>  inl  inl  <n,  0,  v>   
              |  inr(vote)  =>  let  m,j,v  =  vote  in 
                                            if  n  <z  m  then  inl  inl  vote   
                                            if  i  \mleq{}z  j  then  inl  inl  vote   
                                            if  (\mexists{}x\mmember{}vs.\mneg{}\msubb{}(x  =\msubz{}  v))\_b
                                                then  inl  inl  <n,  i,  strict-majority-or-max([v  /  vs])>   
                                            else  inl  (inr  <n,  v>  ) 
                                            fi 
Date html generated:
2010_08_27-PM-08_30_55
Last ObjectModification:
2010_06_23-PM-11_58_45
Home
Index