reserve x,X,Y for set;
reserve g,r,r1,r2,p,p1,p2 for Real;
reserve R for Subset of REAL;
reserve seq,seq1,seq2,seq3 for Real_Sequence;
reserve Ns for increasing sequence of NAT;
reserve n for Nat;
reserve W for non empty set;
reserve h,h1,h2 for PartFunc of W,REAL;

theorem
  for h being PartFunc of W,REAL, seq being sequence of W holds
  rng seq c= dom (h|X) & h"{0}={} implies ((h^)|X)/*seq = ((h|X)/*seq)"
proof
  let h be PartFunc of W,REAL, seq be sequence of W;
  assume that
A1: rng seq c= dom (h|X) and
A2: h"{0}={};
  now
    let x be object;
    assume x in rng seq;
    then x in dom (h|X) by A1;
    then
A3: x in dom h /\ X by RELAT_1:61;
    then x in dom h \ h"{0} by A2,XBOOLE_0:def 4;
    then
A4: x in dom (h^) by RFUNCT_1:def 2;
    x in X by A3,XBOOLE_0:def 4;
    then x in dom (h^) /\ X by A4,XBOOLE_0:def 4;
    hence x in dom ((h^)|X) by RELAT_1:61;
  end;
  then
A5: rng seq c= dom ((h^)|X) by TARSKI:def 3;
  now
    let n be Element of NAT;
A6: seq.n in rng seq by VALUED_0:28;
    then seq.n in dom (h|X) by A1;
    then
A7: seq.n in dom h /\ X by RELAT_1:61;
    then
A8: seq.n in X by XBOOLE_0:def 4;
    seq.n in dom h \ h"{0} by A2,A7,XBOOLE_0:def 4;
    then
A9: seq.n in dom (h^) by RFUNCT_1:def 2;
    thus (((h^)|X)/*seq).n = ((h^)|X).(seq.n) by A5,FUNCT_2:108
      .= (h^).(seq.n) by A8,FUNCT_1:49
      .= (h.(seq.n))" by A9,RFUNCT_1:def 2
      .= ((h|X).(seq.n))" by A1,A6,FUNCT_1:47
      .= (((h|X)/*seq).n)" by A1,FUNCT_2:108
      .= (((h|X)/*seq)").n by VALUED_1:10;
  end;
  hence thesis by FUNCT_2:63;
end;
