{ [typ,argtype:Type]. [arg:ClassDerivation]. [fun:argtype
                                                      bag(typ)
                                                      bag(typ)].
    (cdvreccomb(typ;argtype;arg;fun)  ClassDerivation) }

{ Proof }



Definitions occuring in Statement :  cdvreccomb: cdvreccomb(typ;argtype;arg;fun) classderiv: ClassDerivation uall: [x:A]. B[x] member: t  T function: x:A  B[x] universe: Type bag: bag(T)
Definitions :  lambda: x.A[x] tag-by: zT ldag: LabeledDAG(T) labeled-graph: LabeledGraph(T) record+: record+ record: record(x.T[x]) fset: FSet{T} dataflow: dataflow(A;B) isect2: T1  T2 b-union: A  B rev_implies: P  Q or: P  Q implies: P  Q iff: P  Q list: type List set: {x:A| B[x]}  top: Top true: True prop: so_lambda: x.t[x] type-monotone: Monotone(T.F[T]) eclass: EClass(A[eo; e]) fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  not: A less_than: a < b uimplies: b supposing a and: P  Q uiff: uiff(P;Q) subtype_rel: A r B decision: Decision all: x:A. B[x] axiom: Ax pair: <a, b> inr: inr x  classderiv: ClassDerivation cdvreccomb: cdvreccomb(typ;argtype;arg;fun) equal: s = t uall: [x:A]. B[x] base-deriv: BaseDef unit: Unit union: left + right product: x:A  B[x] function: x:A  B[x] bag: bag(T) universe: Type rec: rec(x.A[x]) member: t  T isect: x:A. B[x]
Lemmas :  bag_wf unit_wf base-deriv_wf type-monotone_wf member_wf subtype_rel_wf uall_wf subtype_rel_sum subtype_rel_simple_product subtype_rel_product

\mforall{}[typ,argtype:Type].  \mforall{}[arg:ClassDerivation].  \mforall{}[fun:argtype  {}\mrightarrow{}  bag(typ)  {}\mrightarrow{}  bag(typ)].
    (cdvreccomb(typ;argtype;arg;fun)  \mmember{}  ClassDerivation)


Date html generated: 2011_08_17-PM-04_23_13
Last ObjectModification: 2011_06_18-AM-11_35_02

Home Index