Nuprl Definition : pi-simple-subst-aux

pi-simple-subst-aux(t;x;P;avoid) ==
  
  pi-simple-subst-aux,P,avoid. F(P) where 
                                 F(0) pizero()  
                                 F(pre.R) pi_prefix_ind(pre;
                                                          pisend(c,v) let c1 if name_eq(c;x) then else fi  in
                                                                         let v1 if name_eq(v;x) then else fi  in
                                                                         picomm(pisend(c1;v1);pi-simple-subst-aux 
                                                                                              avoid);
                                                          pircv(c,v) let maybe-new(v;avoid) in
                                                                        let c1 if name_eq(c;x) then else fi  in
                                                                        let R1 pi-replace(w;v;R) in
                                                                        picomm(pircv(c1;w);pi-simple-subst-aux R1 
                                                                                           [w avoid]))  where  
                                             F(R)   
                                 F(P Q) pioption(pi-simple-subst-aux avoid;pi-simple-subst-aux avoid) where  
                                             F(P)  
                                             F(Q)  
                                 F(P Q) pipar(pi-simple-subst-aux avoid;pi-simple-subst-aux avoid) where  
                                             F(P)  
                                             F(Q)  
                                 F(!P) pirep(pi-simple-subst-aux avoid) where  
                                          F(P)  
                                 F(new v.P) let maybe-new(v;avoid) in
                                               let P1 pi-replace(w;v;P) in
                                               pinew(w;pi-simple-subst-aux P1 [w avoid]) where  
                                               F(P)) 
  
  avoid



Definitions occuring in Statement :  pi-replace: pi-replace(t;x;P) pi_term_ind: pi_term_ind(v;zero;pre,body,rec1....;left,right,rec2,rec3....;left,right,rec4,rec5....;body,rec6....;name,body,rec7....) pinew: pinew(name;body) pirep: pirep(body) pipar: pipar(left;right) pioption: pioption(left;right) picomm: picomm(pre;body) pizero: pizero() pi_prefix_ind: pi_prefix_ind pircv: pircv(chan;var) pisend: pisend(chan;var) maybe-new: maybe-new(s;avoid) name_eq: name_eq(x;y) cons: [a b] ifthenelse: if then else fi  let: let ycomb: Y apply: a lambda: λx.A[x]
FDL editor aliases :  pi-simple-subst-aux

Latex:
pi-simple-subst-aux(t;x;P;avoid)  ==
    Y 
    (\mlambda{}pi-simple-subst-aux,P,avoid.
                                                                F(P)  where 
                                                                F(0)  =  pizero()   
                                                                F(pre.R)  =  pi\_prefix\_ind(pre;
                                                                                                                  pisend(c,v){}\mRightarrow{}  let  c1  =  if  name\_eq(c;x)
                                                                                                                                                                then  t
                                                                                                                                                                else  c
                                                                                                                                                                fi    in
                                                                                                                                                let  v1  =  if  name\_eq(v;x)
                                                                                                                                                                  then  t
                                                                                                                                                                  else  v
                                                                                                                                                                  fi    in
                                                                                                                                                picomm(pisend(c1;v1);... 
                                                                                                                                                                                          R 
                                                                                                                                                                                          avoid);
                                                                                                                  pircv(c,v){}\mRightarrow{}  let  w  =  maybe-new(v;avoid)  in
                                                                                                                                              let  c1  =  if  name\_eq(c;x)
                                                                                                                                                                then  t
                                                                                                                                                                else  c
                                                                                                                                                                fi    in
                                                                                                                                              let  R1  =  pi-replace(w;v;R)  in
                                                                                                                                              picomm(pircv(c1;w);... 
                                                                                                                                                                                    R1 
                                                                                                                                                                                    [w  / 
                                                                                                                                                                                      avoid]))  \000C  where   
                                                                                        A  =  F(R)     
                                                                F(P  +  Q)  =  pioption(pi-simple-subst-aux  P  avoid;pi-simple-subst-aux 
                                                                                                                                                                Q 
                                                                                                                                                                avoid)  where   
                                                                                        A  =  F(P)   
                                                                                        B  =  F(Q)   
                                                                F(P  |  Q)  =  pipar(pi-simple-subst-aux  P  avoid;pi-simple-subst-aux  Q 
                                                                                                                                                          avoid)  where   
                                                                                        A  =  F(P)   
                                                                                        B  =  F(Q)   
                                                                F(!P)  =  pirep(pi-simple-subst-aux  P  avoid)  where   
                                                                                  A  =  F(P)   
                                                                F(new  v.P)  =  let  w  =  maybe-new(v;avoid)  in
                                                                                            let  P1  =  pi-replace(w;v;P)  in
                                                                                            pinew(w;pi-simple-subst-aux  P1  [w  /  avoid])  where   
                                                                                            A  =  F(P)) 
    P 
    avoid



Date html generated: 2015_07_23-AM-11_33_40
Last ObjectModification: 2012_08_30-PM-01_19_17

Home Index