let T1, T2 be DecoratedTree; :: thesis: ( ex q being DTree-yielding FinSequence st
( p = q & dom T1 = tree (doms q) ) & T1 . {} = x & ( for n being Element of NAT st n < len p holds
T1 | <*n*> = p . (n + 1) ) & ex q being DTree-yielding FinSequence st
( p = q & dom T2 = tree (doms q) ) & T2 . {} = x & ( for n being Element of NAT st n < len p holds
T2 | <*n*> = p . (n + 1) ) implies T1 = T2 )

given q1 being DTree-yielding FinSequence such that A15: p = q1 and
A16: dom T1 = tree (doms q1) ; :: thesis: ( not T1 . {} = x or ex n being Element of NAT st
( n < len p & not T1 | <*n*> = p . (n + 1) ) or for q being DTree-yielding FinSequence holds
( not p = q or not dom T2 = tree (doms q) ) or not T2 . {} = x or ex n being Element of NAT st
( n < len p & not T2 | <*n*> = p . (n + 1) ) or T1 = T2 )

assume that
A17: T1 . {} = x and
A18: for n being Element of NAT st n < len p holds
T1 | <*n*> = p . (n + 1) ; :: thesis: ( for q being DTree-yielding FinSequence holds
( not p = q or not dom T2 = tree (doms q) ) or not T2 . {} = x or ex n being Element of NAT st
( n < len p & not T2 | <*n*> = p . (n + 1) ) or T1 = T2 )

given q2 being DTree-yielding FinSequence such that A19: ( p = q2 & dom T2 = tree (doms q2) ) ; :: thesis: ( not T2 . {} = x or ex n being Element of NAT st
( n < len p & not T2 | <*n*> = p . (n + 1) ) or T1 = T2 )

assume that
A20: T2 . {} = x and
A21: for n being Element of NAT st n < len p holds
T2 | <*n*> = p . (n + 1) ; :: thesis: T1 = T2
now :: thesis: for q being FinSequence of NAT st q in dom T1 holds
T1 . q = T2 . q
let q be FinSequence of NAT ; :: thesis: ( q in dom T1 implies T1 . q = T2 . q )
assume A22: q in dom T1 ; :: thesis: T1 . q = T2 . q
now :: thesis: ( q <> {} implies T1 . q = T2 . q )
assume q <> {} ; :: thesis: T1 . q = T2 . q
then consider s being FinSequence of NAT , n being Element of NAT such that
A23: q = <*n*> ^ s by FINSEQ_2:130;
A24: <*n*> in dom T1 by A22, A23, TREES_1:21;
A25: n < len (doms q1) by A16, A22, A23, TREES_3:48;
len (doms q1) = len p by A15, TREES_3:38;
then A26: ( T1 | <*n*> = p . (n + 1) & T2 | <*n*> = p . (n + 1) ) by A18, A21, A25;
A27: s in (dom T1) | <*n*> by A22, A23, A24, TREES_1:def 6;
then T1 . q = (T1 | <*n*>) . s by A23, TREES_2:def 10;
hence T1 . q = T2 . q by A15, A16, A19, A23, A26, A27, TREES_2:def 10; :: thesis: verum
end;
hence T1 . q = T2 . q by A17, A20; :: thesis: verum
end;
hence T1 = T2 by A15, A16, A19, TREES_2:31; :: thesis: verum