let x1, x2, y1, y2, z1, z2 be Variable; :: thesis: ( (x1 '=' x2) / y1,y2 = z1 '=' z2 iff ( ( x1 <> y1 & x2 <> y1 & z1 = x1 & z2 = x2 ) or ( x1 = y1 & x2 <> y1 & z1 = y2 & z2 = x2 ) or ( x1 <> y1 & x2 = y1 & z1 = x1 & z2 = y2 ) or ( x1 = y1 & x2 = y1 & z1 = y2 & z2 = y2 ) ) )
set H = x1 '=' x2;
set Hz = z1 '=' z2;
set f = (x1 '=' x2) / y1,y2;
( x1 '=' x2 is being_equality & z1 '=' z2 is being_equality )
by ZF_LANG:16;
then A1:
( x1 '=' x2 is atomic & z1 '=' z2 is atomic )
by ZF_LANG:def 15;
then A2:
( len (x1 '=' x2) = 3 & len (z1 '=' z2) = 3 )
by ZF_LANG:27;
then A3:
dom (x1 '=' x2) = {1,2,3}
by FINSEQ_1:def 3, FINSEQ_3:1;
A4:
( Var1 (x1 '=' x2) = x1 & Var2 (x1 '=' x2) = x2 & Var1 (z1 '=' z2) = z1 & Var2 (z1 '=' z2) = z2 )
by Th1;
then A5:
( (x1 '=' x2) . 1 = 0 & (x1 '=' x2) . 2 = x1 & (x1 '=' x2) . 3 = x2 & (z1 '=' z2) . 1 = 0 & (z1 '=' z2) . 2 = z1 & (z1 '=' z2) . 3 = z2 )
by A1, ZF_LANG:31, ZF_LANG:52;
thus
( not (x1 '=' x2) / y1,y2 = z1 '=' z2 or ( x1 <> y1 & x2 <> y1 & z1 = x1 & z2 = x2 ) or ( x1 = y1 & x2 <> y1 & z1 = y2 & z2 = x2 ) or ( x1 <> y1 & x2 = y1 & z1 = x1 & z2 = y2 ) or ( x1 = y1 & x2 = y1 & z1 = y2 & z2 = y2 ) )
:: thesis: ( ( ( x1 <> y1 & x2 <> y1 & z1 = x1 & z2 = x2 ) or ( x1 = y1 & x2 <> y1 & z1 = y2 & z2 = x2 ) or ( x1 <> y1 & x2 = y1 & z1 = x1 & z2 = y2 ) or ( x1 = y1 & x2 = y1 & z1 = y2 & z2 = y2 ) ) implies (x1 '=' x2) / y1,y2 = z1 '=' z2 )proof
assume A6:
(x1 '=' x2) / y1,
y2 = z1 '=' z2
;
:: thesis: ( ( x1 <> y1 & x2 <> y1 & z1 = x1 & z2 = x2 ) or ( x1 = y1 & x2 <> y1 & z1 = y2 & z2 = x2 ) or ( x1 <> y1 & x2 = y1 & z1 = x1 & z2 = y2 ) or ( x1 = y1 & x2 = y1 & z1 = y2 & z2 = y2 ) )
per cases
( ( x1 <> y1 & x2 <> y1 ) or ( x1 = y1 & x2 <> y1 ) or ( x1 <> y1 & x2 = y1 ) or ( x1 = y1 & x2 = y1 ) )
;
end;
end;
A7:
( dom ((x1 '=' x2) / y1,y2) = dom (x1 '=' x2) & dom (x1 '=' x2) = Seg 3 & dom (z1 '=' z2) = Seg 3 )
by A2, Def4, FINSEQ_1:def 3;
A8:
y1 <> 0
by Th148;
hence
( ( ( x1 <> y1 & x2 <> y1 & z1 = x1 & z2 = x2 ) or ( x1 = y1 & x2 <> y1 & z1 = y2 & z2 = x2 ) or ( x1 <> y1 & x2 = y1 & z1 = x1 & z2 = y2 ) or ( x1 = y1 & x2 = y1 & z1 = y2 & z2 = y2 ) ) implies (x1 '=' x2) / y1,y2 = z1 '=' z2 )
by A9, A12, A15; :: thesis: verum