{ [L:{dv:ClassDerivation| WF(dv)}  List]
    (cdv-types(list-to-cdv(L)) ~ concat(map(dv.cdv-types(dv);L))) }

{ Proof }



Definitions occuring in Statement :  list-to-cdv: list-to-cdv(L),  cdv-wf: WF(dv),  cdv-types: cdv-types(dv),  classderiv: ClassDerivation,  map: map(f;as),  uall: [x:A]. B[x],  set: {x:A| B[x]} ,  lambda: x.A[x],  sqequal: s ~ t,  listp: A List,  concat: concat(ll)
Definitions :  uall: [x:A]. B[x],  list-to-cdv: list-to-cdv(L),  map: map(f;as),  member: t  T,  ycomb: Y,  all: x:A. B[x],  list_accum: list_accum(x,a.f[x; a];y;l),  hd: hd(l),  tl: tl(l),  top: Top,  subtype: S  T,  cdv-wf: WF(dv),  and: P  Q,  cdv-types: cdv-types(dv),  listp: A List,  ge: i  j ,  length: ||as||,  prop: ,  le: A  B,  not: A,  implies: P  Q,  false: False
Lemmas :  listp_properties,  classderiv_wf,  cdv-wf_wf,  concat-single,  cdv-types_wf,  top_wf,  concat-cons,  map_wf,  listp_wf,  cdvpair_wf,  append_assoc_sq

\mforall{}[L:\{dv:ClassDerivation|  WF(dv)\}    List\msupplus{}]
    (cdv-types(list-to-cdv(L))  \msim{}  concat(map(\mlambda{}dv.cdv-types(dv);L)))


Date html generated: 2011_08_17-PM-04_27_52
Last ObjectModification: 2011_06_18-AM-11_41_02

Home Index