reserve x,y for set;
reserve C,C9,D,E for non empty set;
reserve c,c9,c1,c2,c3 for Element of C;
reserve B,B9,B1,B2 for Element of Fin C;
reserve A for Element of Fin C9;
reserve d,d1,d2,d3,d4,e for Element of D;
reserve F,G for BinOp of D;
reserve u for UnOp of D;
reserve f,f9 for Function of C,D;
reserve g for Function of C9,D;
reserve H for BinOp of E;
reserve h for Function of D,E;
reserve i,j for Nat;
reserve s for Function;
reserve p,q for FinSequence of D;
reserve T1,T2 for Element of i-tuples_on D;

theorem
  [#](p,d)|(dom p) = p
proof
  set k = len p, f = [#](p,d);
  Seg k c= NAT;
  then Seg k c= dom f by FUNCT_2:def 1;
  then
A1: dom (f|Seg k) = Seg k by RELAT_1:62;
A2: dom p = Seg k by FINSEQ_1:def 3;
  now
    let x be object;
    assume
A3: x in Seg k;
    then (f|Seg k).x = f.x by A1,FUNCT_1:47;
    hence (f|Seg k).x = p.x by A2,A3,Th20;
  end;
  hence thesis by A1,A2,FUNCT_1:2;
end;
