reserve X for set, x,y,z for object,
  k,l,n for Nat,
  r for Real;
reserve i,i0,i1,i2,i3,i4,i5,i8,i9,j for Integer;

theorem
  i1,i2 are_congruent_mod i5 & i3,i4 are_congruent_mod i5 implies
  (i1 * i3),(i2 * i4) are_congruent_mod i5
proof
  assume that
A1: i1,i2 are_congruent_mod i5 and
A2: i3,i4 are_congruent_mod i5;
  consider i8 such that
A3: i5 * i8 = i1 - i2 by A1;
  consider i9 such that
A4: i5 * i9 = i3 - i4 by A2;
  (i1 * i3) - (i2 * i4) = (i1 - i2) * i3 + (i3 - i4) * i2
    .= (i5 * i8) * i3 + (i5 * i9) * i2 by A3,A4
    .= i5 * ((i8 * i3) + (i9 * i2));
  hence thesis;
end;
