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 iff (i1 + i5),i2 are_congruent_mod i5
proof
  thus i1,i2 are_congruent_mod i5 implies (i1 + i5),i2 are_congruent_mod i5
  proof
    assume i1,i2 are_congruent_mod i5;
    then consider i0 such that
A1: i5 * i0 = i1 - i2;
    i5 * (i0 + 1) = (i1 + i5) - i2 by A1;
    hence thesis;
  end;
  assume (i1 + i5),i2 are_congruent_mod i5;
  then consider i0 such that
A2: i5 * i0 = (i1 + i5) - i2;
  i5 * (i0 - 1) = i1 - i2 by A2;
  hence thesis;
end;
