reserve x,X for set,
        r,r1,r2,s for Real,
        i,j,k,m,n for Nat;
reserve p,q for Point of TOP-REAL n;
reserve f,f1,f2 for homogeneous additive Function of TOP-REAL n,TOP-REAL n;

theorem Th31:
  for A be Subset of TOP-REAL n st f|A = id A holds f|Lin A = id Lin A
proof
  set TR=TOP-REAL n;
  let A be Subset of TOP-REAL n such that
  A1: f|A=id A;
  defpred P[Nat] means
    for L be Linear_Combination of A st card Carrier L<=$1 holds
    f.(Sum L)=Sum L;
  A2: for i st P[i] holds P[i+1]
  proof
    let i;
    assume A3: P[i];
    set i1=i+1;
    let L be Linear_Combination of A;
    assume A4: card Carrier L<=i1;
    per cases by A4,NAT_1:8;
    suppose card Carrier L<=i;
      hence thesis by A3;
    end;
    suppose A5: card Carrier L=i1;
      then Carrier L is non empty;
      then consider x be object such that
      A6: x in Carrier L by XBOOLE_0:def 1;
      reconsider x as Point of TR by A6;
      reconsider X={x} as Subset of TR by ZFMISC_1:31;
      consider K be Linear_Combination of X such that
      A7: K.x=L.x by RLVECT_4:37;
      L.x<>0 by A6,RLVECT_2:19;
      then Carrier K c={x} & x in Carrier K by A7,RLVECT_2:19,def 6;
      then A8: Carrier K={x} by ZFMISC_1:33;
      {x}\/Carrier L=Carrier L by A6,ZFMISC_1:40;
      then A9: Carrier(L-K)c=Carrier L by A8,RLVECT_2:55;
      (L-K).x=L.x-K.x by RLVECT_2:54
      .=0 by A7;
      then not x in Carrier(L-K) by RLVECT_2:19;
      then Carrier(L-K)c<Carrier L by A6,A9,XBOOLE_0:def 8;
      then card Carrier(L-K)<i1 by A5,CARD_2:48;
      then A10: card Carrier(L-K)<=i by NAT_1:13;
      ZeroLC(TR)=-K--K by RLVECT_2:57
      .=-K+--K by RLVECT_2:def 13
      .=-K+K by RLVECT_2:53;
      then L=L+(-K+K) by RLVECT_2:41
      .=(L+-K)+K by RLVECT_2:40
      .=(L-K)+K by RLVECT_2:def 13;
      then A11: Sum L=Sum(L-K)+Sum K by RLVECT_3:1;
      A12: Carrier L c=A by RLVECT_2:def 6;
      then (f|A).x=f.x by A6,FUNCT_1:49;
      then A13: f.x=x by A1,A6,A12,FUNCT_1:17;
      Carrier(L-K)c=A by A9,A12;
      then L-K is Linear_Combination of A by RLVECT_2:def 6;
      then A14: f.Sum(L-K)=Sum(L-K) by A3,A10;
      Sum K=L.x*x by A7,RLVECT_2:32;
      then f.Sum K =Sum K by A13,TOPREAL9:def 4;
      hence f.Sum L=Sum L by A11,A14,VECTSP_1:def 20;
    end;
  end;
  set L=Lin A,cL=the carrier of L;
  cL c=the carrier of TR by RLSUB_1:def 2;
  then A15: f|L=f|cL by TMAP_1:def 3;
  A16: P[0]
  proof
    let L be Linear_Combination of A;
    assume card Carrier L<=0;
    then Carrier L={};
    then L is Linear_Combination of{}(the carrier of TR) by RLVECT_2:def 6;
    then A17: Sum L=0.TR by RLVECT_2:31;
    f.(0.TR)=f.((0 qua Real)*0.TR) by RLVECT_1:10
    .=(0 qua Real)*f.(0.TR) by TOPREAL9:def 4
    .=0.TR by RLVECT_1:10;
    hence thesis by A17;
  end;
  A18: for i holds P[i] from NAT_1:sch 2(A16,A2);
  A19: for x being object st x in cL holds(f|L).x=(id L).x
  proof
    let x be object;
    assume A20: x in cL;
    then x in L;
    then consider K be Linear_Combination of A such that
    A21: Sum K=x by RLVECT_3:14;
    P[card Carrier K] by A18;
    then A22: f.x=x by A21;
    (f|L).x=f.x by A15,A20,FUNCT_1:49;
    hence thesis by A20,A22,FUNCT_1:17;
  end;
  dom(f|L)=cL & dom(id L)=cL by FUNCT_2:def 1;
  hence thesis by A19,FUNCT_1:2;
end;
