Metamath Proof Explorer


Theorem dfon2lem5

Description: Lemma for dfon2 . Two sets satisfying the new definition also satisfy trichotomy with respect to e. . (Contributed by Scott Fenton, 25-Feb-2011)

Ref Expression
Hypotheses dfon2lem5.1 𝐴 ∈ V
dfon2lem5.2 𝐵 ∈ V
Assertion dfon2lem5 ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ) → ( 𝐴𝐵𝐴 = 𝐵𝐵𝐴 ) )

Proof

Step Hyp Ref Expression
1 dfon2lem5.1 𝐴 ∈ V
2 dfon2lem5.2 𝐵 ∈ V
3 1 2 dfon2lem4 ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ) → ( 𝐴𝐵𝐵𝐴 ) )
4 dfpss2 ( 𝐴𝐵 ↔ ( 𝐴𝐵 ∧ ¬ 𝐴 = 𝐵 ) )
5 dfpss2 ( 𝐵𝐴 ↔ ( 𝐵𝐴 ∧ ¬ 𝐵 = 𝐴 ) )
6 eqcom ( 𝐵 = 𝐴𝐴 = 𝐵 )
7 6 notbii ( ¬ 𝐵 = 𝐴 ↔ ¬ 𝐴 = 𝐵 )
8 7 anbi2i ( ( 𝐵𝐴 ∧ ¬ 𝐵 = 𝐴 ) ↔ ( 𝐵𝐴 ∧ ¬ 𝐴 = 𝐵 ) )
9 5 8 bitri ( 𝐵𝐴 ↔ ( 𝐵𝐴 ∧ ¬ 𝐴 = 𝐵 ) )
10 4 9 orbi12i ( ( 𝐴𝐵𝐵𝐴 ) ↔ ( ( 𝐴𝐵 ∧ ¬ 𝐴 = 𝐵 ) ∨ ( 𝐵𝐴 ∧ ¬ 𝐴 = 𝐵 ) ) )
11 andir ( ( ( 𝐴𝐵𝐵𝐴 ) ∧ ¬ 𝐴 = 𝐵 ) ↔ ( ( 𝐴𝐵 ∧ ¬ 𝐴 = 𝐵 ) ∨ ( 𝐵𝐴 ∧ ¬ 𝐴 = 𝐵 ) ) )
12 10 11 bitr4i ( ( 𝐴𝐵𝐵𝐴 ) ↔ ( ( 𝐴𝐵𝐵𝐴 ) ∧ ¬ 𝐴 = 𝐵 ) )
13 orcom ( ( 𝐴𝐵𝐵𝐴 ) ↔ ( 𝐵𝐴𝐴𝐵 ) )
14 dfon2lem3 ( 𝐵 ∈ V → ( ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) → ( Tr 𝐵 ∧ ∀ 𝑧𝐵 ¬ 𝑧𝑧 ) ) )
15 2 14 ax-mp ( ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) → ( Tr 𝐵 ∧ ∀ 𝑧𝐵 ¬ 𝑧𝑧 ) )
16 15 simpld ( ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) → Tr 𝐵 )
17 psseq1 ( 𝑥 = 𝐵 → ( 𝑥𝐴𝐵𝐴 ) )
18 treq ( 𝑥 = 𝐵 → ( Tr 𝑥 ↔ Tr 𝐵 ) )
19 17 18 anbi12d ( 𝑥 = 𝐵 → ( ( 𝑥𝐴 ∧ Tr 𝑥 ) ↔ ( 𝐵𝐴 ∧ Tr 𝐵 ) ) )
20 eleq1 ( 𝑥 = 𝐵 → ( 𝑥𝐴𝐵𝐴 ) )
21 19 20 imbi12d ( 𝑥 = 𝐵 → ( ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ↔ ( ( 𝐵𝐴 ∧ Tr 𝐵 ) → 𝐵𝐴 ) ) )
22 2 21 spcv ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) → ( ( 𝐵𝐴 ∧ Tr 𝐵 ) → 𝐵𝐴 ) )
23 22 expcomd ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) → ( Tr 𝐵 → ( 𝐵𝐴𝐵𝐴 ) ) )
24 23 imp ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ Tr 𝐵 ) → ( 𝐵𝐴𝐵𝐴 ) )
25 16 24 sylan2 ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ) → ( 𝐵𝐴𝐵𝐴 ) )
26 dfon2lem3 ( 𝐴 ∈ V → ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) → ( Tr 𝐴 ∧ ∀ 𝑧𝐴 ¬ 𝑧𝑧 ) ) )
27 1 26 ax-mp ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) → ( Tr 𝐴 ∧ ∀ 𝑧𝐴 ¬ 𝑧𝑧 ) )
28 27 simpld ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) → Tr 𝐴 )
29 psseq1 ( 𝑦 = 𝐴 → ( 𝑦𝐵𝐴𝐵 ) )
30 treq ( 𝑦 = 𝐴 → ( Tr 𝑦 ↔ Tr 𝐴 ) )
31 29 30 anbi12d ( 𝑦 = 𝐴 → ( ( 𝑦𝐵 ∧ Tr 𝑦 ) ↔ ( 𝐴𝐵 ∧ Tr 𝐴 ) ) )
32 eleq1 ( 𝑦 = 𝐴 → ( 𝑦𝐵𝐴𝐵 ) )
33 31 32 imbi12d ( 𝑦 = 𝐴 → ( ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ↔ ( ( 𝐴𝐵 ∧ Tr 𝐴 ) → 𝐴𝐵 ) ) )
34 1 33 spcv ( ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) → ( ( 𝐴𝐵 ∧ Tr 𝐴 ) → 𝐴𝐵 ) )
35 34 expcomd ( ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) → ( Tr 𝐴 → ( 𝐴𝐵𝐴𝐵 ) ) )
36 28 35 mpan9 ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ) → ( 𝐴𝐵𝐴𝐵 ) )
37 25 36 orim12d ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ) → ( ( 𝐵𝐴𝐴𝐵 ) → ( 𝐵𝐴𝐴𝐵 ) ) )
38 13 37 syl5bi ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ) → ( ( 𝐴𝐵𝐵𝐴 ) → ( 𝐵𝐴𝐴𝐵 ) ) )
39 12 38 syl5bir ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ) → ( ( ( 𝐴𝐵𝐵𝐴 ) ∧ ¬ 𝐴 = 𝐵 ) → ( 𝐵𝐴𝐴𝐵 ) ) )
40 3 39 mpand ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ) → ( ¬ 𝐴 = 𝐵 → ( 𝐵𝐴𝐴𝐵 ) ) )
41 3orrot ( ( 𝐴𝐵𝐴 = 𝐵𝐵𝐴 ) ↔ ( 𝐴 = 𝐵𝐵𝐴𝐴𝐵 ) )
42 3orass ( ( 𝐴 = 𝐵𝐵𝐴𝐴𝐵 ) ↔ ( 𝐴 = 𝐵 ∨ ( 𝐵𝐴𝐴𝐵 ) ) )
43 df-or ( ( 𝐴 = 𝐵 ∨ ( 𝐵𝐴𝐴𝐵 ) ) ↔ ( ¬ 𝐴 = 𝐵 → ( 𝐵𝐴𝐴𝐵 ) ) )
44 42 43 bitri ( ( 𝐴 = 𝐵𝐵𝐴𝐴𝐵 ) ↔ ( ¬ 𝐴 = 𝐵 → ( 𝐵𝐴𝐴𝐵 ) ) )
45 41 44 bitri ( ( 𝐴𝐵𝐴 = 𝐵𝐵𝐴 ) ↔ ( ¬ 𝐴 = 𝐵 → ( 𝐵𝐴𝐴𝐵 ) ) )
46 40 45 sylibr ( ( ∀ 𝑥 ( ( 𝑥𝐴 ∧ Tr 𝑥 ) → 𝑥𝐴 ) ∧ ∀ 𝑦 ( ( 𝑦𝐵 ∧ Tr 𝑦 ) → 𝑦𝐵 ) ) → ( 𝐴𝐵𝐴 = 𝐵𝐵𝐴 ) )