reserve k,t,i,j,m,n for Nat,
  x,y,y1,y2 for object,
  D for non empty set;
reserve K for Field,
  V for VectSp of K,
  a for Element of K,
  W for Element of V;
reserve KL1,KL2,KL3 for Linear_Combination of V,
  X for Subset of V;
reserve s for FinSequence,
  V1,V2,V3 for finite-dimensional VectSp of K,
  f,f1,f2 for Function of V1,V2,
  g for Function of V2,V3,
  b1 for OrdBasis of V1,
  b2 for OrdBasis of V2,
  b3 for OrdBasis of V3,
  v1,v2 for Vector of V2,
  v,w for Element of V1;
reserve p2,F for FinSequence of V1,
  p1,d for FinSequence of K,
  KL for Linear_Combination of V1;

theorem Th22:
  f1 is additive homogeneous & f2 is additive homogeneous implies
   for b1 being OrdBasis of V1
  st len b1 > 0 holds f1*b1 = f2*b1 implies f1 = f2
proof
  assume that
A1: f1 is additive homogeneous and
A2: f2 is additive homogeneous;
  let b1 be OrdBasis of V1 such that
A3: len b1 > 0;
  reconsider b = rng b1 as Basis of V1 by Def2;
  assume
A4: f1*b1 = f2*b1;
  now
    len b1 in Seg len b1 by A3,FINSEQ_1:3;
    then reconsider D = dom b1 as non empty set by FINSEQ_1:def 3;
    let v be Element of V1;
    Lin(b) = the ModuleStr of V1 by VECTSP_7:def 3;
    then v in Lin(b) by RLVECT_1:1;
    then consider KL be Linear_Combination of b such that
A5: v = Sum(KL) by VECTSP_7:7;
    set p = KL (#) b1;
    set A = the set of all  KL.(b1/.i)*(b1/.i) where i is Element of D ;
A6: rng p c= A
    proof
      let x be object;
      assume x in rng p;
      then consider i be Nat such that
A7:   i in dom p and
A8:   p.i = x by FINSEQ_2:10;
      dom p = Seg len p by FINSEQ_1:def 3;
      then i in Seg len b1 by A7,VECTSP_6:def 5;
      then
A9:   i in dom b1 by FINSEQ_1:def 3;
      (KL (#) b1).i = KL.(b1/.i) * (b1/.i) by A7,VECTSP_6:def 5;
      hence thesis by A8,A9;
    end;
A10: for w st w in A holds f1.w = f2.w
    proof
      let w;
      assume w in A;
      then consider i be Element of D such that
A11:  w = KL.(b1/.i)*(b1/.i);
      f1.(b1/.i) = f1.(b1.i) by PARTFUN1:def 6
        .= (f2*b1).i by A4,FUNCT_1:13
        .= f2.(b1.i) by FUNCT_1:13
        .= f2.(b1/.i) by PARTFUN1:def 6;
      then f1.(KL.(b1/.i)*(b1/.i)) = KL.(b1/.i)*(f2.(b1/.i)) by A1,MOD_2:def 2
        .= f2.(KL.(b1/.i)*(b1/.i)) by A2,MOD_2:def 2;
      hence thesis by A11;
    end;
A12: b1 is one-to-one & Carrier KL c= rng b1 by Def2,VECTSP_6:def 4;
    hence f1.v = f1.Sum(KL (#) b1) by A5,Th20
      .= f2.Sum p by A1,A2,A6,A10,Th21
      .= f2.v by A5,A12,Th20;
  end;
  hence thesis by FUNCT_2:63;
end;
