Variables (a b c : nat) (u t r s v w x y : nat).
Definition alpha_conditions :=
3 < b
/\ u*u+t*t = 1+b*(u*t)
/\ s*s+r*r = 1+b*(s*r)
/\ r < s
/\ u*u │ s
/\ v+2*r = b*s
/\ rem w v = rem b v
/\ rem w u = rem 2 u
/\ 2 < w
/\ x*x+y*y = 1+w*(x*y)
/\ 2*a < u
/\ 2*a < v
/\ rem a v = rem x v
/\ 2*c < u
/\ rem c u = rem x u.

(* Specifications: *)
Theorem alpha_sufficiency : alpha_conditions -> 3 < b /\ a = alpha_nat b c.
End diophantine_sufficiency.