Metamath Proof Explorer


Theorem eupth2lem2

Description: Lemma for eupth2 . (Contributed by Mario Carneiro, 8-Apr-2015)

Ref Expression
Hypothesis eupth2lem2.1 𝐵 ∈ V
Assertion eupth2lem2 ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( ¬ 𝑈 ∈ if ( 𝐴 = 𝐵 , ∅ , { 𝐴 , 𝐵 } ) ↔ 𝑈 ∈ if ( 𝐴 = 𝐶 , ∅ , { 𝐴 , 𝐶 } ) ) )

Proof

Step Hyp Ref Expression
1 eupth2lem2.1 𝐵 ∈ V
2 eqidd ( ( 𝐵𝐶𝐵 = 𝑈 ) → 𝐵 = 𝐵 )
3 2 olcd ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐵 = 𝐴𝐵 = 𝐵 ) )
4 3 biantrud ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐴𝐵 ↔ ( 𝐴𝐵 ∧ ( 𝐵 = 𝐴𝐵 = 𝐵 ) ) ) )
5 eupth2lem1 ( 𝐵 ∈ V → ( 𝐵 ∈ if ( 𝐴 = 𝐵 , ∅ , { 𝐴 , 𝐵 } ) ↔ ( 𝐴𝐵 ∧ ( 𝐵 = 𝐴𝐵 = 𝐵 ) ) ) )
6 1 5 ax-mp ( 𝐵 ∈ if ( 𝐴 = 𝐵 , ∅ , { 𝐴 , 𝐵 } ) ↔ ( 𝐴𝐵 ∧ ( 𝐵 = 𝐴𝐵 = 𝐵 ) ) )
7 4 6 bitr4di ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐴𝐵𝐵 ∈ if ( 𝐴 = 𝐵 , ∅ , { 𝐴 , 𝐵 } ) ) )
8 simpr ( ( 𝐵𝐶𝐵 = 𝑈 ) → 𝐵 = 𝑈 )
9 8 eleq1d ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐵 ∈ if ( 𝐴 = 𝐵 , ∅ , { 𝐴 , 𝐵 } ) ↔ 𝑈 ∈ if ( 𝐴 = 𝐵 , ∅ , { 𝐴 , 𝐵 } ) ) )
10 7 9 bitrd ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐴𝐵𝑈 ∈ if ( 𝐴 = 𝐵 , ∅ , { 𝐴 , 𝐵 } ) ) )
11 10 necon1bbid ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( ¬ 𝑈 ∈ if ( 𝐴 = 𝐵 , ∅ , { 𝐴 , 𝐵 } ) ↔ 𝐴 = 𝐵 ) )
12 simpl ( ( 𝐵𝐶𝐵 = 𝑈 ) → 𝐵𝐶 )
13 neeq1 ( 𝐵 = 𝐴 → ( 𝐵𝐶𝐴𝐶 ) )
14 12 13 syl5ibcom ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐵 = 𝐴𝐴𝐶 ) )
15 14 pm4.71rd ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐵 = 𝐴 ↔ ( 𝐴𝐶𝐵 = 𝐴 ) ) )
16 eqcom ( 𝐴 = 𝐵𝐵 = 𝐴 )
17 ancom ( ( 𝐵 = 𝐴𝐴𝐶 ) ↔ ( 𝐴𝐶𝐵 = 𝐴 ) )
18 15 16 17 3bitr4g ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐴 = 𝐵 ↔ ( 𝐵 = 𝐴𝐴𝐶 ) ) )
19 12 neneqd ( ( 𝐵𝐶𝐵 = 𝑈 ) → ¬ 𝐵 = 𝐶 )
20 biorf ( ¬ 𝐵 = 𝐶 → ( 𝐵 = 𝐴 ↔ ( 𝐵 = 𝐶𝐵 = 𝐴 ) ) )
21 19 20 syl ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐵 = 𝐴 ↔ ( 𝐵 = 𝐶𝐵 = 𝐴 ) ) )
22 orcom ( ( 𝐵 = 𝐶𝐵 = 𝐴 ) ↔ ( 𝐵 = 𝐴𝐵 = 𝐶 ) )
23 21 22 bitrdi ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐵 = 𝐴 ↔ ( 𝐵 = 𝐴𝐵 = 𝐶 ) ) )
24 23 anbi1d ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( ( 𝐵 = 𝐴𝐴𝐶 ) ↔ ( ( 𝐵 = 𝐴𝐵 = 𝐶 ) ∧ 𝐴𝐶 ) ) )
25 18 24 bitrd ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐴 = 𝐵 ↔ ( ( 𝐵 = 𝐴𝐵 = 𝐶 ) ∧ 𝐴𝐶 ) ) )
26 ancom ( ( 𝐴𝐶 ∧ ( 𝐵 = 𝐴𝐵 = 𝐶 ) ) ↔ ( ( 𝐵 = 𝐴𝐵 = 𝐶 ) ∧ 𝐴𝐶 ) )
27 25 26 bitr4di ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐴 = 𝐵 ↔ ( 𝐴𝐶 ∧ ( 𝐵 = 𝐴𝐵 = 𝐶 ) ) ) )
28 eupth2lem1 ( 𝐵 ∈ V → ( 𝐵 ∈ if ( 𝐴 = 𝐶 , ∅ , { 𝐴 , 𝐶 } ) ↔ ( 𝐴𝐶 ∧ ( 𝐵 = 𝐴𝐵 = 𝐶 ) ) ) )
29 1 28 ax-mp ( 𝐵 ∈ if ( 𝐴 = 𝐶 , ∅ , { 𝐴 , 𝐶 } ) ↔ ( 𝐴𝐶 ∧ ( 𝐵 = 𝐴𝐵 = 𝐶 ) ) )
30 8 eleq1d ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( 𝐵 ∈ if ( 𝐴 = 𝐶 , ∅ , { 𝐴 , 𝐶 } ) ↔ 𝑈 ∈ if ( 𝐴 = 𝐶 , ∅ , { 𝐴 , 𝐶 } ) ) )
31 29 30 bitr3id ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( ( 𝐴𝐶 ∧ ( 𝐵 = 𝐴𝐵 = 𝐶 ) ) ↔ 𝑈 ∈ if ( 𝐴 = 𝐶 , ∅ , { 𝐴 , 𝐶 } ) ) )
32 11 27 31 3bitrd ( ( 𝐵𝐶𝐵 = 𝑈 ) → ( ¬ 𝑈 ∈ if ( 𝐴 = 𝐵 , ∅ , { 𝐴 , 𝐵 } ) ↔ 𝑈 ∈ if ( 𝐴 = 𝐶 , ∅ , { 𝐴 , 𝐶 } ) ) )