let it1, it2 be strict ConstructorSignature; ( the carrier' of it1 = {*,non_op} \/ Constructors & ( for o being OperSymbol of it1 st o is constructor holds
( the ResultSort of it1 . o = o `1 & card ( the Arity of it1 . o) = card ((o `2) `1) ) ) & the carrier' of it2 = {*,non_op} \/ Constructors & ( for o being OperSymbol of it2 st o is constructor holds
( the ResultSort of it2 . o = o `1 & card ( the Arity of it2 . o) = card ((o `2) `1) ) ) implies it1 = it2 )
assume that
A23:
the carrier' of it1 = {*,non_op} \/ Constructors
and
A24:
for o being OperSymbol of it1 st o is constructor holds
( the ResultSort of it1 . o = o `1 & card ( the Arity of it1 . o) = card ((o `2) `1) )
and
A25:
the carrier' of it2 = {*,non_op} \/ Constructors
and
A26:
for o being OperSymbol of it2 st o is constructor holds
( the ResultSort of it2 . o = o `1 & card ( the Arity of it2 . o) = card ((o `2) `1) )
; it1 = it2
set S = {a_Type,an_Adj,a_Term};
A27:
the carrier of it1 = {a_Type,an_Adj,a_Term}
by Def9;
A28:
the carrier of it2 = {a_Type,an_Adj,a_Term}
by Def9;
A29:
now for c being Element of Constructors st c <> * & c <> non_op holds
the Arity of it1 . c = the Arity of it2 . clet c be
Element of
Constructors ;
( c <> * & c <> non_op implies the Arity of it1 . c = the Arity of it2 . c )reconsider o1 =
c as
OperSymbol of
it1 by A23, XBOOLE_0:def 3;
reconsider o2 =
o1 as
OperSymbol of
it2 by A23, A25;
assume that A30:
c <> *
and A31:
c <> non_op
;
the Arity of it1 . c = the Arity of it2 . cA32:
o1 is
constructor
by A30, A31;
A33:
o2 is
constructor
by A30, A31;
A34:
card ( the Arity of it1 . o1) = card ((c `2) `1)
by A24, A32;
A35:
card ( the Arity of it2 . o2) = card ((c `2) `1)
by A26, A33;
A36:
the
Arity of
it1 . o1 in {a_Term} *
by A30, A31, Def9;
the
Arity of
it2 . o2 in {a_Term} *
by A30, A31, Def9;
then reconsider p1 = the
Arity of
it1 . o1,
p2 = the
Arity of
it2 . o2 as
FinSequence of
{a_Term} by A36, FINSEQ_1:def 11;
A37:
dom p1 = Seg (len p1)
by FINSEQ_1:def 3;
A38:
dom p2 = Seg (len p2)
by FINSEQ_1:def 3;
hence
the
Arity of
it1 . c = the
Arity of
it2 . c
by A34, A35, A37, A38;
verum end;
then A42:
the Arity of it1 = the Arity of it2
by A23, A25, A27, A28, FUNCT_2:63;
hence
it1 = it2
by A23, A25, A27, A28, A42, FUNCT_2:63; verum