reserve n,n1,m,m1,k for Nat;
reserve x,X,X1 for set;
reserve g,g1,g2,t,x0,x1,x2 for Complex;
reserve s1,s2,q1,seq,seq1,seq2,seq3 for Complex_Sequence;
reserve Y for Subset of COMPLEX;
reserve f,f1,f2,h,h1,h2 for PartFunc of COMPLEX,COMPLEX;
reserve p,r,s for Real;
reserve Ns,Nseq for increasing sequence of NAT;

theorem Th7:
  rng seq c= dom h1 /\ dom h2 implies (h1+h2)/*seq=h1/*seq+h2/*seq
  & (h1-h2)/*seq=h1/*seq-h2/*seq & (h1(#)h2)/*seq=(h1/*seq)(#)(h2/*seq)
proof
A1: dom h1 /\ dom h2 c= dom h1 by XBOOLE_1:17;
A2: dom h1 /\ dom h2 c= dom h2 by XBOOLE_1:17;
  assume
A3: rng seq c= dom h1 /\ dom h2;
  then
A4: rng seq c= dom (h1 + h2) by VALUED_1:def 1;
  now
    let n be Element of NAT;
A5: seq.n in rng seq by VALUED_0:28;
    thus ((h1+h2)/*seq).n = (h1+h2)/.(seq.n) by A4,FUNCT_2:109
      .= h1/.(seq.n) + h2/.(seq.n) by A4,A5,CFUNCT_1:1
      .= (h1/*seq).n + h2/.(seq.n) by A3,A1,FUNCT_2:109,XBOOLE_1:1
      .= (h1/*seq).n + (h2/*seq).n by A3,A2,FUNCT_2:109,XBOOLE_1:1
      .= ((h1/*seq)+(h2/*seq)).n by VALUED_1:1;
  end;
  hence (h1+h2)/*seq=(h1/*seq)+(h2/*seq) by FUNCT_2:63;
A6: rng seq c= dom (h1 - h2) by A3,CFUNCT_1:2;
  now
    let n;
A7:   n in NAT by ORDINAL1:def 12;
A8: seq.n in rng seq by VALUED_0:28;
    thus ((h1-h2)/*seq).n = (h1-h2)/.(seq.n) by A6,FUNCT_2:109,A7
      .= h1/.(seq.n) - h2/.(seq.n) by A6,A8,CFUNCT_1:2
      .= (h1/*seq).n - h2/.(seq.n) by A3,A1,FUNCT_2:109,XBOOLE_1:1,A7
      .= (h1/*seq).n - (h2/*seq).n by A3,A2,FUNCT_2:109,XBOOLE_1:1,A7;
  end;
  hence (h1-h2)/*seq=h1/*seq-h2/*seq by Th1;
A9: rng seq c= dom (h1 (#) h2) by A3,VALUED_1:def 4;
  now
    let n be Element of NAT;
A10: seq.n in rng seq by VALUED_0:28;
    thus ((h1(#)h2)/*seq).n = (h1(#)h2)/.(seq.n) by A9,FUNCT_2:109
      .= (h1/.(seq.n)) * (h2/.(seq.n)) by A9,A10,CFUNCT_1:3
      .= ((h1/*seq).n) * (h2/.(seq.n)) by A3,A1,FUNCT_2:109,XBOOLE_1:1
      .= ((h1/*seq).n) * ((h2/*seq).n) by A3,A2,FUNCT_2:109,XBOOLE_1:1
      .= ((h1/*seq)(#)(h2/*seq)).n by VALUED_1:5;
  end;
  hence thesis by FUNCT_2:63;
end;
