Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Open Scope nat_scope.
Definition sum_of_two_square :=
[qualify a x |
[exists a : 'I_x.+1, exists b : 'I_x.+1, x == a ^ 2 + b ^ 2]].

(* Specifications: *)
Lemma sum2sP x :
reflect (exists m, exists n, x = m ^ 2 + n ^ 2)
(x \is a sum_of_two_square).