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 Th39:
  (t1+t2) value_at(C,s) = (t1 value_at(C,s))+(t2 value_at(C,s))
  proof
A1: s is ManySortedFunction of the generators of G, the Sorts of C
    by AOFA_A00:48;
    then consider f being ManySortedFunction of T,C such that
A2: f is_homomorphism T,C & s = f||(the generators of G) by AOFA_A00:def 19;
    the generators of G is_transformable_to the Sorts of C
    by MSAFREE4:21;
    then
A3: doms s = the generators of G by A1,MSSUBFAM:17;
    then consider f1 being ManySortedFunction of T,C,
    Q1 being GeneratorSet of T such that
A4: f1 is_homomorphism T,C & Q1 = doms s & s = f1||Q1 &
    t1 value_at(C,s) = f1.I.t1 by A2,AOFA_A00:def 21;
    consider f2 being ManySortedFunction of T,C,
    Q2 being GeneratorSet of T such that
A5: f2 is_homomorphism T,C & Q2 = doms s & s = f2||Q2 &
    t2 value_at(C,s) = f2.I.t2 by A2,A3,AOFA_A00:def 21;
    consider f being ManySortedFunction of T,C,
    Q being GeneratorSet of T such that
A6: f is_homomorphism T,C & Q = doms s & s = f||Q &
    (t1+t2) value_at(C,s) = f.I.(t1+t2) by A2,A3,AOFA_A00:def 21;
A7: f = f1 & f = f2 by A4,A5,A6,EXTENS_1:19;
    set o = In((the connectives of S).7, the carrier' of S);
A8: 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,s) = Den(o,C).(f#p) by A6,A8
    .= (t1 value_at(C,s))+(t2 value_at(C,s)) by A4,A5,A7,A8,Th26;
  end;
