reserve F for Field;
reserve VS for strict VectSp of F;
reserve u,e for set;
reserve x for set;
reserve Z1 for set;

theorem
  for A,B being strict VectSp of F for f being Function of A, B st f is
  additive homogeneous & f is one-to-one holds FuncLatt f is one-to-one
proof
  let A,B be strict VectSp of F;
  let f be Function of A, B such that
A1: f is additive homogeneous and
A2: f is one-to-one;
  for x1, x2 being object st x1 in dom FuncLatt f & x2 in dom FuncLatt f & (
  FuncLatt f).x1 = (FuncLatt f).x2 holds x1 = x2
  proof
    let x1, x2 be object;
    assume that
A3: x1 in dom FuncLatt f and
A4: x2 in dom FuncLatt f and
A5: (FuncLatt f).x1 = (FuncLatt f).x2;
    consider X1 being strict Subspace of A such that
A6: X1 = x1 by A3,VECTSP_5:def 3;
A7: f.:the carrier of X1 is linearly-closed
    proof
      set BB = f.:the carrier of X1;
A8:   for v,u being Element of B st v in BB & u in BB holds v + u in BB
      proof
        let v,u be Element of B;
        assume that
A9:     v in BB and
A10:    u in BB;
        consider y being Element of A such that
A11:    y in the carrier of X1 and
A12:    u = f.y by A10,FUNCT_2:65;
A13:    y in X1 by A11,STRUCT_0:def 5;
        consider x being Element of A such that
A14:    x in the carrier of X1 and
A15:    v = f.x by A9,FUNCT_2:65;
        x in X1 by A14,STRUCT_0:def 5;
        then x + y in X1 by A13,VECTSP_4:20;
        then x + y in the carrier of X1 by STRUCT_0:def 5;
        then f.(x + y) in BB by FUNCT_2:35;
        hence thesis by A1,A15,A12,VECTSP_1:def 20;
      end;
      for a being Element of F, v being Element of B st v in BB holds a *
      v in BB
      proof
        let a be Element of F;
        let v be Element of B;
        assume v in BB;
        then consider x being Element of A such that
A16:    x in the carrier of X1 and
A17:    v = f.x by FUNCT_2:65;
        x in X1 by A16,STRUCT_0:def 5;
        then a * x in X1 by VECTSP_4:21;
        then a * x in the carrier of X1 by STRUCT_0:def 5;
        then f.(a * x) in BB by FUNCT_2:35;
        hence thesis by A1,A17,MOD_2:def 2;
      end;
      hence thesis by A8,VECTSP_4:def 1;
    end;
    consider A1 being Subset of B such that
A18: A1 = f.:the carrier of X1;
    0.A in X1 by VECTSP_4:17;
    then
A19: 0.A in the carrier of X1 by STRUCT_0:def 5;
A20: dom f = the carrier of A by FUNCT_2:def 1;
    ex y being Element of B st y = f.(0.A);
    then f.:the carrier of X1 <> {} by A20,A19,FUNCT_1:def 6;
    then
A21: ex B1 being strict Subspace of B st the carrier of B1 = f .:the
    carrier of X1 by A7,VECTSP_4:34;
A22: (FuncLatt f).X1 = Lin A1 by A18,Def7;
    consider X2 being strict Subspace of A such that
A23: X2 = x2 by A4,VECTSP_5:def 3;
A24: f.:the carrier of X2 is linearly-closed
    proof
      set BB = f.:the carrier of X2;
A25:  for v,u being Element of B st v in BB & u in BB holds v + u in BB
      proof
        let v,u be Element of B;
        assume that
A26:    v in BB and
A27:    u in BB;
        consider y being Element of A such that
A28:    y in the carrier of X2 and
A29:    u = f.y by A27,FUNCT_2:65;
A30:    y in X2 by A28,STRUCT_0:def 5;
        consider x being Element of A such that
A31:    x in the carrier of X2 and
A32:    v = f.x by A26,FUNCT_2:65;
        x in X2 by A31,STRUCT_0:def 5;
        then x + y in X2 by A30,VECTSP_4:20;
        then x + y in the carrier of X2 by STRUCT_0:def 5;
        then f.(x + y) in BB by FUNCT_2:35;
        hence thesis by A1,A32,A29,VECTSP_1:def 20;
      end;
      for a being Element of F, v being Element of B st v in BB holds a *
      v in BB
      proof
        let a be Element of F;
        let v be Element of B;
        assume v in BB;
        then consider x being Element of A such that
A33:    x in the carrier of X2 and
A34:    v = f.x by FUNCT_2:65;
        x in X2 by A33,STRUCT_0:def 5;
        then a * x in X2 by VECTSP_4:21;
        then a * x in the carrier of X2 by STRUCT_0:def 5;
        then f.(a * x) in BB by FUNCT_2:35;
        hence thesis by A1,A34,MOD_2:def 2;
      end;
      hence thesis by A25,VECTSP_4:def 1;
    end;
    consider A2 being Subset of B such that
A35: A2 = f.:the carrier of X2;
A36: (FuncLatt f).X2 = Lin A2 by A35,Def7;
    0.A in X2 by VECTSP_4:17;
    then
A37: 0.A in the carrier of X2 by STRUCT_0:def 5;
    ex y being Element of B st y = f.(0.A);
    then f.:the carrier of X2 <> {} by A20,A37,FUNCT_1:def 6;
    then consider B2 being strict Subspace of B such that
A38: the carrier of B2 = f.:the carrier of X2 by A24,VECTSP_4:34;
    Lin (f.:the carrier of X2) = B2 by A38,VECTSP_7:11;
    then
A39: f.:the carrier of X1 = f.:the carrier of X2 by A5,A6,A23,A18,A35,A22,A36
,A21,A38,VECTSP_7:11;
    the carrier of X2 c= dom f by A20,VECTSP_4:def 2;
    then
A40: the carrier of X2 c= the carrier of X1 by A2,A39,FUNCT_1:87;
    the carrier of X1 c= dom f by A20,VECTSP_4:def 2;
    then the carrier of X1 c= the carrier of X2 by A2,A39,FUNCT_1:87;
    then the carrier of X1 = the carrier of X2 by A40,XBOOLE_0:def 10;
    hence thesis by A6,A23,VECTSP_4:29;
  end;
  hence thesis by FUNCT_1:def 4;
end;
