Metamath Proof Explorer


Theorem 2reu1

Description: Double restricted existential uniqueness. This theorem shows a condition under which a "naive" definition matches the correct one, analogous to 2eu1 . (Contributed by Alexander van der Vekens, 25-Jun-2017)

Ref Expression
Assertion 2reu1 xA*yBφ∃!xA∃!yBφ∃!xAyBφ∃!yBxAφ

Proof

Step Hyp Ref Expression
1 2reu5a ∃!xA∃!yBφxAyBφ*yBφ*xAyBφ*yBφ
2 simprr xAxA*yBφyBφyBφ
3 rsp xA*yBφxA*yBφ
4 3 adantr xA*yBφyBφxA*yBφ
5 4 impcom xAxA*yBφyBφ*yBφ
6 2 5 jca xAxA*yBφyBφyBφ*yBφ
7 6 ex xAxA*yBφyBφyBφ*yBφ
8 7 rmoimia *xAyBφ*yBφ*xAxA*yBφyBφ
9 nfra1 xxA*yBφ
10 9 rmoanim *xAxA*yBφyBφxA*yBφ*xAyBφ
11 8 10 sylib *xAyBφ*yBφxA*yBφ*xAyBφ
12 11 ancrd *xAyBφ*yBφxA*yBφ*xAyBφxA*yBφ
13 2rmoswap xA*yBφ*xAyBφ*yBxAφ
14 13 com12 *xAyBφxA*yBφ*yBxAφ
15 14 imdistani *xAyBφxA*yBφ*xAyBφ*yBxAφ
16 12 15 syl6 *xAyBφ*yBφxA*yBφ*xAyBφ*yBxAφ
17 1 16 simplbiim ∃!xA∃!yBφxA*yBφ*xAyBφ*yBxAφ
18 2reu2rex ∃!xA∃!yBφxAyBφ
19 rexcom xAyBφyBxAφ
20 18 19 sylib ∃!xA∃!yBφyBxAφ
21 18 20 jca ∃!xA∃!yBφxAyBφyBxAφ
22 17 21 jctild ∃!xA∃!yBφxA*yBφxAyBφyBxAφ*xAyBφ*yBxAφ
23 reu5 ∃!xAyBφxAyBφ*xAyBφ
24 reu5 ∃!yBxAφyBxAφ*yBxAφ
25 23 24 anbi12i ∃!xAyBφ∃!yBxAφxAyBφ*xAyBφyBxAφ*yBxAφ
26 an4 xAyBφ*xAyBφyBxAφ*yBxAφxAyBφyBxAφ*xAyBφ*yBxAφ
27 25 26 bitri ∃!xAyBφ∃!yBxAφxAyBφyBxAφ*xAyBφ*yBxAφ
28 22 27 imbitrrdi ∃!xA∃!yBφxA*yBφ∃!xAyBφ∃!yBxAφ
29 28 com12 xA*yBφ∃!xA∃!yBφ∃!xAyBφ∃!yBxAφ
30 2rexreu ∃!xAyBφ∃!yBxAφ∃!xA∃!yBφ
31 29 30 impbid1 xA*yBφ∃!xA∃!yBφ∃!xAyBφ∃!yBxAφ