theorem
  for t being Element of T, the_array_sort_of S holds
  for t1 being Element of T, I holds
  t.(t1) value_at(C,u) = (t value_at(C,u)).(t1 value_at(C,u))
  proof
    let t be Element of T, the_array_sort_of S;
    let t1 be Element of T, I;
    set o = In((the connectives of S).11, the carrier' of S);
    consider f being ManySortedFunction of T,C such that
A1: f is_homomorphism T,C & u = f||FreeGen T by MSAFREE4:46;
A2: t value_at(C,u) = f.(the_array_sort_of S).t by A1,Th28;
A3: (t.t1) value_at(C,u) = f.I.(t.t1) by A1,Th28;
A4: the_arity_of o = <*the_array_sort_of S,I*> &
    the_result_sort_of o = I by Th75;
    then Args(o,T) = product <*(the Sorts of T).the_array_sort_of S,
    (the Sorts of T).I*> by Th23;
    then reconsider p = <*t,t1*> as Element of Args(o,T) by FINSEQ_3:124;
    thus (t.t1) value_at(C,u) = Den(o,C).(f#p) by A1,A3,A4
    .= Den(o,C).<*f.(the_array_sort_of S).t,f.I.t1*> by A4,Th26
    .= (t value_at(C,u)).(t1 value_at(C,u)) by A1,A2,Th28;
  end;
