Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.49 KB | None | 0 0
  1. EXTENDS Integers
  2.  
  3. p | q == \E d \in 1..q : q = p * d
  4. Divisors(q) == {d \in 1..q : d | q}
  5. Maximum(S) == CHOOSE x \in S : \A y \in S : x >= y
  6. GCD(p,q) == Maximum(Divisors(p) \cap Divisors(q))
  7. Number == Nat \ {0}
  8.  
  9. CONSTANTS M, N
  10. VARIABLES x, y
  11.  
  12. Init == (x = M) /\ (y = N)
  13.  
  14. Next == \/ /\ x < y
  15. /\ y' = y - x
  16. /\ x' = x
  17. \/ /\ y < x
  18. /\ x' = x-y
  19. /\ y' = y
  20.  
  21. Spec == Init /\ [][Next]_<<x,y>>
  22.  
  23. ResultCorrect == (x = y) => x = GCD(M, N)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement