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