let x1, x2 be object ; FUNCT_1:def 4 ( not x1 in dom (Special_Function (n1,n2)) or not x2 in dom (Special_Function (n1,n2)) or not (Special_Function (n1,n2)) . x1 = (Special_Function (n1,n2)) . x2 or x1 = x2 )
assume that
A1:
x1 in dom (Special_Function (n1,n2))
and
A2:
x2 in dom (Special_Function (n1,n2))
; ( not (Special_Function (n1,n2)) . x1 = (Special_Function (n1,n2)) . x2 or x1 = x2 )
assume A3:
(Special_Function (n1,n2)) . x1 = (Special_Function (n1,n2)) . x2
; x1 = x2
reconsider x1 = x1 as Element of NAT by A1;
reconsider x2 = x2 as Element of NAT by A2;
A4:
( (Special_Function (n1,n2)) . x2 = IFGT (x2,n1,(x2 + n2),x2) & (Special_Function (n1,n2)) . x1 = IFGT (x1,n1,(x1 + n2),x1) )
by Def2;
per cases
( ( x1 <= n1 & x2 <= n1 ) or ( x1 <= n1 & x2 > n1 ) or ( x2 <= n1 & x1 > n1 ) or ( x1 > n1 & x2 > n1 ) )
;
suppose A6:
(
x1 <= n1 &
x2 > n1 )
;
x1 = x2then
IFGT (
x2,
n1,
(x2 + n2),
x2)
= x2 + n2
by XXREAL_0:def 11;
then A7:
(Special_Function (n1,n2)) . x2 = x2 + n2
by Def2;
IFGT (
x1,
n1,
(x1 + n2),
x1)
= x1
by A6, XXREAL_0:def 11;
then A9:
(Special_Function (n1,n2)) . x1 = x1
by Def2;
(
x1 <> x2 implies
(Special_Function (n1,n2)) . x1 <> (Special_Function (n1,n2)) . x2 )
hence
x1 = x2
by A3;
verum end; suppose A10:
(
x2 <= n1 &
x1 > n1 )
;
x1 = x2
(Special_Function (n1,n2)) . x1 = IFGT (
x1,
n1,
(x1 + n2),
x1)
by Def2;
then A12:
(Special_Function (n1,n2)) . x1 = x1 + n2
by A10, XXREAL_0:def 11;
(Special_Function (n1,n2)) . x2 = IFGT (
x2,
n1,
(x2 + n2),
x2)
by Def2;
then A14:
(Special_Function (n1,n2)) . x2 = x2
by A10, XXREAL_0:def 11;
(
x2 <> x1 implies
(Special_Function (n1,n2)) . x2 <> (Special_Function (n1,n2)) . x1 )
hence
x1 = x2
by A3;
verum end; end;