
theorem Th8:
  for X be non empty addLoopStr, A,B be Subset of X,
      l be Linear_Combination of (A \/ B) holds
    ex l1 be Linear_Combination of A st Carrier l1 = Carrier l \ B
  & for x be Element of X st x in Carrier l1 holds l1.x = l.x
  proof
    let X be non empty addLoopStr, A,B be Subset of X,
        l be Linear_Combination of (A \/ B);
    reconsider T1 = Carrier l \ B as finite Subset of X;
    defpred P1[object,object] means
    ($1 in T1 implies $2 = l.$1) & (not $1 in T1 implies $2 = 0);
    A1: now let x be object;
      assume x in the carrier of X;
      thus ex y be object st y in REAL & P1[x,y]
      proof
        per cases;
        suppose
          A2: x in T1;
          take y = l.x;
          thus y in REAL & P1[x,y] by A2,FUNCT_2:5;
        end;
        suppose
          A3: not x in T1;
          take y = 0;
          thus y in REAL & P1[x,y] by A3,XREAL_0:def 1;
        end;
      end;
    end;
    consider l1 be Function of the carrier of X,REAL such that
    A4: for x being object st x in the carrier of X holds P1[x,l1.x]
    from FUNCT_2:sch 1(A1);
    reconsider l1 as Element of Funcs(the carrier of X,REAL) by FUNCT_2:8;
    for x be Element of X st not x in T1 holds l1.x = 0 by A4; then
    reconsider l1 as Linear_Combination of X by RLVECT_2:def 3;
    now
      let x be object;
      assume x in Carrier l1; then
      ex v be Element of X st x = v & l1.v <> 0;
      hence x in T1 by A4;
    end; then
    A5: Carrier l1 c= T1;
    now
      let x be object;
      assume
      A6: x in T1; then
      x in Carrier l by XBOOLE_0:def 5; then
      l.x <> 0 by RLVECT_2:19; then
      l1.x <> 0 by A4,A6;
      hence x in Carrier l1 by A6;
    end; then
    A7: T1 c= Carrier l1; then
    A8: T1 = Carrier l1 by A5;
    T1 c= Carrier l & Carrier l c= A \/ B by RLVECT_2:def 6,XBOOLE_1:36; then
    T1 c= A \/ B & T1 misses B by XBOOLE_1:79; then
    reconsider l1 as Linear_Combination of A by A8,RLVECT_2:def 6,XBOOLE_1:73;
    take l1;
    thus Carrier l1 = Carrier l \ B by A5,A7;
    thus for x be Element of X st x in Carrier l1 holds l1.x = l.x by A4,A5;
  end;
