reserve
  X,x,y,z for set,
  k,n,m for Nat ,
  f for Function,
  p,q,r for FinSequence of NAT;
reserve p1,p2,p3 for FinSequence;
reserve T,T1 for Tree;
reserve fT,fT1 for finite Tree;
reserve t for Element of T;
reserve w for FinSequence;
reserve t1,t2 for Element of T;
reserve s,t for FinSequence;

theorem Th55:
  NAT,TrivialInfiniteTree are_equipotent
proof
  defpred P[Nat,set] means $2 = $1 |-> 0;
A1: for x being Element of NAT ex y being Element of TrivialInfiniteTree st
  P[x,y]
  proof
    let x be Element of NAT;
    x |-> 0 in TrivialInfiniteTree;
    then reconsider y = x |-> 0 as Element of TrivialInfiniteTree;
    take y;
    thus thesis;
  end;
  consider f being sequence of TrivialInfiniteTree such that
A2: for x being Element of NAT holds P[x,f.x] from FUNCT_2:sch 3(A1);
  take f;
  thus f is one-to-one
  proof
    let x,y be object;
    assume
A3: x in dom f & y in dom f;
    assume
A4: f.x = f.y;
    reconsider x, y as Element of NAT by A3,FUNCT_2:def 1;
    ( P[x,f.x])& P[y,f.y] by A2;
    hence thesis by A4,FINSEQ_2:143;
  end;
  thus
A5: dom f = NAT by FUNCT_2:def 1;
  thus rng f c= TrivialInfiniteTree by RELAT_1:def 19;
  let a be object;
  assume a in TrivialInfiniteTree;
  then consider k being Nat such that
A6: a = k |-> 0;
A7: k in NAT by ORDINAL1:def 12;
  then f.k = a by A2,A6;
  hence thesis by A5,FUNCT_1:def 3,A7;
end;
