{ [Info,A,B:Type]. [X:EClass(A)]. [Y:EClass(B)].
    (or-class(X;Y)  EClass(A + B)) }

{ Proof }



Definitions occuring in Statement :  or-class: or-class(X;Y) eclass: EClass(A[eo; e]) uall: [x:A]. B[x] member: t  T union: left + right universe: Type
Definitions :  inr: inr x  inl: inl x  set: {x:A| B[x]}  decide: case b of inl(x) =s[x] | inr(y) =t[y] assert: b es-E-interface: E(X) uimplies: b supposing a quotient: x,y:A//B[x; y] void: Void inl-class: inl-class(X) inr-class: inr-class(X) parallel-class: X || Y bool: subtype: S  T subtype_rel: A r B eq_atom: eq_atom$n(x;y) atom: Atom apply: f a top: Top es-base-E: es-base-E(es) token: "$token" eq_atom: x =a y ifthenelse: if b then t else f fi  record-select: r.x dep-isect: Error :dep-isect,  record+: record+ event_ordering: EO es-E: E event-ordering+: EO+(Info) lambda: x.A[x] all: x:A. B[x] bag: bag(T) function: x:A  B[x] axiom: Ax or-class: or-class(X;Y) union: left + right universe: Type uall: [x:A]. B[x] so_lambda: x y.t[x; y] eclass: EClass(A[eo; e]) isect: x:A. B[x] member: t  T equal: s = t
Lemmas :  inl-class_wf inr-class_wf event-ordering+_wf event-ordering+_inc subtype_rel_self es-base-E_wf es-E_wf eclass_wf parallel-class_wf member_wf es-interface-top es-interface-subtype_rel2 subtype_rel_wf

\mforall{}[Info,A,B:Type].  \mforall{}[X:EClass(A)].  \mforall{}[Y:EClass(B)].    (or-class(X;Y)  \mmember{}  EClass(A  +  B))


Date html generated: 2011_08_16-PM-04_21_55
Last ObjectModification: 2011_01_20-PM-01_05_42

Home Index