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();
B0:
F2() is Term of F1(),((MSVars F1()) \/ (the carrier of F1() --> {0 }))
by MSAFREE3:9;
B1:
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();
:: thesis: 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;
:: thesis: S1[ root-tree [v,s]]
set t =
root-tree [v,s];
assume C1:
root-tree [v,s] is
expression of
F1()
;
:: thesis: P1[ root-tree [v,s]]
(
(root-tree [v,s]) . {} = [v,s] &
s in the
carrier of
F1() )
by TREES_4:3;
then C2:
(
((root-tree [v,s]) . {} ) `2 = s &
s <> the
carrier of
F1() )
by MCART_1:7;
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 C1, Th100;
suppose
ex
a being
expression of
F1(),
an_Adj F1() st
root-tree [v,s] = (non_op F1()) term a
;
:: thesis: P1[ root-tree [v,s]]then consider a being
expression of
F1(),
an_Adj F1()
such that C4:
root-tree [v,s] = (non_op F1()) term a
;
(
the_arity_of (non_op F1()) = <*(an_Adj F1())*> &
<*(an_Adj F1())*> . 1
= an_Adj F1() &
len <*(an_Adj F1())*> = 1 )
by CONSTRSIGN, FINSEQ_1:57;
then
root-tree [v,s] = [(non_op F1()),the carrier of F1()] -tree <*a*>
by C4, TERM1;
then
(root-tree [v,s]) . {} = [(non_op F1()),the carrier of F1()]
by TREES_4:def 4;
hence
P1[
root-tree [v,s]]
by C2, MCART_1:7;
:: thesis: 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
;
:: thesis: 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 C5:
root-tree [v,s] = (ast F1()) term a,
q
;
(
the_arity_of (ast F1()) = <*(an_Adj F1()),(a_Type F1())*> &
<*(an_Adj F1()),(a_Type F1())*> . 1
= an_Adj F1() &
<*(an_Adj F1()),(a_Type F1())*> . 2
= a_Type F1() &
len <*(an_Adj F1()),(a_Type F1())*> = 2 )
by CONSTRSIGN, FINSEQ_1:61;
then
root-tree [v,s] = [(ast F1()),the carrier of F1()] -tree <*a,q*>
by C5, TERM2;
then
(root-tree [v,s]) . {} = [(ast F1()),the carrier of F1()]
by TREES_4:def 4;
hence
P1[
root-tree [v,s]]
by C2, MCART_1:7;
:: thesis: verum end; end;
end;
B2:
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();
:: thesis: 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 }));
:: thesis: ( ( 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 Z0:
for
t being
Term of
F1(),
((MSVars F1()) \/ (the carrier of F1() --> {0 })) st
t in rng p holds
S1[
t]
;
:: thesis: S1[[o,the carrier of F1()] -tree p]
set t =
[o,the carrier of F1()] -tree p;
assume C1:
[o,the carrier of F1()] -tree p is
expression of
F1()
;
:: thesis: 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 C1, Th100;
suppose
ex
a being
expression of
F1(),
an_Adj F1() st
[o,the carrier of F1()] -tree p = (non_op F1()) term a
;
:: thesis: P1[[o,the carrier of F1()] -tree p]then consider a being
expression of
F1(),
an_Adj F1()
such that C4:
[o,the carrier of F1()] -tree p = (non_op F1()) term a
;
(
the_arity_of (non_op F1()) = <*(an_Adj F1())*> &
<*(an_Adj F1())*> . 1
= an_Adj F1() &
len <*(an_Adj F1())*> = 1 )
by CONSTRSIGN, FINSEQ_1:57;
then
[o,the carrier of F1()] -tree p = [(non_op F1()),the carrier of F1()] -tree <*a*>
by C4, TERM1;
then 00:
p = <*a*>
by TREES_4:15;
(
rng <*a*> = {a} &
a in {a} &
a is
Term of
F1(),
((MSVars F1()) \/ (the carrier of F1() --> {0 })) )
by FINSEQ_1:56, MSAFREE3:9, TARSKI:def 1;
hence
P1[
[o,the carrier of F1()] -tree p]
by C4, W3, 00, Z0;
:: thesis: 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
;
:: thesis: 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 C5:
[o,the carrier of F1()] -tree p = (ast F1()) term a,
q
;
(
the_arity_of (ast F1()) = <*(an_Adj F1()),(a_Type F1())*> &
<*(an_Adj F1()),(a_Type F1())*> . 1
= an_Adj F1() &
<*(an_Adj F1()),(a_Type F1())*> . 2
= a_Type F1() &
len <*(an_Adj F1()),(a_Type F1())*> = 2 )
by CONSTRSIGN, FINSEQ_1:61;
then
[o,the carrier of F1()] -tree p = [(ast F1()),the carrier of F1()] -tree <*a,q*>
by C5, TERM2;
then 00:
p = <*a,q*>
by TREES_4:15;
(
rng <*a,q*> = {a,q} &
a in {a,q} &
q in {a,q} &
a is
Term of
F1(),
((MSVars F1()) \/ (the carrier of F1() --> {0 })) &
q is
Term of
F1(),
((MSVars F1()) \/ (the carrier of F1() --> {0 })) )
by FINSEQ_2:147, MSAFREE3:9, TARSKI:def 2;
then
(
P1[
a] &
P1[
q] )
by 00, Z0;
hence
P1[
[o,the carrier of F1()] -tree p]
by C5, W4;
:: thesis: verum end; end;
end;
for t being Term of F1(),((MSVars F1()) \/ (the carrier of F1() --> {0 })) holds S1[t]
from MSATERM:sch 1(B1, B2);
hence
P1[F2()]
by B0; :: thesis: verum