reserve x for set;
reserve a, b, c for Real;
reserve m, n, m1, m2 for Nat;
reserve k, l for Integer;
reserve p, q for Rational;
reserve s1, s2 for Real_Sequence;
reserve r, u for Real,
  k for Nat;

theorem Th96:
  m gcd n = m gcd |.n-m.|
proof
  set x=m gcd n, y=m gcd |. n - m .|;
A1: x divides m by NAT_D:def 5;
A2: x divides n by NAT_D:def 5;
A3: y divides m by NAT_D:def 5;
  per cases;
  suppose
    n-m >= 0;
    then reconsider nm=n-m as Element of NAT by INT_1:3;
A4: |. n - m .|=nm by ABSVALUE:def 1;
    then y divides nm by NAT_D:def 5;
    then y divides nm+m by A3,NAT_D:8;
    then
A5: y divides x by A3,NAT_D:def 5;
    x divides n-m by A1,A2,Th94;
    then x divides y by A1,A4,NAT_D:def 5;
    hence thesis by A5,NAT_D:5;
  end;
  suppose
A6: n-m < 0;
    reconsider nn=n as Integer;
A7: |. n - m .|=-(n-m) by A6,ABSVALUE:def 1
      .=m-n;
    then reconsider mn=m-n as Element of NAT;
    y divides mn by A7,NAT_D:def 5;
    then y divides mn-m by A3,Th94;
    then y divides nn by INT_2:10;
    then
A8: y divides x by A3,NAT_D:def 5;
    x divides m-n by A1,A2,Th94;
    then x divides y by A1,A7,NAT_D:def 5;
    hence thesis by A8,NAT_D:5;
  end;
end;
