Metamath Proof Explorer


Theorem ich2exprop

Description: If the setvar variables are interchangeable in a wff, there is an ordered pair fulfilling the wff iff there is an unordered pair fulfilling the wff. (Contributed by AV, 16-Jul-2023)

Ref Expression
Assertion ich2exprop ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → ∃ a ∃ b A B = a b ∧ φ ↔ ∃ a ∃ b A B = a b ∧ φ

Proof

Step Hyp Ref Expression
1 nfv ⊢ Ⅎ a A ∈ X
2 nfv ⊢ Ⅎ a B ∈ X
3 nfich1 ⊢ Ⅎ a a ⇄ b φ
4 1 2 3 nf3an ⊢ Ⅎ a A ∈ X ∧ B ∈ X ∧ a ⇄ b φ
5 nfv ⊢ Ⅎ a A B = x y
6 nfcv ⊢ Ⅎ _ a y
7 nfsbc1v ⊢ Ⅎ a [˙x / a]˙ φ
8 6 7 nfsbcw ⊢ Ⅎ a [˙y / b]˙ [˙x / a]˙ φ
9 5 8 nfan ⊢ Ⅎ a A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
10 9 nfex ⊢ Ⅎ a ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
11 10 nfex ⊢ Ⅎ a ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
12 nfv ⊢ Ⅎ b A ∈ X
13 nfv ⊢ Ⅎ b B ∈ X
14 nfich2 ⊢ Ⅎ b a ⇄ b φ
15 12 13 14 nf3an ⊢ Ⅎ b A ∈ X ∧ B ∈ X ∧ a ⇄ b φ
16 nfv ⊢ Ⅎ b A B = x y
17 nfsbc1v ⊢ Ⅎ b [˙y / b]˙ [˙x / a]˙ φ
18 16 17 nfan ⊢ Ⅎ b A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
19 18 nfex ⊢ Ⅎ b ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
20 19 nfex ⊢ Ⅎ b ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
21 vex ⊢ a ∈ V
22 vex ⊢ b ∈ V
23 preq12bg ⊢ A ∈ X ∧ B ∈ X ∧ a ∈ V ∧ b ∈ V → A B = a b ↔ A = a ∧ B = b ∨ A = b ∧ B = a
24 21 22 23 mpanr12 ⊢ A ∈ X ∧ B ∈ X → A B = a b ↔ A = a ∧ B = b ∨ A = b ∧ B = a
25 24 3adant3 ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → A B = a b ↔ A = a ∧ B = b ∨ A = b ∧ B = a
26 or2expropbilem1 ⊢ A ∈ X ∧ B ∈ X → A = a ∧ B = b → φ → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
27 26 3adant3 ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → A = a ∧ B = b → φ → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
28 ichcom ⊢ a ⇄ b φ ↔ b ⇄ a φ
29 28 biimpi ⊢ a ⇄ b φ → b ⇄ a φ
30 29 3ad2ant3 ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → b ⇄ a φ
31 30 adantr ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ ∧ φ → b ⇄ a φ
32 22 21 pm3.2i ⊢ b ∈ V ∧ a ∈ V
33 32 a1i ⊢ A = b ∧ B = a → b ∈ V ∧ a ∈ V
34 31 33 anim12i ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ ∧ φ ∧ A = b ∧ B = a → b ⇄ a φ ∧ b ∈ V ∧ a ∈ V
35 simpr ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ ∧ φ → φ
36 opeq12 ⊢ A = b ∧ B = a → A B = b a
37 35 36 anim12ci ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ ∧ φ ∧ A = b ∧ B = a → A B = b a ∧ φ
38 nfv ⊢ Ⅎ x A B = b a ∧ φ
39 nfv ⊢ Ⅎ y A B = b a ∧ φ
40 opeq12 ⊢ x = b ∧ y = a → x y = b a
41 40 eqeq2d ⊢ x = b ∧ y = a → A B = x y ↔ A B = b a
42 41 adantl ⊢ b ⇄ a φ ∧ x = b ∧ y = a → A B = x y ↔ A B = b a
43 dfsbcq ⊢ y = a → [˙y / b]˙ [˙x / a]˙ φ ↔ [˙a / b]˙ [˙x / a]˙ φ
44 43 adantl ⊢ x = b ∧ y = a → [˙y / b]˙ [˙x / a]˙ φ ↔ [˙a / b]˙ [˙x / a]˙ φ
45 44 adantl ⊢ b ⇄ a φ ∧ x = b ∧ y = a → [˙y / b]˙ [˙x / a]˙ φ ↔ [˙a / b]˙ [˙x / a]˙ φ
46 sbceq1a ⊢ x = b → [˙a / b]˙ [˙x / a]˙ φ ↔ [˙b / x]˙ [˙a / b]˙ [˙x / a]˙ φ
47 46 adantr ⊢ x = b ∧ y = a → [˙a / b]˙ [˙x / a]˙ φ ↔ [˙b / x]˙ [˙a / b]˙ [˙x / a]˙ φ
48 df-ich ⊢ b ⇄ a φ ↔ ∀ b ∀ a b x a b x a φ ↔ φ
49 sbsbc ⊢ b x a b x a φ ↔ [˙b / x]˙ a b x a φ
50 sbsbc ⊢ a b x a φ ↔ [˙a / b]˙ x a φ
51 sbsbc ⊢ x a φ ↔ [˙x / a]˙ φ
52 51 sbcbii ⊢ [˙a / b]˙ x a φ ↔ [˙a / b]˙ [˙x / a]˙ φ
53 50 52 bitri ⊢ a b x a φ ↔ [˙a / b]˙ [˙x / a]˙ φ
54 53 sbcbii ⊢ [˙b / x]˙ a b x a φ ↔ [˙b / x]˙ [˙a / b]˙ [˙x / a]˙ φ
55 49 54 bitri ⊢ b x a b x a φ ↔ [˙b / x]˙ [˙a / b]˙ [˙x / a]˙ φ
56 2sp ⊢ ∀ b ∀ a b x a b x a φ ↔ φ → b x a b x a φ ↔ φ
57 55 56 bitr3id ⊢ ∀ b ∀ a b x a b x a φ ↔ φ → [˙b / x]˙ [˙a / b]˙ [˙x / a]˙ φ ↔ φ
58 48 57 sylbi ⊢ b ⇄ a φ → [˙b / x]˙ [˙a / b]˙ [˙x / a]˙ φ ↔ φ
59 47 58 sylan9bbr ⊢ b ⇄ a φ ∧ x = b ∧ y = a → [˙a / b]˙ [˙x / a]˙ φ ↔ φ
60 45 59 bitrd ⊢ b ⇄ a φ ∧ x = b ∧ y = a → [˙y / b]˙ [˙x / a]˙ φ ↔ φ
61 42 60 anbi12d ⊢ b ⇄ a φ ∧ x = b ∧ y = a → A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ ↔ A B = b a ∧ φ
62 38 39 61 spc2ed ⊢ b ⇄ a φ ∧ b ∈ V ∧ a ∈ V → A B = b a ∧ φ → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
63 34 37 62 sylc ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ ∧ φ ∧ A = b ∧ B = a → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
64 63 exp31 ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → φ → A = b ∧ B = a → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
65 64 com23 ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → A = b ∧ B = a → φ → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
66 27 65 jaod ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → A = a ∧ B = b ∨ A = b ∧ B = a → φ → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
67 25 66 sylbid ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → A B = a b → φ → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
68 67 impd ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → A B = a b ∧ φ → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
69 15 20 68 exlimd ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → ∃ b A B = a b ∧ φ → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
70 4 11 69 exlimd ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → ∃ a ∃ b A B = a b ∧ φ → ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
71 or2expropbilem2 ⊢ ∃ a ∃ b A B = a b ∧ φ ↔ ∃ x ∃ y A B = x y ∧ [˙y / b]˙ [˙x / a]˙ φ
72 70 71 imbitrrdi ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → ∃ a ∃ b A B = a b ∧ φ → ∃ a ∃ b A B = a b ∧ φ
73 oppr ⊢ A ∈ X ∧ B ∈ X → A B = a b → A B = a b
74 73 anim1d ⊢ A ∈ X ∧ B ∈ X → A B = a b ∧ φ → A B = a b ∧ φ
75 74 2eximdv ⊢ A ∈ X ∧ B ∈ X → ∃ a ∃ b A B = a b ∧ φ → ∃ a ∃ b A B = a b ∧ φ
76 75 3adant3 ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → ∃ a ∃ b A B = a b ∧ φ → ∃ a ∃ b A B = a b ∧ φ
77 72 76 impbid ⊢ A ∈ X ∧ B ∈ X ∧ a ⇄ b φ → ∃ a ∃ b A B = a b ∧ φ ↔ ∃ a ∃ b A B = a b ∧ φ