reserve k,m,n for Nat, kk,mm,nn for Element of NAT, X,Y,x,y,z for set;
reserve S,S1,S2 for Language, s,s1,s2 for Element of S;
reserve l,l1,l2 for literal Element of S, a for ofAtomicFormula Element of S,
r for relational Element of S, w,w1,w2 for string of S,
t,t1,t2 for termal string of S, tt,tt1, tt2 for Element of AllTermsOf S;

theorem Th16:
  t is non 0-termal implies S-firstChar.t is operational & SubTerms t <> {}
proof
set T=S-termsOfMaxDepth, m=Depth t, ST=SubTerms t, TT=AllTermsOf S;
assume t is non 0-termal; then
m <> 0 by Def40; then
consider n such that
A1: m=n+1 by NAT_1:6;
set F=S-firstChar, C=S-multiCat,
Fam={Compound(s,T.n) where s is ofAtomicFormula Element of S:
  s is operational};
n < m by A1, NAT_1:16; then not t is n-termal & t is m-termal by Def40;
then not t in T.n & t in T.(n+1) by A1; then
(t in (union Fam) \/ T.n) & not t in T.n by Def30;
then t in union Fam by XBOOLE_0:def 3; then
consider x being set such that
A2: t in x & x in Fam by TARSKI:def 4;
consider s being ofAtomicFormula Element of S such that
A3: x=Compound(s,T.n) & s is operational by A2; set k=|.ar s.|;
consider StringTuple being Element of (AllSymbolsOf S)** such that
A4: t=<*s*>^(C.StringTuple) & rng StringTuple c= T.n
& StringTuple is (|.ar s.|)-element by A2, A3;
A5: F.t = (<*s*>^(C.StringTuple)).1 by FOMODEL0:6, A4 .=
<*s*>.1 by FOMODEL0:28 .= s; hence F.t is operational by A3;
reconsider k1=k as non zero Nat by A3; reconsider STT=ST as (k1+0)-element
Element of TT* by A5; STT <>{}; hence thesis;
end;
