set X = V;
let s1, s2 be SortSymbol of S; ( t in FreeSort (V,s1) & t in FreeSort (V,s2) implies s1 = s2 )
assume that
A1:
t in FreeSort (V,s1)
and
A2:
t in FreeSort (V,s2)
; s1 = s2
FreeSort (V,s1) = { a where a is Element of TS (DTConMSA V) : ( ex x being set st
( x in V . s1 & a = root-tree [x,s1] ) or ex o being OperSymbol of S st
( [o, the carrier of S] = a . {} & the_result_sort_of o = s1 ) ) }
by MSAFREE:def 10;
then consider a1 being Element of TS (DTConMSA V) such that
A3:
t = a1
and
A4:
( ex x being set st
( x in V . s1 & a1 = root-tree [x,s1] ) or ex o being OperSymbol of S st
( [o, the carrier of S] = a1 . {} & the_result_sort_of o = s1 ) )
by A1;
FreeSort (V,s2) = { a where a is Element of TS (DTConMSA V) : ( ex x being set st
( x in V . s2 & a = root-tree [x,s2] ) or ex o being OperSymbol of S st
( [o, the carrier of S] = a . {} & the_result_sort_of o = s2 ) ) }
by MSAFREE:def 10;
then consider a2 being Element of TS (DTConMSA V) such that
A5:
t = a2
and
A6:
( ex x being set st
( x in V . s2 & a2 = root-tree [x,s2] ) or ex o being OperSymbol of S st
( [o, the carrier of S] = a2 . {} & the_result_sort_of o = s2 ) )
by A2;
per cases
( ex x being set st
( x in V . s1 & a1 = root-tree [x,s1] ) or ex o being OperSymbol of S st
( [o, the carrier of S] = a1 . {} & the_result_sort_of o = s1 ) )
by A4;
suppose
ex
x being
set st
(
x in V . s1 &
a1 = root-tree [x,s1] )
;
s1 = s2then consider x1 being
set such that
x1 in V . s1
and A7:
a1 = root-tree [x1,s1]
;
then consider x2 being
set such that
x2 in V . s2
and A8:
a2 = root-tree [x2,s2]
by A3, A5, A6, A7, TREES_4:3;
[x1,s1] = [x2,s2]
by A3, A5, A7, A8, TREES_4:4;
hence
s1 = s2
by XTUPLE_0:1;
verum end; end;