Nuprl Definition : C_LVALUE_ind

C_LVALUE_ind(v;
             LV_Ground(loc) Ground[loc];
             LV_Index(lval,idx) rec1.Index[lval; idx; rec1];
             LV_Scomp(lval,comp) rec2.Scomp[lval; comp; rec2])  ==
  fix((λC_LVALUE_ind,v. let lbl,v1 
                        in if lbl="Ground" then Ground[v1]
                           if lbl="Index" then let lval,v2 v1 in Index[lval; v2; C_LVALUE_ind lval]
                           if lbl="Scomp" then let lval,v2 v1 in Scomp[lval; v2; C_LVALUE_ind lval]
                           else ⊥
                           fi )) 
  v



Definitions occuring in Statement :  bottom: atom_eq: if a=b then else fi  apply: a fix: fix(F) lambda: λx.A[x] spread: spread def token: "$token"
FDL editor aliases :  C_LVALUE_ind C_LVALUE_ind
C\_LVALUE\_ind(v;
                          LV\_Ground(loc){}\mRightarrow{}  Ground[loc];
                          LV\_Index(lval,idx){}\mRightarrow{}  rec1.Index[lval;  idx;  rec1];
                          LV\_Scomp(lval,comp){}\mRightarrow{}  rec2.Scomp[lval;  comp;  rec2])    ==
    fix((\mlambda{}C\_LVALUE$_{ind}$,v.  let  lbl,v1  =  v 
                                              in  if  lbl="Ground"  then  Ground[v1]
                                                    if  lbl="Index"  then  let  lval,v2  =  v1  in  Index[lval;  v2;  C\_LVALUE$_\000C{ind}$  lval]
                                                    if  lbl="Scomp"  then  let  lval,v2  =  v1  in  Scomp[lval;  v2;  C\_LVALUE$_\000C{ind}$  lval]
                                                    else  \mbot{}
                                                    fi  )) 
    v



Date html generated: 2015_07_17-AM-07_43_31
Last ObjectModification: 2014_05_05-PM-02_53_04

Home Index