let x, y be object ; :: thesis: for p, q being FinSequence st x -flat_tree p = y -flat_tree q holds
( x = y & p = q )

let p, q be FinSequence; :: thesis: ( x -flat_tree p = y -flat_tree q implies ( x = y & p = q ) )
assume A1: x -flat_tree p = y -flat_tree q ; :: thesis: ( x = y & p = q )
(x -flat_tree p) . {} = x by Def3;
hence x = y by A1, Def3; :: thesis: p = q
A2: ( dom (x -flat_tree p) = elementary_tree (len p) & dom (y -flat_tree q) = elementary_tree (len q) ) by Def3;
then A3: len p = len q by A1, Th2;
now :: thesis: for i being Nat st i >= 1 & i <= len p holds
p . i = q . i
let i be Nat; :: thesis: ( i >= 1 & i <= len p implies p . i = q . i )
assume that
A4: i >= 1 and
A5: i <= len p ; :: thesis: p . i = q . i
consider n being Nat such that
A6: i = 1 + n by A4, NAT_1:10;
A7: ( n in NAT & n < len p ) by A5, A6, NAT_1:13, ORDINAL1:def 12;
then p . i = (x -flat_tree p) . <*n*> by A6, Def3;
hence p . i = q . i by A1, A3, A6, A7, Def3; :: thesis: verum
end;
hence p = q by A1, A2, Th2; :: thesis: verum