let C be initialized standardized ConstructorSignature; for e being expression of C st (e . {}) `1 = non_op holds
ex a being expression of C, an_Adj C st e = [non_op,3] -tree a
let e be expression of C; ( (e . {}) `1 = non_op implies ex a being expression of C, an_Adj C st e = [non_op,3] -tree a )
assume A1:
(e . {}) `1 = non_op
; ex a being expression of C, an_Adj C st e = [non_op,3] -tree a
for x being Element of Vars holds
( not e = x -term C or not e . {} = [x,a_Term] )
by A1, MCART_1:7;
then consider o being OperSymbol of C such that
A4:
e . {} = [o, the carrier of C]
and
( o in Constructors or o = * or o = non_op )
by Th49;
set Y = (MSVars C) \/ ( the carrier of C --> {0});
reconsider t = e as Term of C,((MSVars C) \/ ( the carrier of C --> {0})) by MSAFREE3:9;
consider aa being ArgumentSeq of Sym (o,((MSVars C) \/ ( the carrier of C --> {0}))) such that
A5:
t = [o, the carrier of C] -tree aa
by A4, MSATERM:10;
A6: non_op =
[o, the carrier of C] `1
by A1, A5, TREES_4:def 4
.=
o
by MCART_1:7
;
A7:
the_arity_of (non_op C) = <*(an_Adj C)*>
by ABCMIZ_1:38;
A8: len aa =
len (the_arity_of o)
by MSATERM:22
.=
1
by A6, A7, FINSEQ_1:57
;
then
dom aa = Seg 1
by FINSEQ_1:def 3;
then A9:
1 in dom aa
;
then reconsider t1 = aa . 1 as Term of C,((MSVars C) \/ ( the carrier of C --> {0})) by MSATERM:22;
B4:
len (doms aa) = len aa
by TREES_3:40;
(doms aa) . 1 = dom t1
by A9, FUNCT_6:31;
then B5:
( 0 < 1 & 0 + 1 = 1 & {} in (doms aa) . 1 & <*0*> ^ (<*> NAT) = <*0*> )
by FINSEQ_1:47, TREES_1:47;
dom t = tree (doms aa)
by A5, TREES_4:10;
then reconsider 00 = <*0*> as Element of dom t by A8, B4, B5, TREES_3:def 15;
t1 = t | 00
by A5, A8, B5, TREES_4:def 4;
then B1:
( t1 is expression of C & variables_in t1 c= variables_in t )
by MSAFREE3:33, MSAFREE3:34;
then B3:
variables_in t1 c= MSVars C
by MSAFREE3:28;
the_sort_of t1 =
(the_arity_of o) . 1
by A9, MSATERM:23
.=
an_Adj C
by A6, A7, FINSEQ_1:57
;
then
t1 in { s where s is Term of C,((MSVars C) \/ ( the carrier of C --> {0})) : ( the_sort_of s = an_Adj C & variables_in s c= MSVars C ) }
by B3;
then
t1 in (C -Terms ((MSVars C),((MSVars C) \/ ( the carrier of C --> {0})))) . (an_Adj C)
by MSAFREE3:def 6;
then
t1 in the Sorts of (Free (C,(MSVars C))) . (an_Adj C)
by MSAFREE3:25;
then reconsider a = t1 as expression of C, an_Adj C by B1, ABCMIZ_1:def 28;
take
a
; e = [non_op,3] -tree a
B2:
the carrier of C = 3
by ABCMIZ_1:def 9, YELLOW11:1;
aa = <*a*>
by A8, FINSEQ_1:57;
hence
e = [non_op,3] -tree a
by A5, A6, B2, TREES_4:def 5; verum