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 Th57:
  (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;
A2: t2 value_at(C,u) = f.I.t2 by A1,Th28;
A3: (t1*t2) value_at(C,u) = f.I.(t1*t2) by A1,Th28;
    set o = In((the connectives of S).8, the carrier' of S);
A4: the_arity_of o = <*I,I*> & the_result_sort_of o = I by Th18;
    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 A1,A3,A4
    .= Den(o,C).<*f.I.t1,f.I.t2*> by A4,Th26
    .= (t1 value_at(C,u))*(t2 value_at(C,u)) by A1,A2,Th28;
  end;
