Я хочу определить point
структуру и проверить, что (x, y)
удовлетворяет уравнению y^2 = x^3 + ax + b
.
(struct point (x y a b) #:transparent)
(define on-curve (point 3 -7 5 7)) ; (1)
(define off-curve (point -2 4 5 7)) ; (2)
(1) Должно работать, потому что -7^2 = 3^3 + 5*3 + 7
(2) Должно вызвать ошибку, потому что 4^2 != -2^3 + 5*3 + 7
Я знаю, что мне нужен какой-то контракт, но я застрял, пытаясь понять, как это сделать ....