Metamath Proof Explorer


Theorem reupick

Description: Restricted uniqueness "picks" a member of a subclass. (Contributed by NM, 21-Aug-1999)

Ref Expression
Assertion reupick ( ( ( 𝐴𝐵 ∧ ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜑 ) ) ∧ 𝜑 ) → ( 𝑥𝐴𝑥𝐵 ) )

Proof

Step Hyp Ref Expression
1 ssel ( 𝐴𝐵 → ( 𝑥𝐴𝑥𝐵 ) )
2 1 ad2antrr ( ( ( 𝐴𝐵 ∧ ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜑 ) ) ∧ 𝜑 ) → ( 𝑥𝐴𝑥𝐵 ) )
3 df-rex ( ∃ 𝑥𝐴 𝜑 ↔ ∃ 𝑥 ( 𝑥𝐴𝜑 ) )
4 df-reu ( ∃! 𝑥𝐵 𝜑 ↔ ∃! 𝑥 ( 𝑥𝐵𝜑 ) )
5 3 4 anbi12i ( ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜑 ) ↔ ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) ∧ ∃! 𝑥 ( 𝑥𝐵𝜑 ) ) )
6 1 ancrd ( 𝐴𝐵 → ( 𝑥𝐴 → ( 𝑥𝐵𝑥𝐴 ) ) )
7 6 anim1d ( 𝐴𝐵 → ( ( 𝑥𝐴𝜑 ) → ( ( 𝑥𝐵𝑥𝐴 ) ∧ 𝜑 ) ) )
8 an32 ( ( ( 𝑥𝐵𝑥𝐴 ) ∧ 𝜑 ) ↔ ( ( 𝑥𝐵𝜑 ) ∧ 𝑥𝐴 ) )
9 7 8 syl6ib ( 𝐴𝐵 → ( ( 𝑥𝐴𝜑 ) → ( ( 𝑥𝐵𝜑 ) ∧ 𝑥𝐴 ) ) )
10 9 eximdv ( 𝐴𝐵 → ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) → ∃ 𝑥 ( ( 𝑥𝐵𝜑 ) ∧ 𝑥𝐴 ) ) )
11 eupick ( ( ∃! 𝑥 ( 𝑥𝐵𝜑 ) ∧ ∃ 𝑥 ( ( 𝑥𝐵𝜑 ) ∧ 𝑥𝐴 ) ) → ( ( 𝑥𝐵𝜑 ) → 𝑥𝐴 ) )
12 11 ex ( ∃! 𝑥 ( 𝑥𝐵𝜑 ) → ( ∃ 𝑥 ( ( 𝑥𝐵𝜑 ) ∧ 𝑥𝐴 ) → ( ( 𝑥𝐵𝜑 ) → 𝑥𝐴 ) ) )
13 10 12 syl9 ( 𝐴𝐵 → ( ∃! 𝑥 ( 𝑥𝐵𝜑 ) → ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) → ( ( 𝑥𝐵𝜑 ) → 𝑥𝐴 ) ) ) )
14 13 com23 ( 𝐴𝐵 → ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) → ( ∃! 𝑥 ( 𝑥𝐵𝜑 ) → ( ( 𝑥𝐵𝜑 ) → 𝑥𝐴 ) ) ) )
15 14 imp32 ( ( 𝐴𝐵 ∧ ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) ∧ ∃! 𝑥 ( 𝑥𝐵𝜑 ) ) ) → ( ( 𝑥𝐵𝜑 ) → 𝑥𝐴 ) )
16 5 15 sylan2b ( ( 𝐴𝐵 ∧ ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜑 ) ) → ( ( 𝑥𝐵𝜑 ) → 𝑥𝐴 ) )
17 16 expcomd ( ( 𝐴𝐵 ∧ ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜑 ) ) → ( 𝜑 → ( 𝑥𝐵𝑥𝐴 ) ) )
18 17 imp ( ( ( 𝐴𝐵 ∧ ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜑 ) ) ∧ 𝜑 ) → ( 𝑥𝐵𝑥𝐴 ) )
19 2 18 impbid ( ( ( 𝐴𝐵 ∧ ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜑 ) ) ∧ 𝜑 ) → ( 𝑥𝐴𝑥𝐵 ) )