defpred S1[ set ] means ( $1 is expression of F1() implies P1[$1] );
set X = MSVars F1();
set V = (MSVars F1()) (\/) ( the carrier of F1() --> {0});
set S = F1();
set C = F1();
A5:
F2() is Term of F1(),((MSVars F1()) (\/) ( the carrier of F1() --> {0}))
by MSAFREE3:8;
A6:
for s being SortSymbol of F1()
for v being Element of ((MSVars F1()) (\/) ( the carrier of F1() --> {0})) . s holds S1[ root-tree [v,s]]
proof
let s be
SortSymbol of
F1();
for v being Element of ((MSVars F1()) (\/) ( the carrier of F1() --> {0})) . s holds S1[ root-tree [v,s]]let v be
Element of
((MSVars F1()) (\/) ( the carrier of F1() --> {0})) . s;
S1[ root-tree [v,s]]
set t =
root-tree [v,s];
assume A7:
root-tree [v,s] is
expression of
F1()
;
P1[ root-tree [v,s]]
A8:
(root-tree [v,s]) . {} = [v,s]
by TREES_4:3;
A9:
s in the
carrier of
F1()
;
A10:
((root-tree [v,s]) . {}) `2 = s
by A8;
A11:
s <> the
carrier of
F1()
by A9;
per cases
( ex x being variable st root-tree [v,s] = x -term F1() or ex c being constructor OperSymbol of F1() ex p being FinSequence of QuasiTerms F1() st
( len p = len (the_arity_of c) & root-tree [v,s] = c -trm p ) or ex a being expression of F1(), an_Adj F1() st root-tree [v,s] = (non_op F1()) term a or ex a being expression of F1(), an_Adj F1() ex q being expression of F1(), a_Type F1() st root-tree [v,s] = (ast F1()) term (a,q) )
by A7, Th53;
suppose
ex
c being
constructor OperSymbol of
F1() ex
p being
FinSequence of
QuasiTerms F1() st
(
len p = len (the_arity_of c) &
root-tree [v,s] = c -trm p )
;
P1[ root-tree [v,s]]then consider c being
constructor OperSymbol of
F1(),
p being
FinSequence of
QuasiTerms F1()
such that A12:
len p = len (the_arity_of c)
and A13:
root-tree [v,s] = c -trm p
;
root-tree [v,s] = [c, the carrier of F1()] -tree p
by A12, A13, Def35;
then
(root-tree [v,s]) . {} = [c, the carrier of F1()]
by TREES_4:def 4;
hence
P1[
root-tree [v,s]]
by A10, A11;
verum end; suppose
ex
a being
expression of
F1(),
an_Adj F1() st
root-tree [v,s] = (non_op F1()) term a
;
P1[ root-tree [v,s]]then consider a being
expression of
F1(),
an_Adj F1()
such that A14:
root-tree [v,s] = (non_op F1()) term a
;
A15:
the_arity_of (non_op F1()) = <*(an_Adj F1())*>
by Def9;
A16:
<*(an_Adj F1())*> . 1
= an_Adj F1()
;
len <*(an_Adj F1())*> = 1
by FINSEQ_1:40;
then
root-tree [v,s] = [(non_op F1()), the carrier of F1()] -tree <*a*>
by A14, A15, A16, Def30;
then
(root-tree [v,s]) . {} = [(non_op F1()), the carrier of F1()]
by TREES_4:def 4;
hence
P1[
root-tree [v,s]]
by A10, A11;
verum end; suppose
ex
a being
expression of
F1(),
an_Adj F1() ex
q being
expression of
F1(),
a_Type F1() st
root-tree [v,s] = (ast F1()) term (
a,
q)
;
P1[ root-tree [v,s]]then consider a being
expression of
F1(),
an_Adj F1(),
q being
expression of
F1(),
a_Type F1()
such that A17:
root-tree [v,s] = (ast F1()) term (
a,
q)
;
A18:
the_arity_of (ast F1()) = <*(an_Adj F1()),(a_Type F1())*>
by Def9;
A19:
<*(an_Adj F1()),(a_Type F1())*> . 1
= an_Adj F1()
;
A20:
<*(an_Adj F1()),(a_Type F1())*> . 2
= a_Type F1()
;
len <*(an_Adj F1()),(a_Type F1())*> = 2
by FINSEQ_1:44;
then
root-tree [v,s] = [(ast F1()), the carrier of F1()] -tree <*a,q*>
by A17, A18, A19, A20, Def31;
then
(root-tree [v,s]) . {} = [(ast F1()), the carrier of F1()]
by TREES_4:def 4;
hence
P1[
root-tree [v,s]]
by A10, A11;
verum end; end;
end;
A21:
for o being OperSymbol of F1()
for p being ArgumentSeq of Sym (o,((MSVars F1()) (\/) ( the carrier of F1() --> {0}))) st ( for t being Term of F1(),((MSVars F1()) (\/) ( the carrier of F1() --> {0})) 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,((MSVars F1()) (\/) ( the carrier of F1() --> {0}))) st ( for t being Term of F1(),((MSVars F1()) (\/) ( the carrier of F1() --> {0})) st t in rng p holds
S1[t] ) holds
S1[[o, the carrier of F1()] -tree p]let p be
ArgumentSeq of
Sym (
o,
((MSVars F1()) (\/) ( the carrier of F1() --> {0})));
( ( for t being Term of F1(),((MSVars F1()) (\/) ( the carrier of F1() --> {0})) st t in rng p holds
S1[t] ) implies S1[[o, the carrier of F1()] -tree p] )
assume A22:
for
t being
Term of
F1(),
((MSVars F1()) (\/) ( the carrier of F1() --> {0})) st
t in rng p holds
S1[
t]
;
S1[[o, the carrier of F1()] -tree p]
set t =
[o, the carrier of F1()] -tree p;
assume A23:
[o, the carrier of F1()] -tree p is
expression of
F1()
;
P1[[o, the carrier of F1()] -tree p]
per cases
( ex x being variable st [o, the carrier of F1()] -tree p = x -term F1() or ex c being constructor OperSymbol of F1() ex p being FinSequence of QuasiTerms F1() st
( len p = len (the_arity_of c) & [o, the carrier of F1()] -tree p = c -trm p ) or ex a being expression of F1(), an_Adj F1() st [o, the carrier of F1()] -tree p = (non_op F1()) term a or ex a being expression of F1(), an_Adj F1() ex q being expression of F1(), a_Type F1() st [o, the carrier of F1()] -tree p = (ast F1()) term (a,q) )
by A23, Th53;
suppose
ex
a being
expression of
F1(),
an_Adj F1() st
[o, the carrier of F1()] -tree p = (non_op F1()) term a
;
P1[[o, the carrier of F1()] -tree p]then consider a being
expression of
F1(),
an_Adj F1()
such that A27:
[o, the carrier of F1()] -tree p = (non_op F1()) term a
;
A28:
the_arity_of (non_op F1()) = <*(an_Adj F1())*>
by Def9;
A29:
<*(an_Adj F1())*> . 1
= an_Adj F1()
;
len <*(an_Adj F1())*> = 1
by FINSEQ_1:40;
then
[o, the carrier of F1()] -tree p = [(non_op F1()), the carrier of F1()] -tree <*a*>
by A27, A28, A29, Def30;
then A30:
p = <*a*>
by TREES_4:15;
A31:
rng <*a*> = {a}
by FINSEQ_1:39;
A32:
a in {a}
by TARSKI:def 1;
a is
Term of
F1(),
((MSVars F1()) (\/) ( the carrier of F1() --> {0}))
by MSAFREE3:8;
hence
P1[
[o, the carrier of F1()] -tree p]
by A3, A22, A27, A30, A31, A32;
verum end; suppose
ex
a being
expression of
F1(),
an_Adj F1() ex
q being
expression of
F1(),
a_Type F1() st
[o, the carrier of F1()] -tree p = (ast F1()) term (
a,
q)
;
P1[[o, the carrier of F1()] -tree p]then consider a being
expression of
F1(),
an_Adj F1(),
q being
expression of
F1(),
a_Type F1()
such that A33:
[o, the carrier of F1()] -tree p = (ast F1()) term (
a,
q)
;
A34:
the_arity_of (ast F1()) = <*(an_Adj F1()),(a_Type F1())*>
by Def9;
A35:
<*(an_Adj F1()),(a_Type F1())*> . 1
= an_Adj F1()
;
A36:
<*(an_Adj F1()),(a_Type F1())*> . 2
= a_Type F1()
;
len <*(an_Adj F1()),(a_Type F1())*> = 2
by FINSEQ_1:44;
then
[o, the carrier of F1()] -tree p = [(ast F1()), the carrier of F1()] -tree <*a,q*>
by A33, A34, A35, A36, Def31;
then A37:
p = <*a,q*>
by TREES_4:15;
A38:
rng <*a,q*> = {a,q}
by FINSEQ_2:127;
A39:
a in {a,q}
by TARSKI:def 2;
A40:
q in {a,q}
by TARSKI:def 2;
A41:
a is
Term of
F1(),
((MSVars F1()) (\/) ( the carrier of F1() --> {0}))
by MSAFREE3:8;
A42:
q is
Term of
F1(),
((MSVars F1()) (\/) ( the carrier of F1() --> {0}))
by MSAFREE3:8;
P1[
a]
by A22, A37, A38, A39, A41;
hence
P1[
[o, the carrier of F1()] -tree p]
by A4, A22, A33, A37, A38, A40, A42;
verum end; end;
end;
for t being Term of F1(),((MSVars F1()) (\/) ( the carrier of F1() --> {0})) holds S1[t]
from MSATERM:sch 1(A6, A21);
hence
P1[F2()]
by A5; verum