(** Ok, I admit, the proof above is a hack, since we exploit the binary nature of positive numbers in Coq. For comparison, let's do the same for an arbitrary prime number. *)

(* Specifications: *)
Theorem main_thm_gen : forall p:Z, prime p ->
forall a b:Z, 0<a -> 0<b -> a*a <> p*b*b.
Theorem sqrtprime_not_rational : forall p:Z, prime p ->
forall q:Q, ~ q*q == p.