Metamath Proof Explorer


Theorem funopg

Description: A Kuratowski ordered pair of sets is a function only if its components are equal. (Contributed by NM, 5-Jun-2008) (Revised by Mario Carneiro, 26-Apr-2015) A function is a class of ordered pairs, so the fact that an ordered pair may sometimes be itself a function is an "accident" depending on the specific encoding of ordered pairs as classes (in set.mm, the Kuratowski encoding). A more meaningful statement is funsng , as relsnopg is to relop . (New usage is discouraged.)

Ref Expression
Assertion funopg ⊢ A ∈ V ∧ B ∈ W ∧ Fun ⁡ A B → A = B

Proof

Step Hyp Ref Expression
1 opeq1 ⊢ u = A → u t = A t
2 1 funeqd ⊢ u = A → Fun ⁡ u t ↔ Fun ⁡ A t
3 eqeq1 ⊢ u = A → u = t ↔ A = t
4 2 3 imbi12d ⊢ u = A → Fun ⁡ u t → u = t ↔ Fun ⁡ A t → A = t
5 opeq2 ⊢ t = B → A t = A B
6 5 funeqd ⊢ t = B → Fun ⁡ A t ↔ Fun ⁡ A B
7 eqeq2 ⊢ t = B → A = t ↔ A = B
8 6 7 imbi12d ⊢ t = B → Fun ⁡ A t → A = t ↔ Fun ⁡ A B → A = B
9 funrel ⊢ Fun ⁡ u t → Rel ⁡ u t
10 vex ⊢ u ∈ V
11 vex ⊢ t ∈ V
12 10 11 relop ⊢ Rel ⁡ u t ↔ ∃ x ∃ y u = x ∧ t = x y
13 9 12 sylib ⊢ Fun ⁡ u t → ∃ x ∃ y u = x ∧ t = x y
14 10 11 opth ⊢ u t = x x y ↔ u = x ∧ t = x y
15 vex ⊢ x ∈ V
16 15 opid ⊢ x x = x
17 16 preq1i ⊢ x x x x y = x x x y
18 vex ⊢ y ∈ V
19 15 18 dfop ⊢ x y = x x y
20 19 preq2i ⊢ x x x y = x x x x y
21 vsnex ⊢ x ∈ V
22 zfpair2 ⊢ x y ∈ V
23 21 22 dfop ⊢ x x y = x x x y
24 17 20 23 3eqtr4ri ⊢ x x y = x x x y
25 24 eqeq2i ⊢ u t = x x y ↔ u t = x x x y
26 14 25 bitr3i ⊢ u = x ∧ t = x y ↔ u t = x x x y
27 dffun4 ⊢ Fun ⁡ u t ↔ Rel ⁡ u t ∧ ∀ z ∀ w ∀ v z w ∈ u t ∧ z v ∈ u t → w = v
28 27 simprbi ⊢ Fun ⁡ u t → ∀ z ∀ w ∀ v z w ∈ u t ∧ z v ∈ u t → w = v
29 opex ⊢ x x ∈ V
30 29 prid1 ⊢ x x ∈ x x x y
31 eleq2 ⊢ u t = x x x y → x x ∈ u t ↔ x x ∈ x x x y
32 30 31 mpbiri ⊢ u t = x x x y → x x ∈ u t
33 opex ⊢ x y ∈ V
34 33 prid2 ⊢ x y ∈ x x x y
35 eleq2 ⊢ u t = x x x y → x y ∈ u t ↔ x y ∈ x x x y
36 34 35 mpbiri ⊢ u t = x x x y → x y ∈ u t
37 32 36 jca ⊢ u t = x x x y → x x ∈ u t ∧ x y ∈ u t
38 opeq12 ⊢ z = x ∧ w = x → z w = x x
39 38 3adant3 ⊢ z = x ∧ w = x ∧ v = y → z w = x x
40 39 eleq1d ⊢ z = x ∧ w = x ∧ v = y → z w ∈ u t ↔ x x ∈ u t
41 opeq12 ⊢ z = x ∧ v = y → z v = x y
42 41 3adant2 ⊢ z = x ∧ w = x ∧ v = y → z v = x y
43 42 eleq1d ⊢ z = x ∧ w = x ∧ v = y → z v ∈ u t ↔ x y ∈ u t
44 40 43 anbi12d ⊢ z = x ∧ w = x ∧ v = y → z w ∈ u t ∧ z v ∈ u t ↔ x x ∈ u t ∧ x y ∈ u t
45 eqeq12 ⊢ w = x ∧ v = y → w = v ↔ x = y
46 45 3adant1 ⊢ z = x ∧ w = x ∧ v = y → w = v ↔ x = y
47 44 46 imbi12d ⊢ z = x ∧ w = x ∧ v = y → z w ∈ u t ∧ z v ∈ u t → w = v ↔ x x ∈ u t ∧ x y ∈ u t → x = y
48 47 spc3gv ⊢ x ∈ V ∧ x ∈ V ∧ y ∈ V → ∀ z ∀ w ∀ v z w ∈ u t ∧ z v ∈ u t → w = v → x x ∈ u t ∧ x y ∈ u t → x = y
49 15 15 18 48 mp3an ⊢ ∀ z ∀ w ∀ v z w ∈ u t ∧ z v ∈ u t → w = v → x x ∈ u t ∧ x y ∈ u t → x = y
50 28 37 49 syl2im ⊢ Fun ⁡ u t → u t = x x x y → x = y
51 26 50 biimtrid ⊢ Fun ⁡ u t → u = x ∧ t = x y → x = y
52 dfsn2 ⊢ x = x x
53 preq2 ⊢ x = y → x x = x y
54 52 53 eqtr2id ⊢ x = y → x y = x
55 54 eqeq2d ⊢ x = y → t = x y ↔ t = x
56 eqtr3 ⊢ u = x ∧ t = x → u = t
57 56 expcom ⊢ t = x → u = x → u = t
58 55 57 biimtrdi ⊢ x = y → t = x y → u = x → u = t
59 58 com13 ⊢ u = x → t = x y → x = y → u = t
60 59 imp ⊢ u = x ∧ t = x y → x = y → u = t
61 51 60 sylcom ⊢ Fun ⁡ u t → u = x ∧ t = x y → u = t
62 61 exlimdvv ⊢ Fun ⁡ u t → ∃ x ∃ y u = x ∧ t = x y → u = t
63 13 62 mpd ⊢ Fun ⁡ u t → u = t
64 4 8 63 vtocl2g ⊢ A ∈ V ∧ B ∈ W → Fun ⁡ A B → A = B
65 64 3impia ⊢ A ∈ V ∧ B ∈ W ∧ Fun ⁡ A B → A = B