let S1, S2 be strict ManySortedSign ; ( the carrier of S1 = [:{0},(2 -tuples_on A):] & the carrier' of S1 = [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] & ( for a being set st a in A holds
( the Arity of S1 . [1,<*a*>] = {} & the ResultSort of S1 . [1,<*a*>] = [0,<*a,a*>] ) ) & ( for a, b, c being set st a in A & b in A & c in A holds
( the Arity of S1 . [2,<*a,b,c*>] = <*[0,<*b,c*>],[0,<*a,b*>]*> & the ResultSort of S1 . [2,<*a,b,c*>] = [0,<*a,c*>] ) ) & the carrier of S2 = [:{0},(2 -tuples_on A):] & the carrier' of S2 = [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] & ( for a being set st a in A holds
( the Arity of S2 . [1,<*a*>] = {} & the ResultSort of S2 . [1,<*a*>] = [0,<*a,a*>] ) ) & ( for a, b, c being set st a in A & b in A & c in A holds
( the Arity of S2 . [2,<*a,b,c*>] = <*[0,<*b,c*>],[0,<*a,b*>]*> & the ResultSort of S2 . [2,<*a,b,c*>] = [0,<*a,c*>] ) ) implies S1 = S2 )
assume that
A49:
the carrier of S1 = [:{0},(2 -tuples_on A):]
and
A50:
the carrier' of S1 = [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):]
and
A51:
for a being set st a in A holds
( the Arity of S1 . [1,<*a*>] = {} & the ResultSort of S1 . [1,<*a*>] = [0,<*a,a*>] )
and
A52:
for a, b, c being set st a in A & b in A & c in A holds
( the Arity of S1 . [2,<*a,b,c*>] = <*[0,<*b,c*>],[0,<*a,b*>]*> & the ResultSort of S1 . [2,<*a,b,c*>] = [0,<*a,c*>] )
and
A53:
the carrier of S2 = [:{0},(2 -tuples_on A):]
and
A54:
the carrier' of S2 = [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):]
and
A55:
for a being set st a in A holds
( the Arity of S2 . [1,<*a*>] = {} & the ResultSort of S2 . [1,<*a*>] = [0,<*a,a*>] )
and
A56:
for a, b, c being set st a in A & b in A & c in A holds
( the Arity of S2 . [2,<*a,b,c*>] = <*[0,<*b,c*>],[0,<*a,b*>]*> & the ResultSort of S2 . [2,<*a,b,c*>] = [0,<*a,c*>] )
; S1 = S2
A57:
now for x being object st x in [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] holds
the Arity of S1 . x = the Arity of S2 . xlet x be
object ;
( x in [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] implies the Arity of S1 . x = the Arity of S2 . x )assume
x in [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):]
;
the Arity of S1 . x = the Arity of S2 . xthen A58:
(
x in [:{1},(1 -tuples_on A):] or
x in [:{2},(3 -tuples_on A):] )
by XBOOLE_0:def 3;
then
( (
x `1 in {1} &
x `2 in 1
-tuples_on A ) or (
x `1 in {2} &
x `2 in 3
-tuples_on A ) )
by MCART_1:10;
then A59:
( (
x `1 = 1 &
x `2 in 1
-tuples_on A ) or (
x `1 = 2 &
x `2 in 3
-tuples_on A ) )
by TARSKI:def 1;
A60:
now ( x `2 in 3 -tuples_on A implies the Arity of S1 . [2,(x `2)] = the Arity of S2 . [2,(x `2)] )assume
x `2 in 3
-tuples_on A
;
the Arity of S1 . [2,(x `2)] = the Arity of S2 . [2,(x `2)]then consider a,
b,
c being
object such that A61:
(
a in A &
b in A &
c in A &
x `2 = <*a,b,c*> )
by FINSEQ_2:139;
thus the
Arity of
S1 . [2,(x `2)] =
<*[0,<*b,c*>],[0,<*a,b*>]*>
by A52, A61
.=
the
Arity of
S2 . [2,(x `2)]
by A56, A61
;
verum end;
x = [(x `1),(x `2)]
by A58, MCART_1:21;
hence
the
Arity of
S1 . x = the
Arity of
S2 . x
by A59, A62, A60;
verum end;
A64:
now for x being object st x in [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] holds
the ResultSort of S1 . x = the ResultSort of S2 . xlet x be
object ;
( x in [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):] implies the ResultSort of S1 . x = the ResultSort of S2 . x )assume
x in [:{1},(1 -tuples_on A):] \/ [:{2},(3 -tuples_on A):]
;
the ResultSort of S1 . x = the ResultSort of S2 . xthen A65:
(
x in [:{1},(1 -tuples_on A):] or
x in [:{2},(3 -tuples_on A):] )
by XBOOLE_0:def 3;
then
( (
x `1 in {1} &
x `2 in 1
-tuples_on A ) or (
x `1 in {2} &
x `2 in 3
-tuples_on A ) )
by MCART_1:10;
then A66:
( (
x `1 = 1 &
x `2 in 1
-tuples_on A ) or (
x `1 = 2 &
x `2 in 3
-tuples_on A ) )
by TARSKI:def 1;
A67:
now ( x `2 in 3 -tuples_on A implies the ResultSort of S1 . [2,(x `2)] = the ResultSort of S2 . [2,(x `2)] )assume
x `2 in 3
-tuples_on A
;
the ResultSort of S1 . [2,(x `2)] = the ResultSort of S2 . [2,(x `2)]then consider a,
b,
c being
object such that A68:
(
a in A &
b in A &
c in A &
x `2 = <*a,b,c*> )
by FINSEQ_2:139;
thus the
ResultSort of
S1 . [2,(x `2)] =
[0,<*a,c*>]
by A52, A68
.=
the
ResultSort of
S2 . [2,(x `2)]
by A56, A68
;
verum end;
x = [(x `1),(x `2)]
by A65, MCART_1:21;
hence
the
ResultSort of
S1 . x = the
ResultSort of
S2 . x
by A66, A69, A67;
verum end;
( dom the Arity of S1 = the carrier' of S1 & dom the Arity of S2 = the carrier' of S2 )
by FUNCT_2:def 1;
then A71:
the Arity of S1 = the Arity of S2
by A50, A54, A57, FUNCT_1:2;
then
( dom the ResultSort of S1 = the carrier' of S1 & dom the ResultSort of S2 = the carrier' of S2 )
by A49, A50, A53, A54, FUNCT_2:def 1;
hence
S1 = S2
by A49, A50, A53, A54, A71, A64, FUNCT_1:2; verum