Metamath Proof Explorer


Theorem ichreuopeq

Description: If the setvar variables are interchangeable in a wff, and there is a unique ordered pair fulfilling the wff, then both setvar variables must be equal. (Contributed by AV, 28-Aug-2023)

Ref Expression
Assertion ichreuopeq ⊢ a ⇄ b φ → ∃! p ∈ X × X ∃ a ∃ b p = a b ∧ φ → ∃ a ∃ b a = b ∧ φ

Proof

Step Hyp Ref Expression
1 eqeq1 ⊢ p = x y → p = a b ↔ x y = a b
2 1 anbi1d ⊢ p = x y → p = a b ∧ φ ↔ x y = a b ∧ φ
3 2 2exbidv ⊢ p = x y → ∃ a ∃ b p = a b ∧ φ ↔ ∃ a ∃ b x y = a b ∧ φ
4 eqeq1 ⊢ p = v w → p = a b ↔ v w = a b
5 4 anbi1d ⊢ p = v w → p = a b ∧ φ ↔ v w = a b ∧ φ
6 5 2exbidv ⊢ p = v w → ∃ a ∃ b p = a b ∧ φ ↔ ∃ a ∃ b v w = a b ∧ φ
7 3 6 reuop ⊢ ∃! p ∈ X × X ∃ a ∃ b p = a b ∧ φ ↔ ∃ x ∈ X ∃ y ∈ X ∃ a ∃ b x y = a b ∧ φ ∧ ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y
8 nfich1 ⊢ Ⅎ a a ⇄ b φ
9 nfv ⊢ Ⅎ a x ∈ X ∧ y ∈ X
10 8 9 nfan ⊢ Ⅎ a a ⇄ b φ ∧ x ∈ X ∧ y ∈ X
11 nfcv ⊢ Ⅎ _ a X
12 nfe1 ⊢ Ⅎ a ∃ a ∃ b v w = a b ∧ φ
13 nfv ⊢ Ⅎ a v w = x y
14 12 13 nfim ⊢ Ⅎ a ∃ a ∃ b v w = a b ∧ φ → v w = x y
15 11 14 nfralw ⊢ Ⅎ a ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y
16 11 15 nfralw ⊢ Ⅎ a ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y
17 nfe1 ⊢ Ⅎ a ∃ a ∃ b a = b ∧ φ
18 16 17 nfim ⊢ Ⅎ a ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b a = b ∧ φ
19 nfich2 ⊢ Ⅎ b a ⇄ b φ
20 nfv ⊢ Ⅎ b x ∈ X ∧ y ∈ X
21 19 20 nfan ⊢ Ⅎ b a ⇄ b φ ∧ x ∈ X ∧ y ∈ X
22 nfcv ⊢ Ⅎ _ b X
23 nfe1 ⊢ Ⅎ b ∃ b v w = a b ∧ φ
24 23 nfex ⊢ Ⅎ b ∃ a ∃ b v w = a b ∧ φ
25 nfv ⊢ Ⅎ b v w = x y
26 24 25 nfim ⊢ Ⅎ b ∃ a ∃ b v w = a b ∧ φ → v w = x y
27 22 26 nfralw ⊢ Ⅎ b ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y
28 22 27 nfralw ⊢ Ⅎ b ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y
29 nfe1 ⊢ Ⅎ b ∃ b a = b ∧ φ
30 29 nfex ⊢ Ⅎ b ∃ a ∃ b a = b ∧ φ
31 28 30 nfim ⊢ Ⅎ b ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b a = b ∧ φ
32 opeq12 ⊢ v = y ∧ w = x → v w = y x
33 32 eqeq1d ⊢ v = y ∧ w = x → v w = a b ↔ y x = a b
34 33 anbi1d ⊢ v = y ∧ w = x → v w = a b ∧ φ ↔ y x = a b ∧ φ
35 34 2exbidv ⊢ v = y ∧ w = x → ∃ a ∃ b v w = a b ∧ φ ↔ ∃ a ∃ b y x = a b ∧ φ
36 32 eqeq1d ⊢ v = y ∧ w = x → v w = x y ↔ y x = x y
37 35 36 imbi12d ⊢ v = y ∧ w = x → ∃ a ∃ b v w = a b ∧ φ → v w = x y ↔ ∃ a ∃ b y x = a b ∧ φ → y x = x y
38 37 rspc2gv ⊢ y ∈ X ∧ x ∈ X → ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b y x = a b ∧ φ → y x = x y
39 38 ancoms ⊢ x ∈ X ∧ y ∈ X → ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b y x = a b ∧ φ → y x = x y
40 39 adantl ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b y x = a b ∧ φ → y x = x y
41 simprr ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → y ∈ X
42 41 adantr ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → y ∈ X
43 simpl ⊢ x ∈ X ∧ y ∈ X → x ∈ X
44 43 adantl ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → x ∈ X
45 44 adantr ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → x ∈ X
46 eqidd ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → y x = y x
47 vex ⊢ x ∈ V
48 vex ⊢ y ∈ V
49 47 48 opth ⊢ x y = a b ↔ x = a ∧ y = b
50 sbceq1a ⊢ b = y → φ ↔ [˙y / b]˙ φ
51 50 equcoms ⊢ y = b → φ ↔ [˙y / b]˙ φ
52 sbceq1a ⊢ a = x → [˙y / b]˙ φ ↔ [˙x / a]˙ [˙y / b]˙ φ
53 52 equcoms ⊢ x = a → [˙y / b]˙ φ ↔ [˙x / a]˙ [˙y / b]˙ φ
54 51 53 sylan9bbr ⊢ x = a ∧ y = b → φ ↔ [˙x / a]˙ [˙y / b]˙ φ
55 dfich2 ⊢ a ⇄ b φ ↔ ∀ x ∀ y x a y b φ ↔ y a x b φ
56 2sp ⊢ ∀ x ∀ y x a y b φ ↔ y a x b φ → x a y b φ ↔ y a x b φ
57 sbsbc ⊢ y b φ ↔ [˙y / b]˙ φ
58 57 sbbii ⊢ x a y b φ ↔ x a [˙y / b]˙ φ
59 sbsbc ⊢ x a [˙y / b]˙ φ ↔ [˙x / a]˙ [˙y / b]˙ φ
60 58 59 bitri ⊢ x a y b φ ↔ [˙x / a]˙ [˙y / b]˙ φ
61 sbsbc ⊢ x b φ ↔ [˙x / b]˙ φ
62 61 sbbii ⊢ y a x b φ ↔ y a [˙x / b]˙ φ
63 sbsbc ⊢ y a [˙x / b]˙ φ ↔ [˙y / a]˙ [˙x / b]˙ φ
64 62 63 bitri ⊢ y a x b φ ↔ [˙y / a]˙ [˙x / b]˙ φ
65 56 60 64 3bitr3g ⊢ ∀ x ∀ y x a y b φ ↔ y a x b φ → [˙x / a]˙ [˙y / b]˙ φ ↔ [˙y / a]˙ [˙x / b]˙ φ
66 55 65 sylbi ⊢ a ⇄ b φ → [˙x / a]˙ [˙y / b]˙ φ ↔ [˙y / a]˙ [˙x / b]˙ φ
67 66 biimpd ⊢ a ⇄ b φ → [˙x / a]˙ [˙y / b]˙ φ → [˙y / a]˙ [˙x / b]˙ φ
68 67 adantr ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → [˙x / a]˙ [˙y / b]˙ φ → [˙y / a]˙ [˙x / b]˙ φ
69 68 com12 ⊢ [˙x / a]˙ [˙y / b]˙ φ → a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → [˙y / a]˙ [˙x / b]˙ φ
70 54 69 biimtrdi ⊢ x = a ∧ y = b → φ → a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → [˙y / a]˙ [˙x / b]˙ φ
71 49 70 sylbi ⊢ x y = a b → φ → a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → [˙y / a]˙ [˙x / b]˙ φ
72 71 imp ⊢ x y = a b ∧ φ → a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → [˙y / a]˙ [˙x / b]˙ φ
73 72 impcom ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → [˙y / a]˙ [˙x / b]˙ φ
74 sbccom ⊢ [˙x / b]˙ [˙y / a]˙ φ ↔ [˙y / a]˙ [˙x / b]˙ φ
75 73 74 sylibr ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → [˙x / b]˙ [˙y / a]˙ φ
76 46 75 jca ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → y x = y x ∧ [˙x / b]˙ [˙y / a]˙ φ
77 nfcv ⊢ Ⅎ _ b x
78 nfv ⊢ Ⅎ b y x = y x
79 nfsbc1v ⊢ Ⅎ b [˙x / b]˙ [˙y / a]˙ φ
80 78 79 nfan ⊢ Ⅎ b y x = y x ∧ [˙x / b]˙ [˙y / a]˙ φ
81 opeq2 ⊢ b = x → y b = y x
82 81 eqeq2d ⊢ b = x → y x = y b ↔ y x = y x
83 sbceq1a ⊢ b = x → [˙y / a]˙ φ ↔ [˙x / b]˙ [˙y / a]˙ φ
84 82 83 anbi12d ⊢ b = x → y x = y b ∧ [˙y / a]˙ φ ↔ y x = y x ∧ [˙x / b]˙ [˙y / a]˙ φ
85 77 80 84 spcegf ⊢ x ∈ X → y x = y x ∧ [˙x / b]˙ [˙y / a]˙ φ → ∃ b y x = y b ∧ [˙y / a]˙ φ
86 45 76 85 sylc ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → ∃ b y x = y b ∧ [˙y / a]˙ φ
87 nfcv ⊢ Ⅎ _ a y
88 nfv ⊢ Ⅎ a y x = y b
89 nfsbc1v ⊢ Ⅎ a [˙y / a]˙ φ
90 88 89 nfan ⊢ Ⅎ a y x = y b ∧ [˙y / a]˙ φ
91 90 nfex ⊢ Ⅎ a ∃ b y x = y b ∧ [˙y / a]˙ φ
92 opeq1 ⊢ a = y → a b = y b
93 92 eqeq2d ⊢ a = y → y x = a b ↔ y x = y b
94 sbceq1a ⊢ a = y → φ ↔ [˙y / a]˙ φ
95 93 94 anbi12d ⊢ a = y → y x = a b ∧ φ ↔ y x = y b ∧ [˙y / a]˙ φ
96 95 exbidv ⊢ a = y → ∃ b y x = a b ∧ φ ↔ ∃ b y x = y b ∧ [˙y / a]˙ φ
97 87 91 96 spcegf ⊢ y ∈ X → ∃ b y x = y b ∧ [˙y / a]˙ φ → ∃ a ∃ b y x = a b ∧ φ
98 42 86 97 sylc ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → ∃ a ∃ b y x = a b ∧ φ
99 simpl ⊢ y = x ∧ x = a ∧ y = b → y = x
100 simprr ⊢ y = x ∧ x = a ∧ y = b → y = b
101 simpl ⊢ x = a ∧ y = b → x = a
102 101 adantl ⊢ y = x ∧ x = a ∧ y = b → x = a
103 99 100 102 3eqtr3rd ⊢ y = x ∧ x = a ∧ y = b → a = b
104 103 anim1i ⊢ y = x ∧ x = a ∧ y = b ∧ φ → a = b ∧ φ
105 104 exp31 ⊢ y = x → x = a ∧ y = b → φ → a = b ∧ φ
106 49 105 biimtrid ⊢ y = x → x y = a b → φ → a = b ∧ φ
107 106 impd ⊢ y = x → x y = a b ∧ φ → a = b ∧ φ
108 48 47 opth1 ⊢ y x = x y → y = x
109 107 108 syl11 ⊢ x y = a b ∧ φ → y x = x y → a = b ∧ φ
110 109 adantl ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → y x = x y → a = b ∧ φ
111 110 imp ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ ∧ y x = x y → a = b ∧ φ
112 111 19.8ad ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ ∧ y x = x y → ∃ b a = b ∧ φ
113 112 19.8ad ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ ∧ y x = x y → ∃ a ∃ b a = b ∧ φ
114 113 ex ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → y x = x y → ∃ a ∃ b a = b ∧ φ
115 98 114 embantd ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X ∧ x y = a b ∧ φ → ∃ a ∃ b y x = a b ∧ φ → y x = x y → ∃ a ∃ b a = b ∧ φ
116 115 ex ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → x y = a b ∧ φ → ∃ a ∃ b y x = a b ∧ φ → y x = x y → ∃ a ∃ b a = b ∧ φ
117 40 116 syl5d ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → x y = a b ∧ φ → ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b a = b ∧ φ
118 21 31 117 exlimd ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → ∃ b x y = a b ∧ φ → ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b a = b ∧ φ
119 10 18 118 exlimd ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → ∃ a ∃ b x y = a b ∧ φ → ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b a = b ∧ φ
120 119 impd ⊢ a ⇄ b φ ∧ x ∈ X ∧ y ∈ X → ∃ a ∃ b x y = a b ∧ φ ∧ ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b a = b ∧ φ
121 120 rexlimdvva ⊢ a ⇄ b φ → ∃ x ∈ X ∃ y ∈ X ∃ a ∃ b x y = a b ∧ φ ∧ ∀ v ∈ X ∀ w ∈ X ∃ a ∃ b v w = a b ∧ φ → v w = x y → ∃ a ∃ b a = b ∧ φ
122 7 121 biimtrid ⊢ a ⇄ b φ → ∃! p ∈ X × X ∃ a ∃ b p = a b ∧ φ → ∃ a ∃ b a = b ∧ φ