reserve
  S for (4,1) integer bool-correct non empty non void BoolSignature,
  X for non-empty ManySortedSet of the carrier of S,
  T for vf-free integer all_vars_including inheriting_operations free_in_itself
  (X,S)-terms VarMSAlgebra over S,
  C for (4,1) integer bool-correct non-empty image of T,
  G for basic GeneratorSystem over S,X,T,
  A for IfWhileAlgebra of the generators of G,
  I for integer SortSymbol of S,
  x,y,z,m for pure (Element of (the generators of G).I),
  b for pure (Element of (the generators of G).the bool-sort of S),
  t,t1,t2 for Element of T,I,
  P for Algorithm of A,
  s,s1,s2 for Element of C-States(the generators of G);
reserve
  f for ExecutionFunction of A, C-States(the generators of G),
  (\falseC)-States(the generators of G, b);
reserve u for ManySortedFunction of FreeGen T, the Sorts of C;

theorem Th54:
  (t1+t2) value_at(C,u) = (t1 value_at(C,u))+(t2 value_at(C,u))
  proof
    consider f being ManySortedFunction of T,C such that
A1: f is_homomorphism T,C & u = f||FreeGen T by MSAFREE4:46;
    FreeGen T is_transformable_to the Sorts of C
    by MSAFREE4:21;
    then
A2: doms u = FreeGen T by MSSUBFAM:17;
    then consider f1 being ManySortedFunction of T,C,
    Q1 being GeneratorSet of T such that
A3: f1 is_homomorphism T,C & Q1 = doms u & u = f1||Q1 &
    t1 value_at(C,u) = f1.I.t1 by A1,AOFA_A00:def 21;
    consider f2 being ManySortedFunction of T,C,
    Q2 being GeneratorSet of T such that
A4: f2 is_homomorphism T,C & Q2 = doms u & u = f2||Q2 &
    t2 value_at(C,u) = f2.I.t2 by A1,A2,AOFA_A00:def 21;
    consider f being ManySortedFunction of T,C,
    Q being GeneratorSet of T such that
A5: f is_homomorphism T,C & Q = doms u & u = f||Q &
    (t1+t2) value_at(C,u) = f.I.(t1+t2) by A1,A2,AOFA_A00:def 21;
A6: f = f1 & f = f2 by A3,A4,A5,EXTENS_1:19;
    set o = In((the connectives of S).7, the carrier' of S);
A7: the_arity_of o = <*I,I*> & the_result_sort_of o = I by Th17;
    then Args(o,T) = product <*(the Sorts of T).I, (the Sorts of T).I*>
    by Th23;
    then reconsider p = <*t1,t2*> as Element of Args(o,T) by FINSEQ_3:124;
    thus (t1+t2) value_at(C,u) = Den(o,C).(f#p) by A5,A7
    .= Den(o,C).<*f.I.t1,f.I.t2*> by A7,Th26
    .= (t1 value_at(C,u))+(t2 value_at(C,u)) by A3,A4,A6;
  end;
