Nuprl Definition : C_TYPE_size

C_TYPE_size(p) ==
  fix((λsize,p. let lbl,x = p 
                in if lbl =a "Void" then 0
                   if lbl =a "Int" then 0
                   if lbl =a "Struct" then 1 + Σ(size (snd(x[i])) | i < ||x||)
                   if lbl =a "Array" then 1 + (size (snd(x)))
                   if lbl =a "Pointer" then 1 + (size x)
                   else 0
                   fi )) 
  p



Definitions occuring in Statement :  sum: Σ(f[x] | x < k),  select: L[n],  length: ||as||,  ifthenelse: if b then t else f fi ,  eq_atom: x =a y,  pi2: snd(t),  apply: f a,  fix: fix(F),  lambda: λx.A[x],  spread: spread def,  add: n + m,  natural_number: $n,  token: "$token"
FDL editor aliases :  C_TYPE_size

Latex:
C\_TYPE\_size(p)  ==
    fix((\mlambda{}size,p.  let  lbl,x  =  p 
                                in  if  lbl  =a  "Void"  then  0
                                      if  lbl  =a  "Int"  then  0
                                      if  lbl  =a  "Struct"  then  1  +  \mSigma{}(size  (snd(x[i]))  |  i  <  ||x||)
                                      if  lbl  =a  "Array"  then  1  +  (size  (snd(x)))
                                      if  lbl  =a  "Pointer"  then  1  +  (size  x)
                                      else  0
                                      fi  )) 
    p



Date html generated: 2016_05_16-AM-08_44_27
Last ObjectModification: 2014_06_02-PM-05_23_37

Theory : C-semantics


Home Index