Nuprl Definition : es-with-internal

es-with-internal(es;k;X) ==
  mk-extended-eo(type: e:E × ℕ||X map(λe.info(e);≤loc(e))|| 1;
                 domain: λp.(es-dom(es) (fst(p)));
                 loc: λp.loc(fst(p));
                 info: λp.let e,n 
                          in if (n =z 0) then info(e) else map(λe.info(e);≤loc(e))[n 1] fi ;
                 causal: λe1,e2. ((fst(e1) < fst(e2)) ∨ (((fst(e1)) (fst(e2)) ∈ E) ∧ snd(e1) < snd(e2)));
                 local: λe1,e2. (es-blocl(es;fst(e1);fst(e2))
                               ∨b((¬bes-blocl(es;fst(e2);fst(e1))) ∧b snd(e1) <snd(e2)));
                 pred: λp.if snd(p)=0
                             then if first(fst(p))
                                  then p
                                  else let e' pred(fst(p)) in
                                        let extra map(λe.info(e);≤loc(e')) in
                                        <e', ||extra||>
                                  fi 
                             else <fst(p), (snd(p)) 1>;
                 rank: λp.((k es-rank(es;fst(p))) (snd(p))))



Definitions occuring in Statement :  mk-extended-eo: mk-extended-eo es-info: info(e) es-le-before: loc(e) es-blocl: es-blocl(es;e1;e2) es-first: first(e) es-pred: pred(e) es-rank: es-rank(es;e) es-causl: (e < e') es-loc: loc(e) es-E: E es-dom: es-dom(es) select: L[n] map: map(f;as) length: ||as|| bor: p ∨bq band: p ∧b q int_seg: {i..j-} bnot: ¬bb ifthenelse: if then else fi  lt_int: i <j eq_int: (i =z j) less_than: a < b let: let pi1: fst(t) pi2: snd(t) or: P ∨ Q and: P ∧ Q int_eq: if a=b  then c  else d apply: a lambda: λx.A[x] spread: spread def pair: <a, b> product: x:A × B[x] multiply: m subtract: m add: m natural_number: $n equal: t ∈ T
FDL editor aliases :  es-with-internal

Latex:
es-with-internal(es;k;X)  ==
    mk-extended-eo(type:  e:E  \mtimes{}  \mBbbN{}||X  map(\mlambda{}e.info(e);\mleq{}loc(e))||  +  1;
                                  domain:  \mlambda{}p.(es-dom(es)  (fst(p)));
                                  loc:  \mlambda{}p.loc(fst(p));
                                  info:  \mlambda{}p.let  e,n  =  p 
                                                    in  if  (n  =\msubz{}  0)  then  info(e)  else  X  map(\mlambda{}e.info(e);\mleq{}loc(e))[n  -  1]  fi  ;
                                  causal:  \mlambda{}e1,e2.  ((fst(e1)  <  fst(e2))
                                                                \mvee{}  (((fst(e1))  =  (fst(e2)))  \mwedge{}  snd(e1)  <  snd(e2)));
                                  local:  \mlambda{}e1,e2.  (es-blocl(es;fst(e1);fst(e2))
                                                              \mvee{}\msubb{}((\mneg{}\msubb{}es-blocl(es;fst(e2);fst(e1)))  \mwedge{}\msubb{}  snd(e1)  <z  snd(e2)));
                                  pred:  \mlambda{}p.if  snd(p)=0
                                                          then  if  first(fst(p))
                                                                    then  p
                                                                    else  let  e'  =  pred(fst(p))  in
                                                                                let  extra  =  X  map(\mlambda{}e.info(e);\mleq{}loc(e'))  in
                                                                                <e',  ||extra||>
                                                                    fi 
                                                          else  <fst(p),  (snd(p))  -  1>
                                  rank:  \mlambda{}p.((k  *  es-rank(es;fst(p)))  +  (snd(p))))



Date html generated: 2015_07_21-PM-04_46_23
Last ObjectModification: 2014_08_18-PM-05_31_53

Home Index