pi-new-trans(x;P;g) ==
  Y 
  (pi-new-trans,l,serial,avoid,m.
    if pDVfire?(m)
    then let n = maybe-new-local(serial;x;avoid) in
          let P' = pi-simple-subst(n;x;P) in
          <g P' l serial l-union(NameDeq;avoid;pi-names(P))
          , make-lg([<l, mk-tagged("msg";pDVfire())>])
          >
    else <pi-new-trans l serial avoid, make-lg([])>
    fi )



Definitions :  ycomb: Y lambda: x.A[x] ifthenelse: if b then t else f fi  pDVfire?: pDVfire?(x) maybe-new-local: maybe-new-local(me;s;avoid) let: let pi-simple-subst: pi-simple-subst(t;x;P) l-union: l-union(eq;as;bs) name-deq: NameDeq pi-names: pi-names(p) cons: [car / cdr] mk-tagged: mk-tagged(tg;x) token: "$token" pDVfire: pDVfire() pair: <a, b> apply: f a make-lg: make-lg(L) nil: []
FDL editor aliases :  pi-new-trans

pi-new-trans(x;P;g)  ==
    Y 
    (\mlambda{}pi-new-trans,l,serial,avoid,m.
        if  pDVfire?(m)
        then  let  n  =  maybe-new-local(serial;x;avoid)  in
                    let  P'  =  pi-simple-subst(n;x;P)  in
                    <g  P'  l  serial  l-union(NameDeq;avoid;pi-names(P))
                    ,  make-lg([<l,  mk-tagged("msg";pDVfire())>])
                    >
        else  <pi-new-trans  l  serial  avoid,  make-lg([])>
        fi  )


Date html generated: 2010_08_27-PM-09_43_03
Last ObjectModification: 2010_05_13-PM-01_30_52

Home Index