let z1, z2 be Complex; :: thesis: (addRel (COMPLEX,z1)) * (addRel (COMPLEX,z2)) = addRel (COMPLEX,(z1 + z2))
A1: (addRel (COMPLEX,z1)) * (addRel (COMPLEX,z2)) c= addRel (COMPLEX,(z1 + z2)) by Th17;
now :: thesis: for x, y being object st [x,y] in addRel (COMPLEX,(z1 + z2)) holds
[x,y] in (addRel (COMPLEX,z1)) * (addRel (COMPLEX,z2))
let x, y be object ; :: thesis: ( [x,y] in addRel (COMPLEX,(z1 + z2)) implies [x,y] in (addRel (COMPLEX,z1)) * (addRel (COMPLEX,z2)) )
reconsider a = x, b = y as set by TARSKI:1;
assume A2: [x,y] in addRel (COMPLEX,(z1 + z2)) ; :: thesis: [x,y] in (addRel (COMPLEX,z1)) * (addRel (COMPLEX,z2))
then [a,b] in addRel (COMPLEX,(z1 + z2)) ;
then A3: ( a in COMPLEX & b in COMPLEX ) by MMLQUER2:4;
then reconsider a = a, b = b as Complex ;
A4: b = (z1 + z2) + a by A2, Th11;
set c = z1 + a;
( z1 + a in COMPLEX & b = z2 + (z1 + a) ) by A4, XCMPLX_0:def 2;
then ( [a,(z1 + a)] in addRel (COMPLEX,z1) & [(z1 + a),b] in addRel (COMPLEX,z2) ) by A3, Th11;
hence [x,y] in (addRel (COMPLEX,z1)) * (addRel (COMPLEX,z2)) by RELAT_1:def 8; :: thesis: verum
end;
then addRel (COMPLEX,(z1 + z2)) c= (addRel (COMPLEX,z1)) * (addRel (COMPLEX,z2)) by RELAT_1:def 3;
hence (addRel (COMPLEX,z1)) * (addRel (COMPLEX,z2)) = addRel (COMPLEX,(z1 + z2)) by A1, XBOOLE_0:def 10; :: thesis: verum