Metamath Proof Explorer


Theorem reusv1

Description: Two ways to express single-valuedness of a class expression C ( y ) . (Contributed by NM, 16-Dec-2012) (Proof shortened by Mario Carneiro, 18-Nov-2016) (Proof shortened by JJ, 7-Aug-2021)

Ref Expression
Assertion reusv1 ( ∃ 𝑦𝐵 𝜑 → ( ∃! 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ↔ ∃ 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 nfra1 𝑦𝑦𝐵 ( 𝜑𝑥 = 𝐶 )
2 1 nfmov 𝑦 ∃* 𝑥𝑦𝐵 ( 𝜑𝑥 = 𝐶 )
3 rsp ( ∀ 𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) → ( 𝑦𝐵 → ( 𝜑𝑥 = 𝐶 ) ) )
4 3 com3l ( 𝑦𝐵 → ( 𝜑 → ( ∀ 𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) → 𝑥 = 𝐶 ) ) )
5 4 alrimdv ( 𝑦𝐵 → ( 𝜑 → ∀ 𝑥 ( ∀ 𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) → 𝑥 = 𝐶 ) ) )
6 mo2icl ( ∀ 𝑥 ( ∀ 𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) → 𝑥 = 𝐶 ) → ∃* 𝑥𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) )
7 5 6 syl6 ( 𝑦𝐵 → ( 𝜑 → ∃* 𝑥𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ) )
8 2 7 rexlimi ( ∃ 𝑦𝐵 𝜑 → ∃* 𝑥𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) )
9 mormo ( ∃* 𝑥𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) → ∃* 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) )
10 reu5 ( ∃! 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ↔ ( ∃ 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ∧ ∃* 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ) )
11 10 rbaib ( ∃* 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) → ( ∃! 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ↔ ∃ 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ) )
12 8 9 11 3syl ( ∃ 𝑦𝐵 𝜑 → ( ∃! 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ↔ ∃ 𝑥𝐴𝑦𝐵 ( 𝜑𝑥 = 𝐶 ) ) )