Metamath Proof Explorer


Theorem reuss2

Description: Transfer uniqueness to a smaller subclass. (Contributed by NM, 20-Oct-2005)

Ref Expression
Assertion reuss2 ( ( ( 𝐴𝐵 ∧ ∀ 𝑥𝐴 ( 𝜑𝜓 ) ) ∧ ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜓 ) ) → ∃! 𝑥𝐴 𝜑 )

Proof

Step Hyp Ref Expression
1 df-rex ( ∃ 𝑥𝐴 𝜑 ↔ ∃ 𝑥 ( 𝑥𝐴𝜑 ) )
2 df-reu ( ∃! 𝑥𝐵 𝜓 ↔ ∃! 𝑥 ( 𝑥𝐵𝜓 ) )
3 1 2 anbi12i ( ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜓 ) ↔ ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) ∧ ∃! 𝑥 ( 𝑥𝐵𝜓 ) ) )
4 df-ral ( ∀ 𝑥𝐴 ( 𝜑𝜓 ) ↔ ∀ 𝑥 ( 𝑥𝐴 → ( 𝜑𝜓 ) ) )
5 ssel ( 𝐴𝐵 → ( 𝑥𝐴𝑥𝐵 ) )
6 pm3.2 ( 𝑥𝐵 → ( 𝜓 → ( 𝑥𝐵𝜓 ) ) )
7 6 imim2d ( 𝑥𝐵 → ( ( 𝜑𝜓 ) → ( 𝜑 → ( 𝑥𝐵𝜓 ) ) ) )
8 5 7 syl6 ( 𝐴𝐵 → ( 𝑥𝐴 → ( ( 𝜑𝜓 ) → ( 𝜑 → ( 𝑥𝐵𝜓 ) ) ) ) )
9 8 a2d ( 𝐴𝐵 → ( ( 𝑥𝐴 → ( 𝜑𝜓 ) ) → ( 𝑥𝐴 → ( 𝜑 → ( 𝑥𝐵𝜓 ) ) ) ) )
10 9 imp4a ( 𝐴𝐵 → ( ( 𝑥𝐴 → ( 𝜑𝜓 ) ) → ( ( 𝑥𝐴𝜑 ) → ( 𝑥𝐵𝜓 ) ) ) )
11 10 alimdv ( 𝐴𝐵 → ( ∀ 𝑥 ( 𝑥𝐴 → ( 𝜑𝜓 ) ) → ∀ 𝑥 ( ( 𝑥𝐴𝜑 ) → ( 𝑥𝐵𝜓 ) ) ) )
12 11 imp ( ( 𝐴𝐵 ∧ ∀ 𝑥 ( 𝑥𝐴 → ( 𝜑𝜓 ) ) ) → ∀ 𝑥 ( ( 𝑥𝐴𝜑 ) → ( 𝑥𝐵𝜓 ) ) )
13 4 12 sylan2b ( ( 𝐴𝐵 ∧ ∀ 𝑥𝐴 ( 𝜑𝜓 ) ) → ∀ 𝑥 ( ( 𝑥𝐴𝜑 ) → ( 𝑥𝐵𝜓 ) ) )
14 euimmo ( ∀ 𝑥 ( ( 𝑥𝐴𝜑 ) → ( 𝑥𝐵𝜓 ) ) → ( ∃! 𝑥 ( 𝑥𝐵𝜓 ) → ∃* 𝑥 ( 𝑥𝐴𝜑 ) ) )
15 13 14 syl ( ( 𝐴𝐵 ∧ ∀ 𝑥𝐴 ( 𝜑𝜓 ) ) → ( ∃! 𝑥 ( 𝑥𝐵𝜓 ) → ∃* 𝑥 ( 𝑥𝐴𝜑 ) ) )
16 df-eu ( ∃! 𝑥 ( 𝑥𝐴𝜑 ) ↔ ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) ∧ ∃* 𝑥 ( 𝑥𝐴𝜑 ) ) )
17 16 simplbi2 ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) → ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) → ∃! 𝑥 ( 𝑥𝐴𝜑 ) ) )
18 15 17 syl9 ( ( 𝐴𝐵 ∧ ∀ 𝑥𝐴 ( 𝜑𝜓 ) ) → ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) → ( ∃! 𝑥 ( 𝑥𝐵𝜓 ) → ∃! 𝑥 ( 𝑥𝐴𝜑 ) ) ) )
19 18 imp32 ( ( ( 𝐴𝐵 ∧ ∀ 𝑥𝐴 ( 𝜑𝜓 ) ) ∧ ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) ∧ ∃! 𝑥 ( 𝑥𝐵𝜓 ) ) ) → ∃! 𝑥 ( 𝑥𝐴𝜑 ) )
20 df-reu ( ∃! 𝑥𝐴 𝜑 ↔ ∃! 𝑥 ( 𝑥𝐴𝜑 ) )
21 19 20 sylibr ( ( ( 𝐴𝐵 ∧ ∀ 𝑥𝐴 ( 𝜑𝜓 ) ) ∧ ( ∃ 𝑥 ( 𝑥𝐴𝜑 ) ∧ ∃! 𝑥 ( 𝑥𝐵𝜓 ) ) ) → ∃! 𝑥𝐴 𝜑 )
22 3 21 sylan2b ( ( ( 𝐴𝐵 ∧ ∀ 𝑥𝐴 ( 𝜑𝜓 ) ) ∧ ( ∃ 𝑥𝐴 𝜑 ∧ ∃! 𝑥𝐵 𝜓 ) ) → ∃! 𝑥𝐴 𝜑 )