let C be initialized ConstructorSignature; for e being expression of C st e . {} = [non_op, the carrier of C] holds
ex a being expression of C, an_Adj C st e = (non_op C) term a
let e be expression of C; ( e . {} = [non_op, the carrier of C] implies ex a being expression of C, an_Adj C st e = (non_op C) term a )
assume A1:
e . {} = [non_op, the carrier of C]
; ex a being expression of C, an_Adj C st e = (non_op C) term a
non_op C in the carrier' of C
;
then A2:
e . {} in [: the carrier' of C,{ the carrier of C}:]
by A1, ZFMISC_1:106;
per cases
( ex x being variable st e = x -term C or ex c being constructor OperSymbol of C ex p being FinSequence of QuasiTerms C st
( len p = len (the_arity_of c) & e = c -trm p ) or ex a being expression of C, an_Adj C st e = (non_op C) term a or ex a being expression of C, an_Adj C ex t being expression of C, a_Type C st e = (ast C) term (a,t) )
by Th53;
suppose
ex
a being
expression of
C,
an_Adj C ex
t being
expression of
C,
a_Type C st
e = (ast C) term (
a,
t)
;
ex a being expression of C, an_Adj C st e = (non_op C) term athen consider a being
expression of
C,
an_Adj C,
t being
expression of
C,
a_Type C such that A5:
e = (ast C) term (
a,
t)
;
e = [*, the carrier of C] -tree <*a,t*>
by A5, Th46;
then
e . {} = [*, the carrier of C]
by TREES_4:def 4;
hence
ex
a being
expression of
C,
an_Adj C st
e = (non_op C) term a
by A1, XTUPLE_0:1;
verum end; end;