let S1, S2 be non empty ManySortedSign ; ( ex f, h being ManySortedSet of NAT st
( S1 = f . F5() & f . 0 = F1() & h . 0 = F2() & ( for n being Nat
for S being non empty ManySortedSign
for x being set st S = f . n & x = h . n holds
( f . (n + 1) = F3(S,x,n) & h . (n + 1) = F4(x,n) ) ) ) & ex f, h being ManySortedSet of NAT st
( S2 = f . F5() & f . 0 = F1() & h . 0 = F2() & ( for n being Nat
for S being non empty ManySortedSign
for x being set st S = f . n & x = h . n holds
( f . (n + 1) = F3(S,x,n) & h . (n + 1) = F4(x,n) ) ) ) implies S1 = S2 )
given f1, h1 being ManySortedSet of NAT such that A1:
S1 = f1 . F5()
and
A2:
f1 . 0 = F1()
and
A3:
h1 . 0 = F2()
and
A4:
for n being Nat
for S being non empty ManySortedSign
for x being set st S = f1 . n & x = h1 . n holds
( f1 . (n + 1) = F3(S,x,n) & h1 . (n + 1) = F4(x,n) )
; ( for f, h being ManySortedSet of NAT holds
( not S2 = f . F5() or not f . 0 = F1() or not h . 0 = F2() or ex n being Nat ex S being non empty ManySortedSign ex x being set st
( S = f . n & x = h . n & not ( f . (n + 1) = F3(S,x,n) & h . (n + 1) = F4(x,n) ) ) ) or S1 = S2 )
A5:
for n being Nat
for S being non empty ManySortedSign
for x being set st S = f1 . n & x = h1 . n holds
( f1 . (n + 1) = F3(S,x,n) & h1 . (n + 1) = F4(x,n) )
by A4;
A6:
for n being Nat
for S being non empty ManySortedSign
for x being set st S = f1 . n & x = h1 . n & S1[S,x,n] holds
S1[F3(S,x,n),F4(x,n),n + 1]
;
A7:
ex S being non empty ManySortedSign ex x being set st
( S = f1 . 0 & x = h1 . 0 & S1[S,x, 0 ] )
by A2;
A8:
for n being Nat ex S being non empty ManySortedSign st
( S = f1 . n & S1[S,h1 . n,n] )
from CIRCCMB2:sch 2(A7, A5, A6);
given f2, h2 being ManySortedSet of NAT such that A9:
S2 = f2 . F5()
and
A10:
f2 . 0 = F1()
and
A11:
h2 . 0 = F2()
and
A12:
for n being Nat
for S being non empty ManySortedSign
for x being set st S = f2 . n & x = h2 . n holds
( f2 . (n + 1) = F3(S,x,n) & h2 . (n + 1) = F4(x,n) )
; S1 = S2
A13:
for n being Nat
for S being non empty ManySortedSign
for x being set st S = f2 . n & x = h2 . n holds
( f2 . (n + 1) = F3(S,x,n) & h2 . (n + 1) = F4(x,n) )
by A12;
defpred S2[ Nat] means h1 . $1 = h2 . $1;
A14:
for n being Nat
for S being non empty ManySortedSign
for x being set st S = f2 . n & x = h2 . n & S1[S,x,n] holds
S1[F3(S,x,n),F4(x,n),n + 1]
;
A15:
ex S being non empty ManySortedSign ex x being set st
( S = f2 . 0 & x = h2 . 0 & S1[S,x, 0 ] )
by A10;
A16:
for n being Nat ex S being non empty ManySortedSign st
( S = f2 . n & S1[S,h2 . n,n] )
from CIRCCMB2:sch 2(A15, A13, A14);
A17:
now for n being Nat st S2[n] holds
S2[n + 1]end;
defpred S3[ Nat] means f1 . $1 = f2 . $1;
A20:
S2[ 0 ]
by A3, A11;
for i being Nat holds S2[i]
from NAT_1:sch 2(A20, A17);
then
for i being object st i in NAT holds
h1 . i = h2 . i
;
then A21:
h1 = h2
by PBOOLE:3;
A22:
now for n being Nat st S3[n] holds
S3[n + 1]let n be
Nat;
( S3[n] implies S3[n + 1] )assume A23:
S3[
n]
;
S3[n + 1]consider S being non
empty ManySortedSign such that A24:
S = f1 . n
and
S1[
S,
h1 . n,
n]
by A8;
f1 . (n + 1) =
F3(
S,
(h1 . n),
n)
by A4, A24
.=
f2 . (n + 1)
by A12, A21, A23, A24
;
hence
S3[
n + 1]
;
verum end;
A25:
S3[ 0 ]
by A2, A10;
for i being Nat holds S3[i]
from NAT_1:sch 2(A25, A22);
hence
S1 = S2
by A1, A9; verum