Metamath Proof Explorer


Theorem mob

Description: Equality implied by "at most one." (Contributed by NM, 18-Feb-2006)

Ref Expression
Hypotheses moi.1 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) )
moi.2 ( 𝑥 = 𝐵 → ( 𝜑𝜒 ) )
Assertion mob ( ( ( 𝐴𝐶𝐵𝐷 ) ∧ ∃* 𝑥 𝜑𝜓 ) → ( 𝐴 = 𝐵𝜒 ) )

Proof

Step Hyp Ref Expression
1 moi.1 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) )
2 moi.2 ( 𝑥 = 𝐵 → ( 𝜑𝜒 ) )
3 elex ( 𝐵𝐷𝐵 ∈ V )
4 nfv 𝑥 𝐵 ∈ V
5 nfmo1 𝑥 ∃* 𝑥 𝜑
6 nfv 𝑥 𝜓
7 4 5 6 nf3an 𝑥 ( 𝐵 ∈ V ∧ ∃* 𝑥 𝜑𝜓 )
8 nfv 𝑥 ( 𝐴 = 𝐵𝜒 )
9 7 8 nfim 𝑥 ( ( 𝐵 ∈ V ∧ ∃* 𝑥 𝜑𝜓 ) → ( 𝐴 = 𝐵𝜒 ) )
10 1 3anbi3d ( 𝑥 = 𝐴 → ( ( 𝐵 ∈ V ∧ ∃* 𝑥 𝜑𝜑 ) ↔ ( 𝐵 ∈ V ∧ ∃* 𝑥 𝜑𝜓 ) ) )
11 eqeq1 ( 𝑥 = 𝐴 → ( 𝑥 = 𝐵𝐴 = 𝐵 ) )
12 11 bibi1d ( 𝑥 = 𝐴 → ( ( 𝑥 = 𝐵𝜒 ) ↔ ( 𝐴 = 𝐵𝜒 ) ) )
13 10 12 imbi12d ( 𝑥 = 𝐴 → ( ( ( 𝐵 ∈ V ∧ ∃* 𝑥 𝜑𝜑 ) → ( 𝑥 = 𝐵𝜒 ) ) ↔ ( ( 𝐵 ∈ V ∧ ∃* 𝑥 𝜑𝜓 ) → ( 𝐴 = 𝐵𝜒 ) ) ) )
14 2 mob2 ( ( 𝐵 ∈ V ∧ ∃* 𝑥 𝜑𝜑 ) → ( 𝑥 = 𝐵𝜒 ) )
15 9 13 14 vtoclg1f ( 𝐴𝐶 → ( ( 𝐵 ∈ V ∧ ∃* 𝑥 𝜑𝜓 ) → ( 𝐴 = 𝐵𝜒 ) ) )
16 15 com12 ( ( 𝐵 ∈ V ∧ ∃* 𝑥 𝜑𝜓 ) → ( 𝐴𝐶 → ( 𝐴 = 𝐵𝜒 ) ) )
17 16 3expib ( 𝐵 ∈ V → ( ( ∃* 𝑥 𝜑𝜓 ) → ( 𝐴𝐶 → ( 𝐴 = 𝐵𝜒 ) ) ) )
18 3 17 syl ( 𝐵𝐷 → ( ( ∃* 𝑥 𝜑𝜓 ) → ( 𝐴𝐶 → ( 𝐴 = 𝐵𝜒 ) ) ) )
19 18 com3r ( 𝐴𝐶 → ( 𝐵𝐷 → ( ( ∃* 𝑥 𝜑𝜓 ) → ( 𝐴 = 𝐵𝜒 ) ) ) )
20 19 imp ( ( 𝐴𝐶𝐵𝐷 ) → ( ( ∃* 𝑥 𝜑𝜓 ) → ( 𝐴 = 𝐵𝜒 ) ) )
21 20 3impib ( ( ( 𝐴𝐶𝐵𝐷 ) ∧ ∃* 𝑥 𝜑𝜓 ) → ( 𝐴 = 𝐵𝜒 ) )