st-subst(subst;st) ==
  case(st)
  var(v)=>subst v
  const(t)=>st_const(t)
  ab =>ra,rb.st_arrow(ra;rb)
  a  b =>ra,rb.st_prod(ra;rb)
  a + b =>ra,rb.st_union(ra;rb)
  a list =>ra.st_list(ra)
  Class(a) =>ra.st_class(ra)



Definitions occuring in Statement :  simple_type_ind: simple_type_ind st_class: st_class(kind) st_list: st_list(kind) st_union: st_union(left;right) st_prod: st_prod(fst;snd) st_arrow: st_arrow(domain;range) st_const: st_const(ty) apply: f a
Definitions :  simple_type_ind: simple_type_ind apply: f a st_const: st_const(ty) st_arrow: st_arrow(domain;range) st_prod: st_prod(fst;snd) st_union: st_union(left;right) st_list: st_list(kind) st_class: st_class(kind)
FDL editor aliases :  st-subst

st-subst(subst;st)  ==
    case(st)
    var(v)=>subst  v
    const(t)=>st\_const(t)
    a{}\mrightarrow{}b  =>ra,rb.st\_arrow(ra;rb)
    a  \mtimes{}  b  =>ra,rb.st\_prod(ra;rb)
    a  +  b  =>ra,rb.st\_union(ra;rb)
    a  list  =>ra.st\_list(ra)
    Class(a)  =>ra.st\_class(ra)


Date html generated: 2011_08_17-PM-04_53_31
Last ObjectModification: 2011_02_06-PM-05_25_13

Home Index