reserve x, y, z for object,
  i, j, n for Nat,
  p, q, r for FinSequence,
  v for FinSequence of NAT;

theorem
  x-flat_tree p = y-flat_tree q implies x = y & p = q
proof
  assume
A1: x-flat_tree p = y-flat_tree q;
 (x-flat_tree p).{} = x by Def3;
  hence x = y by A1,Def3;
  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
    let i be Nat;
    assume that
A4: i >= 1 and
A5: i <= len p;
    consider n be 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;
  end;
  hence thesis by A1,A2,Th2;
end;
