
theorem Th3:
  for X be non empty set, S be SigmaField of X, f be PartFunc of X,
  ExtREAL st f is_simple_func_in S holds ex F be Finite_Sep_Sequence of S, a be
FinSequence of ExtREAL st dom f = union rng F & dom F= dom a & (for n be Nat st
n in dom F for x be object st x in F.n holds f.x = a.n) &
  for x be object st x in dom f
    ex ax be FinSequence of ExtREAL st dom ax = dom a & for n be Nat st n
  in dom ax holds ax.n=a.n*(chi(F.n,X)).x
proof
  let X be non empty set;
  let S be SigmaField of X;
  let f be PartFunc of X,ExtREAL;
  assume f is_simple_func_in S;
  then consider F be Finite_Sep_Sequence of S such that
A1: dom f = union rng F and
A2: for n being Nat,x,y being Element of X st n in dom F & x in F.n & y
  in F.n holds f.x = f.y by MESFUNC2:def 4;
  defpred P[Nat,Element of ExtREAL] means for x be set st x in F.$1 holds $2 =
  f.x;
A3: for k be Nat st k in Seg len F ex y be Element of ExtREAL st P[k,y]
  proof
    let k be Nat;
    assume k in Seg len F;
    then
A4: k in dom F by FINSEQ_1:def 3;
    then
A5: F.k in rng F by FUNCT_1:3;
      per cases;
      suppose
A6:     F.k = {};
        take y = 0.;
        for x be set st x in F.k holds y = f.x by A6;
        hence thesis;
      end;
      suppose
        F.k <> {};
        then consider x1 be object such that
A7:     x1 in F.k by XBOOLE_0:def 1;
         reconsider x1 as set by TARSKI:1;
        take y = f.x1;
        for x be set st x in F.k holds y = f.x
        proof
          let x be set;
A8:       rng F c= bool X by XBOOLE_1:1;
          then reconsider x1 as Element of X by A5,A7;
          assume
A9:       x in F.k;
          then reconsider x as Element of X by A5,A8;
          f.x = f.x1 by A2,A4,A7,A9;
          hence thesis;
        end;
        hence thesis;
      end;
  end;
  consider a be FinSequence of ExtREAL such that
A10: dom a = Seg len F & for k be Nat st k in Seg len F holds P[k,a.k]
  from FINSEQ_1:sch 5(A3);
  take F,a;
A11: for x be set st x in dom f holds ex ax be FinSequence of ExtREAL st dom
  ax = dom a & for n be Nat st n in dom ax holds ax.n = a.n*(chi(F.n,X)).x
  proof
    let x be set;
    assume x in dom f;
    deffunc Q(Nat) = a.$1 * (chi(F.$1,X)).x;
    consider ax be FinSequence of ExtREAL such that
A12: len ax = len F & for k be Nat st k in dom ax holds ax.k=Q(k) from
    FINSEQ_2:sch 1;
    take ax;
    thus thesis by A10,A12,FINSEQ_1:def 3;
  end;
  for n be Nat st n in dom F for x be set st x in F.n holds a.n = f.x
  proof
    let n be Nat;
    assume n in dom F;
    then n in Seg len F by FINSEQ_1:def 3;
    hence thesis by A10;
  end;
  hence thesis by A1,A10,A11,FINSEQ_1:def 3;
end;
