reserve p,q,r for FinSequence;
reserve u,v,x,y,y1,y2,z for object, A,D,X,Y for set;
reserve i,j,k,l,m,n for Nat;
reserve J for Nat;
reserve n for Nat;

theorem
  for D be non empty set holds ExtendRel(id D) = id (D*)
proof
  let D be non empty set;
  set P = ExtendRel(id D), Q = id(D*);
  for a,b be object holds [a,b] in P iff [a,b] in Q
  proof
    let a,b be object;
    thus [a,b] in P implies [a,b] in Q
    proof
      assume
A1:   [a,b] in P;
      then reconsider a1 = a, b1 = b as Element of D* by ZFMISC_1:87;
A2:   now
        let n be Nat;
        assume n in dom a1;
        then [a1.n,b1.n] in id D by A1,Def3;
        hence a1.n = b1.n by RELAT_1:def 10;
      end;
      len a1 = len b1 by A1,Def3;
      then a1 = b1 by A2,FINSEQ_2:9;
      hence thesis by RELAT_1:def 10;
    end;
    assume
A3: [a,b] in Q;
    then reconsider a1 = a, b1 = b as Element of D* by ZFMISC_1:87;
A4: a1 = b1 by A3,RELAT_1:def 10;
A5: for n st n in dom a1 holds [a1.n,b1.n] in id D
    proof
      let n;
      assume n in dom a1;
      then a1.n in D by FINSEQ_2:11;
      hence thesis by A4,RELAT_1:def 10;
    end;
    len a1 = len b1 by A3,RELAT_1:def 10;
    hence thesis by A5,Def3;
  end;
  hence thesis by RELAT_1:def 2;
end;
