HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem relop 3281
Description: A necessary and sufficient condition for a Kuratowski ordered pair to be a relation.
Hypotheses
Ref Expression
relop.1 |- A e. V
relop.2 |- B e. V
Assertion
Ref Expression
relop |- (Rel <.A, B>. <-> E.xE.y(A = {x} /\ B = {x, y}))
Distinct variable groups:   x,y,A   x,B,y

Proof of Theorem relop
StepHypRef Expression
1 df-rel 3191 . 2 |- (Rel <.A, B>. <-> <.A, B>. (_ (V X. V))
2 dfss2 2061 . . . . 5 |- (<.A, B>. (_ (V X. V) <-> A.z(z e. <.A, B>. -> z e. (V X. V)))
3 visset 1816 . . . . . . . . 9 |- z e. V
43elop 2789 . . . . . . . 8 |- (z e. <.A, B>. <-> (z = {A} \/ z = {A, B}))
5 elvv 3234 . . . . . . . 8 |- (z e. (V X. V) <-> E.xE.y z = <.x, y>.)
64, 5imbi12i 188 . . . . . . 7 |- ((z e. <.A, B>. -> z e. (V X. V)) <-> ((z = {A} \/ z = {A, B}) -> E.xE.y z = <.x, y>.))
7 jaob 424 . . . . . . 7 |- (((z = {A} \/ z = {A, B}) -> E.xE.y z = <.x, y>.) <-> ((z = {A} -> E.xE.y z = <.x, y>.) /\ (z = {A, B} -> E.xE.y z = <.x, y>.)))
86, 7bitr 173 . . . . . 6 |- ((z e. <.A, B>. -> z e. (V X. V)) <-> ((z = {A} -> E.xE.y z = <.x, y>.) /\ (z = {A, B} -> E.xE.y z = <.x, y>.)))
98albii 1001 . . . . 5 |- (A.z(z e. <.A, B>. -> z e. (V X. V)) <-> A.z((z = {A} -> E.xE.y z = <.x, y>.) /\ (z = {A, B} -> E.xE.y z = <.x, y>.)))
10 19.26 1069 . . . . 5 |- (A.z((z = {A} -> E.xE.y z = <.x, y>.) /\ (z = {A, B} -> E.xE.y z = <.x, y>.)) <-> (A.z(z = {A} -> E.xE.y z = <.x, y>.) /\ A.z(z = {A, B} -> E.xE.y z = <.x, y>.)))
112, 9, 103bitr 177 . . . 4 |- (<.A, B>. (_ (V X. V) <-> (A.z(z = {A} -> E.xE.y z = <.x, y>.) /\ A.z(z = {A, B} -> E.xE.y z = <.x, y>.)))
12 idd 61 . . . . . . . . . 10 |- (A = {w} -> ((A = {x} /\ B = {x, y}) -> (A = {x} /\ B = {x, y})))
13 eqtr2t 1496 . . . . . . . . . . . . . 14 |- ((A = {x, y} /\ A = {w}) -> {x, y} = {w})
14 visset 1816 . . . . . . . . . . . . . . . 16 |- x e. V
15 visset 1816 . . . . . . . . . . . . . . . 16 |- y e. V
16 visset 1816 . . . . . . . . . . . . . . . 16 |- w e. V
1714, 15, 16preqsn 2490 . . . . . . . . . . . . . . 15 |- ({x, y} = {w} <-> (x = y /\ y = w))
1817pm3.26bi 322 . . . . . . . . . . . . . 14 |- ({x, y} = {w} -> x = y)
1913, 18syl 10 . . . . . . . . . . . . 13 |- ((A = {x, y} /\ A = {w}) -> x = y)
20 preq2 2453 . . . . . . . . . . . . . . . . . . . 20 |- (x = y -> {x, x} = {x, y})
21 dfsn2 2424 . . . . . . . . . . . . . . . . . . . 20 |- {x} = {x, x}
2220, 21syl5req 1523 . . . . . . . . . . . . . . . . . . 19 |- (x = y -> {x, y} = {x})
2322eqeq2d 1489 . . . . . . . . . . . . . . . . . 18 |- (x = y -> (A = {x, y} <-> A = {x}))
2420, 21syl5eq 1522 . . . . . . . . . . . . . . . . . . 19 |- (x = y -> {x} = {x, y})
2524eqeq2d 1489 . . . . . . . . . . . . . . . . . 18 |- (x = y -> (B = {x} <-> B = {x, y}))
2623, 25anbi12d 630 . . . . . . . . . . . . . . . . 17 |- (x = y -> ((A = {x, y} /\ B = {x}) <-> (A = {x} /\ B = {x, y})))
2726biimpd 153 . . . . . . . . . . . . . . . 16 |- (x = y -> ((A = {x, y} /\ B = {x}) -> (A = {x} /\ B = {x, y})))
2827exp3a 376 . . . . . . . . . . . . . . 15 |- (x = y -> (A = {x, y} -> (B = {x} -> (A = {x} /\ B = {x, y}))))
2928com12 11 . . . . . . . . . . . . . 14 |- (A = {x, y} -> (x = y -> (B = {x} -> (A = {x} /\ B = {x, y}))))
3029adantr 391 . . . . . . . . . . . . 13 |- ((A = {x, y} /\ A = {w}) -> (x = y -> (B = {x} -> (A = {x} /\ B = {x, y}))))
3119, 30mpd 26 . . . . . . . . . . . 12 |- ((A = {x, y} /\ A = {w}) -> (B = {x} -> (A = {x} /\ B = {x, y})))
3231expcom 374 . . . . . . . . . . 11 |- (A = {w} -> (A = {x, y} -> (B = {x} -> (A = {x} /\ B = {x, y}))))
3332imp3a 361 . . . . . . . . . 10 |- (A = {w} -> ((A = {x, y} /\ B = {x}) -> (A = {x} /\ B = {x, y})))
3412, 33jaod 426 . . . . . . . . 9 |- (A = {w} -> (((A = {x} /\ B = {x, y}) \/ (A = {x, y} /\ B = {x})) -> (A = {x} /\ B = {x, y})))
35 eqcom 1480 . . . . . . . . . 10 |- ({A, B} = <.x, y>. <-> <.x, y>. = {A, B})
36 relop.1 . . . . . . . . . . 11 |- A e. V
37 relop.2 . . . . . . . . . . 11 |- B e. V
3836, 37opeqpr 2809 . . . . . . . . . 10 |- (<.x, y>. = {A, B} <-> ((A = {x} /\ B = {x, y}) \/ (A = {x, y} /\ B = {x})))
3935, 38bitr 173 . . . . . . . . 9 |- ({A, B} = <.x, y>. <-> ((A = {x} /\ B = {x, y}) \/ (A = {x, y} /\ B = {x})))
4034, 39syl5ib 206 . . . . . . . 8 |- (A = {w} -> ({A, B} = <.x, y>. -> (A = {x} /\ B = {x, y})))
414019.22dvv 1294 . . . . . . 7 |- (A = {w} -> (E.xE.y{A, B} = <.x, y>. -> E.xE.y(A = {x} /\ B = {x, y})))
424119.23aiv 1297 . . . . . 6 |- (E.w A = {w} -> (E.xE.y{A, B} = <.x, y>. -> E.xE.y(A = {x} /\ B = {x, y})))
4342imp 350 . . . . 5 |- ((E.w A = {w} /\ E.xE.y{A, B} = <.x, y>.) -> E.xE.y(A = {x} /\ B = {x, y}))
44 snex 2756 . . . . . . 7 |- {A} e. V
45 eqeq1 1484 . . . . . . . 8 |- (z = {A} -> (z = {A} <-> {A} = {A}))
46 eqeq1 1484 . . . . . . . . . 10 |- (z = {A} -> (z = <.x, y>. <-> {A} = <.x, y>.))
47 eqcom 1480 . . . . . . . . . . 11 |- ({A} = <.x, y>. <-> <.x, y>. = {A})
4814, 15, 36opeqsn 2808 . . . . . . . . . . 11 |- (<.x, y>. = {A} <-> (x = y /\ A = {x}))
4947, 48bitr 173 . . . . . . . . . 10 |- ({A} = <.x, y>. <-> (x = y /\ A = {x}))
5046, 49syl6bb 538 . . . . . . . . 9 |- (z = {A} -> (z = <.x, y>. <-> (x = y /\ A = {x})))
51502exbidv 1283 . . . . . . . 8 |- (z = {A} -> (E.xE.y z = <.x, y>. <-> E.xE.y(x = y /\ A = {x})))
5245, 51imbi12d 628 . . . . . . 7 |- (z = {A} -> ((z = {A} -> E.xE.y z = <.x, y>.) <-> ({A} = {A} -> E.xE.y(x = y /\ A = {x}))))
5344, 52cla4v 1871 . . . . . 6 |- (A.z(z = {A} -> E.xE.y z = <.x, y>.) -> ({A} = {A} -> E.xE.y(x = y /\ A = {x})))
54 sneq 2421 . . . . . . . . 9 |- (w = x -> {w} = {x})
5554eqeq2d 1489 . . . . . . . 8 |- (w = x -> (A = {w} <-> A = {x}))
5655cbvexv 1317 . . . . . . 7 |- (E.w A = {w} <-> E.x A = {x})
57 19.41v 1307 . . . . . . . . 9 |- (E.y(x = y /\ A = {x}) <-> (E.y x = y /\ A = {x}))
58 a9e 1127 . . . . . . . . . 10 |- E.y y = x
59 equcom 1131 . . . . . . . . . . 11 |- (y = x <-> x = y)
6059exbii 1053 . . . . . . . . . 10 |- (E.y y = x <-> E.y x = y)
6158, 60mpbi 189 . . . . . . . . 9 |- E.y x = y
6257, 61mpbiran 730 . . . . . . . 8 |- (E.y(x = y /\ A = {x}) <-> A = {x})
6362exbii 1053 . . . . . . 7 |- (E.xE.y(x =