Nuprl Definition : find-hull
find-hull(g;xs) ==
  let L ⟵ [2, ||xs||)
  in eager-accum(hs,k.let p,q = find_transitions(λx,y. k L xy;hs) 
                      in if isl(p) ∧b isl(q)
                         then hs
                         else eval x = outr(p) in
                              eval y = outr(q) in
                                if x <z y
                                then let as ⟵ firstn(x + 1;hs)
                                     in let bs ⟵ nth_tl(y;hs)
                                        in as @ [k / bs]
                                else let as ⟵ firstn((x - y) + 1;nth_tl(y;hs))
                                     in [k / as]
                                fi 
                         fi [0; 1];L)
Definitions occuring in Statement : 
left-test: i L jk, 
from-upto: [n, m), 
eager-accum: eager-accum(x,a.f[x; a];y;l), 
find_transitions: find_transitions(f;L), 
firstn: firstn(n;as), 
length: ||as||, 
nth_tl: nth_tl(n;as), 
append: as @ bs, 
cons: [a / b], 
nil: [], 
band: p ∧b q, 
callbyvalueall: callbyvalueall, 
callbyvalue: callbyvalue, 
outr: outr(x), 
ifthenelse: if b then t else f fi , 
isl: isl(x), 
lt_int: i <z j, 
lambda: λx.A[x], 
spread: spread def, 
subtract: n - m, 
add: n + m, 
natural_number: $n
Definitions occuring in definition : 
from-upto: [n, m), 
length: ||as||, 
eager-accum: eager-accum(x,a.f[x; a];y;l), 
spread: spread def, 
find_transitions: find_transitions(f;L), 
lambda: λx.A[x], 
left-test: i L jk, 
band: p ∧b q, 
isl: isl(x), 
callbyvalue: callbyvalue, 
outr: outr(x), 
ifthenelse: if b then t else f fi , 
lt_int: i <z j, 
append: as @ bs, 
callbyvalueall: callbyvalueall, 
firstn: firstn(n;as), 
add: n + m, 
subtract: n - m, 
nth_tl: nth_tl(n;as), 
cons: [a / b], 
natural_number: $n, 
nil: []
FDL editor aliases : 
find-hull
Latex:
find-hull(g;xs)  ==
    let  L  \mleftarrow{}{}  [2,  ||xs||)
    in  eager-accum(hs,k.let  p,q  =  find\_transitions(\mlambda{}x,y.  k  L  xy;hs) 
                                            in  if  isl(p)  \mwedge{}\msubb{}  isl(q)
                                                  then  hs
                                                  else  eval  x  =  outr(p)  in
                                                            eval  y  =  outr(q)  in
                                                                if  x  <z  y
                                                                then  let  as  \mleftarrow{}{}  firstn(x  +  1;hs)
                                                                          in  let  bs  \mleftarrow{}{}  nth\_tl(y;hs)
                                                                                in  as  @  [k  /  bs]
                                                                else  let  as  \mleftarrow{}{}  firstn((x  -  y)  +  1;nth\_tl(y;hs))
                                                                          in  [k  /  as]
                                                                fi 
                                                  fi  ;[0;  1];L)
Date html generated:
2017_10_02-PM-06_52_13
Last ObjectModification:
2017_08_06-PM-07_31_53
Theory : euclidean!plane!geometry
Home
Index