defpred S1[ object , object ] means ( ( for y, z being object st f . $1 = [y,z] holds
$2 = [z,y] ) & ( f . $1 = $2 or ex y, z being object st f . $1 = [y,z] ) );
A1:
now for x being object st x in dom f holds
ex y being object st S1[x,y]let x be
object ;
( x in dom f implies ex y being object st S1[x,y] )assume
x in dom f
;
ex y being object st S1[x,y]now ( ( ex y, z being object st f . x = [y,z] & ex y1 being object st
( ( for y, z being object st f . x = [y,z] holds
y1 = [z,y] ) & ( f . x = y1 or ex y, z being object st f . x = [y,z] ) ) ) or ( ( for y, z being object holds not f . x = [y,z] ) & ex y1 being set st
( ( for y, z being object st f . x = [y,z] holds
y1 = [z,y] ) & ( f . x = y1 or ex y, z being object st f . x = [y,z] ) ) ) )per cases
( ex y, z being object st f . x = [y,z] or for y, z being object holds not f . x = [y,z] )
;
case A2:
ex
y,
z being
object st
f . x = [y,z]
;
ex y1 being object st
( ( for y, z being object st f . x = [y,z] holds
y1 = [z,y] ) & ( f . x = y1 or ex y, z being object st f . x = [y,z] ) )then consider y,
z being
object such that A3:
f . x = [y,z]
;
take y1 =
[z,y];
( ( for y, z being object st f . x = [y,z] holds
y1 = [z,y] ) & ( f . x = y1 or ex y, z being object st f . x = [y,z] ) )thus
for
y,
z being
object st
f . x = [y,z] holds
y1 = [z,y]
( f . x = y1 or ex y, z being object st f . x = [y,z] )thus
(
f . x = y1 or ex
y,
z being
object st
f . x = [y,z] )
by A2;
verum end; case A5:
for
y,
z being
object holds not
f . x = [y,z]
;
ex y1 being set st
( ( for y, z being object st f . x = [y,z] holds
y1 = [z,y] ) & ( f . x = y1 or ex y, z being object st f . x = [y,z] ) )reconsider y1 =
f . x as
set ;
take y1 =
y1;
( ( for y, z being object st f . x = [y,z] holds
y1 = [z,y] ) & ( f . x = y1 or ex y, z being object st f . x = [y,z] ) )thus
( ( for
y,
z being
object st
f . x = [y,z] holds
y1 = [z,y] ) & (
f . x = y1 or ex
y,
z being
object st
f . x = [y,z] ) )
by A5;
verum end; end; end; hence
ex
y being
object st
S1[
x,
y]
;
verum end;
A6:
now for x, y1, y2 being object st x in dom f & S1[x,y1] & S1[x,y2] holds
y1 = y2let x,
y1,
y2 be
object ;
( x in dom f & S1[x,y1] & S1[x,y2] implies y1 = y2 )assume
x in dom f
;
( S1[x,y1] & S1[x,y2] implies y1 = y2 )assume that A7:
S1[
x,
y1]
and A8:
S1[
x,
y2]
;
y1 = y2hence
y1 = y2
;
verum end;
thus
ex g being Function st
( dom g = dom f & ( for x being object st x in dom f holds
S1[x,g . x] ) )
from FUNCT_1:sch 2(A6, A1); verum