set AL = (((ParsedTerms X) # ) * the Arity of S) . o;
set AX = ((ParsedTerms X) * the ResultSort of S) . o;
set D = DTConOSA X;
let f, g be Function of ((((ParsedTerms X) # ) * the Arity of S) . o),(((ParsedTerms X) * the ResultSort of S) . o); :: thesis: ( ( for p being FinSequence of TS (DTConOSA X) st OSSym o,X ==> roots p holds
f . p = (OSSym o,X) -tree p ) & ( for p being FinSequence of TS (DTConOSA X) st OSSym o,X ==> roots p holds
g . p = (OSSym o,X) -tree p ) implies f = g )

assume that
A5: for p being FinSequence of TS (DTConOSA X) st OSSym o,X ==> roots p holds
f . p = (OSSym o,X) -tree p and
A6: for p being FinSequence of TS (DTConOSA X) st OSSym o,X ==> roots p holds
g . p = (OSSym o,X) -tree p ; :: thesis: f = g
A7: for x being set st x in (((ParsedTerms X) # ) * the Arity of S) . o holds
f . x = g . x
proof
let x be set ; :: thesis: ( x in (((ParsedTerms X) # ) * the Arity of S) . o implies f . x = g . x )
assume A8: x in (((ParsedTerms X) # ) * the Arity of S) . o ; :: thesis: f . x = g . x
then reconsider p = x as FinSequence of TS (DTConOSA X) by Th5;
A9: OSSym o,X ==> roots p by A8, Th7;
then f . p = (OSSym o,X) -tree p by A5;
hence f . x = g . x by A6, A9; :: thesis: verum
end;
A10: dom g = (((ParsedTerms X) # ) * the Arity of S) . o by FUNCT_2:def 1;
dom f = (((ParsedTerms X) # ) * the Arity of S) . o by FUNCT_2:def 1;
hence f = g by A10, A7, FUNCT_1:9; :: thesis: verum