reserve SOURCE for non empty finite set,
 p for Probability of Trivial-SigmaField SOURCE,
 Tseq for FinSequence of BoolBinFinTrees IndexedREAL,
 q for FinSequence of NAT;
reserve T for BinHuffmanTree of p;

theorem Th23:
 for X be non empty finite Subset of BinFinTrees IndexedREAL st
 for T be finite binary DecoratedTree of IndexedREAL st T in X holds
 for p be Element of (dom T), r be Element of NAT st r = (T.p) `1
 holds r <= MaxVl(X) holds
 for s,t,w be finite binary DecoratedTree of IndexedREAL st
 s in X & t in X & w= MakeTree (t,s,MaxVl(X) + 1) holds
 for p be Element of (dom w), r be Element of NAT st r = (w.p) `1
 holds r <= MaxVl(X)+1
proof
 let X be non empty finite Subset of BinFinTrees IndexedREAL;
 assume A1: for T be finite binary DecoratedTree of IndexedREAL
 st T in X holds
 for p be Element of (dom T), r be Element of NAT
 st r = (T.p) `1
 holds r <= MaxVl(X);
 let s,t,d be finite binary DecoratedTree of IndexedREAL;
 assume
 A2:s in X & t in X & d= MakeTree (t,s,MaxVl(X) + 1); then
 A3: d.{} = [(MaxVl(X) + 1),(Vrootr t) +(Vrootr s)] by TREES_4:def 4;
 set bx = [MaxVl(X) + 1,(Vrootr t) +(Vrootr s)];
 set q = <*dom t, dom s*>;
 A4: len q = 2 by FINSEQ_1:44;
 A7: dom (bx -tree (t,s)) = tree ((dom t),(dom s)) by TREES_4:14;
A8: for a be object st a in dom d holds a = {} or
 (ex f be Element of dom t st a = <* 0 *> ^ f ) or
 (ex f be Element of dom s st a = <* 1 *> ^ f )
 proof
 let a be object;
 assume A9:a in dom d;
 per cases by A9,A2,A7,TREES_3:def 15;
 suppose a = {};
 hence thesis;
 end;
 suppose ex n being Nat, f being FinSequence st
 ( n < len q & f in q . (n + 1) & a = <*n*> ^ f ); then
 consider n being Nat, f being FinSequence such that
 A10: n < len q & f in q . (n + 1) & a = <*n*> ^ f;
 per cases by NAT_1:23,A10,A4;
 suppose n = 0;
   hence thesis by A10;
 end;
 suppose n = 1;
   hence thesis by A10;
 end;
 end;
end;
let a be Element of (dom d), r be Element of NAT;
 assume A11: r = (d.a) `1;
 per cases by A8;
 suppose a = {};
 hence r <= MaxVl(X)+1 by A11,A3;
 end;
 suppose ex f be Element of dom t st a = <* 0 *> ^ f;
 then
 consider f be Element of dom t such that
 A12: a = <* 0 *> ^ f;
 A13: (d.a) `1 = (t.f) `1 by A12,Th11,A2;
 ex x,y be object st x in NAT & y in REAL & t.f = [x,y] by ZFMISC_1:def 2;
 then reconsider q= (t.f) `1 as Element of NAT;
 q <= MaxVl(X) by A1,A2;
 hence r <= MaxVl(X)+1 by A11,A13,NAT_1:16,XXREAL_0:2;
 end;
 suppose ex f be Element of dom s st a = <* 1 *> ^ f;
 then consider f be Element of dom s such that
 A14: a = <* 1 *> ^ f;
 A15: (d.a) `1 = (s.f) `1 by A14,Th12,A2;
 ex x,y be object st x in NAT & y in REAL & s.f = [x,y] by ZFMISC_1:def 2;
 then reconsider q= (s.f) `1 as Element of NAT;
 q <= MaxVl(X) by A1,A2;
 hence r <= MaxVl(X)+1 by A11,A15,NAT_1:16,XXREAL_0:2;
 end;
 end;
