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;

( 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

hence
p = q
by A1, A2, Th2; :: thesis: verump . 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;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