Metamath Proof Explorer


Theorem altopthsn

Description: Two alternate ordered pairs are equal iff the singletons of their respective elements are equal. Note that this holds regardless of sethood of any of the elements. (Contributed by Scott Fenton, 16-Apr-2012)

Ref Expression
Assertion altopthsn ( ⟪ 𝐴 , 𝐵 ⟫ = ⟪ 𝐶 , 𝐷 ⟫ ↔ ( { 𝐴 } = { 𝐶 } ∧ { 𝐵 } = { 𝐷 } ) )

Proof

Step Hyp Ref Expression
1 df-altop ⊢ ⟪ 𝐴 , 𝐵 ⟫ = { { 𝐴 } , { 𝐴 , { 𝐵 } } }
2 df-altop ⊢ ⟪ 𝐶 , 𝐷 ⟫ = { { 𝐶 } , { 𝐶 , { 𝐷 } } }
3 1 2 eqeq12i ⊢ ( ⟪ 𝐴 , 𝐵 ⟫ = ⟪ 𝐶 , 𝐷 ⟫ ↔ { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } )
4 snex ⊢ { 𝐴 } ∈ V
5 prex ⊢ { 𝐴 , { 𝐵 } } ∈ V
6 snex ⊢ { 𝐶 } ∈ V
7 prex ⊢ { 𝐶 , { 𝐷 } } ∈ V
8 4 5 6 7 preq12b ⊢ ( { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } ↔ ( ( { 𝐴 } = { 𝐶 } ∧ { 𝐴 , { 𝐵 } } = { 𝐶 , { 𝐷 } } ) ∨ ( { 𝐴 } = { 𝐶 , { 𝐷 } } ∧ { 𝐴 , { 𝐵 } } = { 𝐶 } ) ) )
9 simpl ⊢ ( ( { 𝐴 } = { 𝐶 } ∧ { 𝐴 , { 𝐵 } } = { 𝐶 , { 𝐷 } } ) → { 𝐴 } = { 𝐶 } )
10 snsspr1 ⊢ { 𝐴 } ⊆ { 𝐴 , { 𝐵 } }
11 sseq2 ⊢ ( { 𝐴 , { 𝐵 } } = { 𝐶 } → ( { 𝐴 } ⊆ { 𝐴 , { 𝐵 } } ↔ { 𝐴 } ⊆ { 𝐶 } ) )
12 10 11 mpbii ⊢ ( { 𝐴 , { 𝐵 } } = { 𝐶 } → { 𝐴 } ⊆ { 𝐶 } )
13 12 adantl ⊢ ( ( { 𝐴 } = { 𝐶 , { 𝐷 } } ∧ { 𝐴 , { 𝐵 } } = { 𝐶 } ) → { 𝐴 } ⊆ { 𝐶 } )
14 snsspr1 ⊢ { 𝐶 } ⊆ { 𝐶 , { 𝐷 } }
15 sseq2 ⊢ ( { 𝐴 } = { 𝐶 , { 𝐷 } } → ( { 𝐶 } ⊆ { 𝐴 } ↔ { 𝐶 } ⊆ { 𝐶 , { 𝐷 } } ) )
16 14 15 mpbiri ⊢ ( { 𝐴 } = { 𝐶 , { 𝐷 } } → { 𝐶 } ⊆ { 𝐴 } )
17 16 adantr ⊢ ( ( { 𝐴 } = { 𝐶 , { 𝐷 } } ∧ { 𝐴 , { 𝐵 } } = { 𝐶 } ) → { 𝐶 } ⊆ { 𝐴 } )
18 13 17 eqssd ⊢ ( ( { 𝐴 } = { 𝐶 , { 𝐷 } } ∧ { 𝐴 , { 𝐵 } } = { 𝐶 } ) → { 𝐴 } = { 𝐶 } )
19 9 18 jaoi ⊢ ( ( ( { 𝐴 } = { 𝐶 } ∧ { 𝐴 , { 𝐵 } } = { 𝐶 , { 𝐷 } } ) ∨ ( { 𝐴 } = { 𝐶 , { 𝐷 } } ∧ { 𝐴 , { 𝐵 } } = { 𝐶 } ) ) → { 𝐴 } = { 𝐶 } )
20 8 19 sylbi ⊢ ( { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } → { 𝐴 } = { 𝐶 } )
21 uneq1 ⊢ ( { 𝐴 } = { 𝐶 } → ( { 𝐴 } ∪ { { 𝐵 } } ) = ( { 𝐶 } ∪ { { 𝐵 } } ) )
22 df-pr ⊢ { 𝐴 , { 𝐵 } } = ( { 𝐴 } ∪ { { 𝐵 } } )
23 df-pr ⊢ { 𝐶 , { 𝐵 } } = ( { 𝐶 } ∪ { { 𝐵 } } )
24 21 22 23 3eqtr4g ⊢ ( { 𝐴 } = { 𝐶 } → { 𝐴 , { 𝐵 } } = { 𝐶 , { 𝐵 } } )
25 24 preq2d ⊢ ( { 𝐴 } = { 𝐶 } → { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐴 } , { 𝐶 , { 𝐵 } } } )
26 preq1 ⊢ ( { 𝐴 } = { 𝐶 } → { { 𝐴 } , { 𝐶 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐵 } } } )
27 25 26 eqtrd ⊢ ( { 𝐴 } = { 𝐶 } → { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐵 } } } )
28 27 eqeq1d ⊢ ( { 𝐴 } = { 𝐶 } → ( { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } ↔ { { 𝐶 } , { 𝐶 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } ) )
29 28 biimpd ⊢ ( { 𝐴 } = { 𝐶 } → ( { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } → { { 𝐶 } , { 𝐶 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } ) )
30 prex ⊢ { 𝐶 , { 𝐵 } } ∈ V
31 30 7 preqr2 ⊢ ( { { 𝐶 } , { 𝐶 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } → { 𝐶 , { 𝐵 } } = { 𝐶 , { 𝐷 } } )
32 snex ⊢ { 𝐵 } ∈ V
33 snex ⊢ { 𝐷 } ∈ V
34 32 33 preqr2 ⊢ ( { 𝐶 , { 𝐵 } } = { 𝐶 , { 𝐷 } } → { 𝐵 } = { 𝐷 } )
35 31 34 syl ⊢ ( { { 𝐶 } , { 𝐶 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } → { 𝐵 } = { 𝐷 } )
36 29 35 syl6com ⊢ ( { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } → ( { 𝐴 } = { 𝐶 } → { 𝐵 } = { 𝐷 } ) )
37 20 36 jcai ⊢ ( { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } → ( { 𝐴 } = { 𝐶 } ∧ { 𝐵 } = { 𝐷 } ) )
38 preq2 ⊢ ( { 𝐵 } = { 𝐷 } → { 𝐶 , { 𝐵 } } = { 𝐶 , { 𝐷 } } )
39 38 preq2d ⊢ ( { 𝐵 } = { 𝐷 } → { { 𝐶 } , { 𝐶 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } )
40 27 39 sylan9eq ⊢ ( ( { 𝐴 } = { 𝐶 } ∧ { 𝐵 } = { 𝐷 } ) → { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } )
41 37 40 impbii ⊢ ( { { 𝐴 } , { 𝐴 , { 𝐵 } } } = { { 𝐶 } , { 𝐶 , { 𝐷 } } } ↔ ( { 𝐴 } = { 𝐶 } ∧ { 𝐵 } = { 𝐷 } ) )
42 3 41 bitri ⊢ ( ⟪ 𝐴 , 𝐵 ⟫ = ⟪ 𝐶 , 𝐷 ⟫ ↔ ( { 𝐴 } = { 𝐶 } ∧ { 𝐵 } = { 𝐷 } ) )