proposition: Lemma pr2_pair x y: Q (J x y) = y.
proof: Proof. rewrite kpr2E -{2}(setU_1 y); congr (union _). have ->: (union (J x y) = doubleton x y). rewrite kpairE /kpair_def ; set_extens t =>ts. case /setU2_P: ts => // /set1_P ->; fprops. by apply: (setU_i ts); fprops. have -> : (kpr1_def (J x y)) = x by rewrite - kpr1E pr1_pair. apply: set1_pr; first by apply: Zo_i; fprops. move => z /Zo_P [] /set2_P [] // -> sd. by move: (set2_2 x y); rewrite - sd ; move/set1_P. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)