defpred S1[ object ] means F5() . $1 = F6() . $1;
A5:
for s being SortSymbol of F1()
for x being Element of F2() . s holds S1[ root-tree [x,s]]
A6:
for o being OperSymbol of F1()
for p being ArgumentSeq of Sym (o,F2()) st ( for t being Term of F1(),F2() st t in rng p holds
S1[t] ) holds
S1[[o, the carrier of F1()] -tree p]
proof
let o be
OperSymbol of
F1();
for p being ArgumentSeq of Sym (o,F2()) st ( for t being Term of F1(),F2() st t in rng p holds
S1[t] ) holds
S1[[o, the carrier of F1()] -tree p]let p be
ArgumentSeq of
Sym (
o,
F2());
( ( for t being Term of F1(),F2() st t in rng p holds
S1[t] ) implies S1[[o, the carrier of F1()] -tree p] )
assume A7:
for
t being
Term of
F1(),
F2() st
t in rng p holds
S1[
t]
;
S1[[o, the carrier of F1()] -tree p]
A8:
(
dom (F5() * p) = dom p &
dom (F6() * p) = dom p )
by PARTFUN1:def 2;
then
F5()
* p = F6()
* p
by A8;
hence F5()
. ([o, the carrier of F1()] -tree p) =
F4(
o,
(F6() * p))
by A2
.=
F6()
. ([o, the carrier of F1()] -tree p)
by A4
;
verum
end;
A10:
for t being Term of F1(),F2() holds S1[t]
from MSATERM:sch 1(A5, A6);
for x being object st x in F1() -Terms F2() holds
S1[x]
by A10;
hence
F5() = F6()
; verum