Advertisement
Guest User

Untitled

a guest
Jul 5th, 2015
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. Solution.
  2. {m > 0 ∧ n > 0}
  3. {m = m ∧ n = n ∧ m ≥ 0 ∧ n > 0}
  4. x, y := m, n;
  5. {x = m ∧ y = n ∧ x ≥ 0 ∧ y > 0}
  6. {invariant : gcd(x, y) = gcd(m, n) ∧ x ≥ 0 ∧ y > 0}{rank function : x + y}
  7. while x ≠ 0 ∧ y ≠ 0 do
  8. {gcd(x, y) = gcd(m, n) ∧ x ≥ 0 ∧ y > 0 ∧ x ≠ 0 ∧ y ≠ 0}
  9. {gcd(x, y) = gcd(m, n) ∧ x > 0 ∧ y > 0}
  10. if x < y then
  11. {gcd(x, y) = gcd(m, n) ∧ x > 0 ∧ y > 0 ∧ x < y}
  12. 1
  13. x, y := y, x
  14. {gcd(y, x) = gcd(m, n) ∧ y > 0 ∧ x > 0 ∧ y < x}
  15. {gcd(x, y) = gcd(m, n) ∧ x > 0 ∧ y > 0 ∧ x ≥ y}
  16. fi;
  17. {gcd(x, y) = gcd(m, n) ∧ x > 0 ∧ y > 0 ∧ x ≥ y}
  18. {gcd(x − y, y) = gcd(m, n) ∧ x − y ≥ 0 ∧ y > 0}
  19. x := x − y
  20. {gcd(x, y) = gcd(m, n) ∧ x ≥ 0 ∧ y > 0}
  21. od
  22. {gcd(x, y) = gcd(m, n) ∧ x ≥ 0 ∧ y > 0 ∧ ¬(x 0 ∧ y ≠ 0)}
  23. {(x = 0 ∧ y = gcd(m, n)) ∨ (y = 0 ∧ x = gcd(m, n))}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement