
theorem canlinsurj1:
for F being Field
for U,V being VectSp of F
for B being Subset of U
for A being Subset of V
for T being linear-transformation of U,V st T .: B c= A
for l being Linear_Combination of B holds T.(Sum l) in Lin A
proof
let F be Field, U,V be VectSp of F;
let B be Subset of U, A be Subset of V;
let T be linear-transformation of U,V;
assume AS: T .: B c= A;
let l be Linear_Combination of B;
defpred P[Nat] means
  for l being Linear_Combination of B
  st card(Carrier l) = $1 holds T.(Sum l) in Lin A;
IA: P[0]
    proof
    let l be Linear_Combination of B;
    assume card(Carrier l) = 0; then
    Carrier l= {}; then
    l = ZeroLC(U) by VECTSP_6:def 3; then
    Sum l = 0.U by VECTSP_6:15; then
    C: T.(Sum l) = 0.V by RANKNULL:9;
    0.(Lin A) = 0.V by VECTSP_4:def 2;
    hence T.(Sum l) in Lin A by C;
    end;
IS: now let k be Nat;
    assume IV: P[k];
    now let l be Linear_Combination of B;
      assume B1: card(Carrier l) = k + 1; then
      Carrier l <> {}; then
      consider o being object such that
      B2: o in Carrier l by XBOOLE_0:def 1;
      consider u being Element of U such that
      B3: o = u & l.u <> 0.F by B2;
      defpred Q[object,object] means
           ($1 = u & $2 = l.u) or ($1 <> u & $2 = 0.F);
      B4: for x being object st x in the carrier of U
          ex y being object st y in the carrier of F & Q[x,y]
         proof
         let x be object;
         assume x in the carrier of U;
         per cases;
         suppose x = u;
           hence ex y being object st y in the carrier of F & Q[x,y];
           end;
         suppose x <> u;
           hence ex y being object st y in the carrier of F & Q[x,y];
           end;
         end;
      consider l1 being Function of the carrier of U,the carrier of F such that
      B5: for x being object st x in the carrier of U holds Q[x,l1.x]
          from FUNCT_2:sch 1(B4);
      reconsider l1 as Element of Funcs(the carrier of U, the carrier of F)
        by FUNCT_2:8;
      for v being Element of U st not v in {u} holds l1.v = 0.F
        proof
        let v be Element of U;
        assume not v in {u};
        then v <> u by TARSKI:def 1;
        hence l1.v = 0.F by B5;
        end; then
      reconsider l1 as Linear_Combination of U by VECTSP_6:def 1;
      now let o be object;
        assume o in Carrier l1;
        then consider v being Element of U such that
        C1: o = v & l1.v <> 0.F;
        v = u & l1.v = l.u by B5,C1;
        hence o in {u} by C1,TARSKI:def 1;
        end; then
      B6: Carrier(l1) c= {u};
      now let o be object;
          assume o in Carrier l1;
          then o = u by B6,TARSKI:def 1;
          then C1: o in Carrier l by B3;
          Carrier l c= B by VECTSP_6:def 4;
          hence o in B by C1;
          end; then
      Carrier(l1) c= B; then
      reconsider l1 as Linear_Combination of B by VECTSP_6:def 4;
      B8: Carrier l1 = {u}
          proof
          now let o be object;
            assume C1: o in {u};
            then o = u by TARSKI:def 1;
            then l1.o <> 0.F by B5,B3;
            hence o in Carrier l1 by C1;
            end;
          then {u} c= Carrier l1;
          hence thesis by B6;
          end;
      reconsider l2 = l - l1 as Linear_Combination of B by VECTSP_6:42;
      C1: Carrier l2 = (Carrier l) \ (Carrier l1)
          proof
          C4: now let o be object;
              assume o in Carrier l2;
              then consider v being Element of U such that
              C5: o = v & l2.v <> 0.F;
              C6: now assume C7: v = u;
                  l2.v = l.v - l1.v by VECTSP_6:40
                      .= l.v - l.v by B5,C7;
                  hence contradiction by C5,RLVECT_1:15;
                  end; then
             C7: not v in Carrier(l1) by B8,TARSKI:def 1;
             l2.v = l.v - l1.v by VECTSP_6:40
                 .= l.v - 0.F by C6,B5; then
             v in Carrier l by C5;
             hence o in Carrier(l) \ Carrier(l1) by C5,C7,XBOOLE_0:def 5;
             end;
         now let o be object;
           assume o in Carrier(l) \ Carrier(l1); then
           C5: o in Carrier(l) & not o in Carrier(l1) by XBOOLE_0:def 5; then
           consider v being Element of U such that
           C6: o = v & l.v <> 0.F;
           l2.v = l.v - l1.v by VECTSP_6:40
               .= l.v - 0.F by C6,C5;
           hence o in Carrier l2 by C6;
           end;
         hence thesis by C4,TARSKI:2;
         end;
      now let o be object;
        assume o in Carrier l1; then
        C4: o = u by B8,TARSKI:def 1;
        u in Carrier(l1) by B8,TARSKI:def 1; then
        C5: l1.u <> 0.F by VECTSP_6:2;
        l1.u = l.u by B5;
        hence o in Carrier l by C4,C5;
        end; then
      Carrier l1 c= Carrier l; then
      C2: card(Carrier(l) \ Carrier(l1))
         = card(Carrier l) - card(Carrier l1) by CARD_2:44
        .= (k + 1) - 1 by B1,B8,CARD_2:42;
      C4: T.(Sum l1) = T.(l1.u * u) by B8,VECTSP_6:20
                    .= l1.u * T.u by MOD_2:def 2;
      C5: Carrier l c= B by VECTSP_6:def 4;
      u in the carrier of U; then
      u in dom T by FUNCT_2:def 1; then
      T.u in T .: B by C5,B2,B3,FUNCT_1:108; then
      T.u in Lin A by AS,VECTSP_7:8; then
      consider ll being Linear_Combination of A such that
      C6: T.u = Sum ll by VECTSP_7:7;
      C7: l1.u * ll is Linear_Combination of A by VECTSP_6:31;
      Sum(l1.u *ll) = l1.u * T.u by C6,VECTSP_7:22; then
      consider l5 being Linear_Combination of A such that
      D1: T.(Sum l1) = Sum l5 by C4,C7;
      consider l6 being Linear_Combination of A such that
      D2: T.(Sum l2) = Sum l6 by IV,C1,C2,VECTSP_7:7;
      D3: l5 + l6 is Linear_Combination of A by VECTSP_6:24;
      D4: Sum(l5 + l6) = T.(Sum l1) + T.(Sum l2) by D1,D2,VECTSP_6:44;
      Sum l = Sum l1 + Sum l2
          proof
          reconsider l3 = l as Linear_Combination of U;
          Sum l2 = Sum l - Sum l1 by VECTSP_6:47;
          hence Sum l1 + Sum l2
                    = Sum l + (-(Sum l1) + Sum l1) by RLVECT_1:def 3
                   .= (Sum l3) + 0.U by RLVECT_1:5 .= Sum l;
          end;
      hence T.(Sum l) in Lin A by D3,D4,VECTSP_7:7,VECTSP_1:def 20;
      end;
    hence P[k+1];
    end;
I: for k being Nat holds P[k] from NAT_1:sch 2(IA,IS);
consider n being Nat such that H: card(Carrier l) = n;
thus thesis by H,I;
end;
