{ 
[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