Metamath Proof Explorer


Theorem rmob

Description: Consequence of "at most one", using implicit substitution. (Contributed by NM, 2-Jan-2015) (Revised by NM, 16-Jun-2017)

Ref Expression
Hypotheses rmoi.b ( 𝑥 = 𝐵 → ( 𝜑𝜓 ) )
rmoi.c ( 𝑥 = 𝐶 → ( 𝜑𝜒 ) )
Assertion rmob ( ( ∃* 𝑥𝐴 𝜑 ∧ ( 𝐵𝐴𝜓 ) ) → ( 𝐵 = 𝐶 ↔ ( 𝐶𝐴𝜒 ) ) )

Proof

Step Hyp Ref Expression
1 rmoi.b ( 𝑥 = 𝐵 → ( 𝜑𝜓 ) )
2 rmoi.c ( 𝑥 = 𝐶 → ( 𝜑𝜒 ) )
3 df-rmo ( ∃* 𝑥𝐴 𝜑 ↔ ∃* 𝑥 ( 𝑥𝐴𝜑 ) )
4 simprl ( ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) → 𝐵𝐴 )
5 eleq1 ( 𝐵 = 𝐶 → ( 𝐵𝐴𝐶𝐴 ) )
6 4 5 syl5ibcom ( ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) → ( 𝐵 = 𝐶𝐶𝐴 ) )
7 simpl ( ( 𝐶𝐴𝜒 ) → 𝐶𝐴 )
8 7 a1i ( ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) → ( ( 𝐶𝐴𝜒 ) → 𝐶𝐴 ) )
9 4 anim1i ( ( ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) ∧ 𝐶𝐴 ) → ( 𝐵𝐴𝐶𝐴 ) )
10 simpll ( ( ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) ∧ 𝐶𝐴 ) → ∃* 𝑥 ( 𝑥𝐴𝜑 ) )
11 simplr ( ( ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) ∧ 𝐶𝐴 ) → ( 𝐵𝐴𝜓 ) )
12 eleq1 ( 𝑥 = 𝐵 → ( 𝑥𝐴𝐵𝐴 ) )
13 12 1 anbi12d ( 𝑥 = 𝐵 → ( ( 𝑥𝐴𝜑 ) ↔ ( 𝐵𝐴𝜓 ) ) )
14 eleq1 ( 𝑥 = 𝐶 → ( 𝑥𝐴𝐶𝐴 ) )
15 14 2 anbi12d ( 𝑥 = 𝐶 → ( ( 𝑥𝐴𝜑 ) ↔ ( 𝐶𝐴𝜒 ) ) )
16 13 15 mob ( ( ( 𝐵𝐴𝐶𝐴 ) ∧ ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) → ( 𝐵 = 𝐶 ↔ ( 𝐶𝐴𝜒 ) ) )
17 9 10 11 16 syl3anc ( ( ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) ∧ 𝐶𝐴 ) → ( 𝐵 = 𝐶 ↔ ( 𝐶𝐴𝜒 ) ) )
18 17 ex ( ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) → ( 𝐶𝐴 → ( 𝐵 = 𝐶 ↔ ( 𝐶𝐴𝜒 ) ) ) )
19 6 8 18 pm5.21ndd ( ( ∃* 𝑥 ( 𝑥𝐴𝜑 ) ∧ ( 𝐵𝐴𝜓 ) ) → ( 𝐵 = 𝐶 ↔ ( 𝐶𝐴𝜒 ) ) )
20 3 19 sylanb ( ( ∃* 𝑥𝐴 𝜑 ∧ ( 𝐵𝐴𝜓 ) ) → ( 𝐵 = 𝐶 ↔ ( 𝐶𝐴𝜒 ) ) )