Step | Hyp | Ref
| Expression |
1 | | opeq 4620 |
. . . . 5
⊢ y = 〈 Proj1 y, Proj2 y〉 |
2 | 1 | breq1i 4647 |
. . . 4
⊢ (y(1st ∘ 1st ) Proj1
x ↔ 〈 Proj1 y, Proj2 y〉(1st
∘ 1st )
Proj1 x) |
3 | | brco 4884 |
. . . 4
⊢ (〈 Proj1 y, Proj2 y〉(1st
∘ 1st )
Proj1 x ↔ ∃t(〈 Proj1 y, Proj2 y〉1st
t ∧
t1st
Proj1 x)) |
4 | | vex 2863 |
. . . . . . . . . 10
⊢ y ∈
V |
5 | 4 | proj1ex 4594 |
. . . . . . . . 9
⊢ Proj1 y ∈ V |
6 | 4 | proj2ex 4595 |
. . . . . . . . 9
⊢ Proj2 y ∈ V |
7 | 5, 6 | opbr1st 5502 |
. . . . . . . 8
⊢ (〈 Proj1 y, Proj2 y〉1st
t ↔ Proj1
y = t) |
8 | | eqcom 2355 |
. . . . . . . 8
⊢ ( Proj1 y = t ↔ t =
Proj1 y) |
9 | 7, 8 | bitri 240 |
. . . . . . 7
⊢ (〈 Proj1 y, Proj2 y〉1st
t ↔ t = Proj1 y) |
10 | 9 | anbi1i 676 |
. . . . . 6
⊢ ((〈 Proj1 y, Proj2 y〉1st
t ∧
t1st
Proj1 x) ↔ (t = Proj1 y ∧ t1st Proj1
x)) |
11 | 10 | exbii 1582 |
. . . . 5
⊢ (∃t(〈 Proj1 y, Proj2 y〉1st
t ∧
t1st
Proj1 x) ↔ ∃t(t = Proj1 y ∧ t1st Proj1
x)) |
12 | | breq1 4643 |
. . . . . . 7
⊢ (t = Proj1 y → (t1st Proj1
x ↔
Proj1 y1st Proj1 x)) |
13 | | opeq 4620 |
. . . . . . . . 9
⊢ Proj1 y = 〈 Proj1 Proj1 y, Proj2 Proj1 y〉 |
14 | 13 | breq1i 4647 |
. . . . . . . 8
⊢ ( Proj1 y1st Proj1
x ↔ 〈 Proj1 Proj1 y, Proj2 Proj1 y〉1st
Proj1 x) |
15 | 5 | proj1ex 4594 |
. . . . . . . . 9
⊢ Proj1 Proj1 y ∈
V |
16 | 5 | proj2ex 4595 |
. . . . . . . . 9
⊢ Proj2 Proj1 y ∈
V |
17 | 15, 16 | opbr1st 5502 |
. . . . . . . 8
⊢ (〈 Proj1 Proj1 y, Proj2 Proj1 y〉1st
Proj1 x
↔ Proj1 Proj1
y = Proj1
x) |
18 | 14, 17 | bitri 240 |
. . . . . . 7
⊢ ( Proj1 y1st Proj1
x ↔
Proj1 Proj1 y = Proj1 x) |
19 | 12, 18 | syl6bb 252 |
. . . . . 6
⊢ (t = Proj1 y → (t1st Proj1
x ↔
Proj1 Proj1 y = Proj1 x)) |
20 | 5, 19 | ceqsexv 2895 |
. . . . 5
⊢ (∃t(t = Proj1 y ∧ t1st Proj1
x) ↔
Proj1 Proj1 y = Proj1 x) |
21 | 11, 20 | bitri 240 |
. . . 4
⊢ (∃t(〈 Proj1 y, Proj2 y〉1st
t ∧
t1st
Proj1 x) ↔ Proj1 Proj1 y = Proj1 x) |
22 | 2, 3, 21 | 3bitri 262 |
. . 3
⊢ (y(1st ∘ 1st ) Proj1
x ↔
Proj1 Proj1 y = Proj1 x) |
23 | | opeq 4620 |
. . . . 5
⊢ Proj2 x = 〈 Proj1 Proj2 x, Proj2 Proj2 x〉 |
24 | 23 | breq2i 4648 |
. . . 4
⊢ (y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x ↔
y((2nd ∘ 1st ) ⊗ 2nd )〈 Proj1 Proj2 x, Proj2 Proj2 x〉) |
25 | | trtxp 5782 |
. . . 4
⊢ (y((2nd ∘ 1st ) ⊗ 2nd )〈 Proj1 Proj2 x, Proj2 Proj2 x〉 ↔
(y(2nd ∘ 1st ) Proj1
Proj2 x ∧ y2nd Proj2
Proj2 x)) |
26 | 1 | breq1i 4647 |
. . . . . 6
⊢ (y(2nd ∘ 1st ) Proj1
Proj2 x ↔ 〈 Proj1 y, Proj2 y〉(2nd ∘ 1st ) Proj1
Proj2 x) |
27 | | brco 4884 |
. . . . . 6
⊢ (〈 Proj1 y, Proj2 y〉(2nd
∘ 1st )
Proj1 Proj2 x ↔ ∃t(〈 Proj1 y, Proj2 y〉1st
t ∧
t2nd
Proj1 Proj2 x)) |
28 | 9 | anbi1i 676 |
. . . . . . . 8
⊢ ((〈 Proj1 y, Proj2 y〉1st
t ∧
t2nd
Proj1 Proj2 x) ↔ (t =
Proj1 y ∧ t2nd Proj1
Proj2 x)) |
29 | 28 | exbii 1582 |
. . . . . . 7
⊢ (∃t(〈 Proj1 y, Proj2 y〉1st
t ∧
t2nd
Proj1 Proj2 x) ↔ ∃t(t = Proj1 y ∧ t2nd Proj1
Proj2 x)) |
30 | | breq1 4643 |
. . . . . . . . 9
⊢ (t = Proj1 y → (t2nd Proj1
Proj2 x ↔ Proj1
y2nd Proj1 Proj2 x)) |
31 | 13 | breq1i 4647 |
. . . . . . . . . 10
⊢ ( Proj1 y2nd Proj1
Proj2 x ↔ 〈 Proj1 Proj1 y, Proj2 Proj1 y〉2nd Proj1
Proj2 x) |
32 | 15, 16 | opbr2nd 5503 |
. . . . . . . . . 10
⊢ (〈 Proj1 Proj1 y, Proj2 Proj1 y〉2nd
Proj1 Proj2
x ↔
Proj2 Proj1 y = Proj1 Proj2 x) |
33 | 31, 32 | bitri 240 |
. . . . . . . . 9
⊢ ( Proj1 y2nd Proj1
Proj2 x ↔ Proj2 Proj1 y = Proj1 Proj2 x) |
34 | 30, 33 | syl6bb 252 |
. . . . . . . 8
⊢ (t = Proj1 y → (t2nd Proj1
Proj2 x ↔ Proj2 Proj1 y = Proj1 Proj2 x)) |
35 | 5, 34 | ceqsexv 2895 |
. . . . . . 7
⊢ (∃t(t = Proj1 y ∧ t2nd Proj1
Proj2 x) ↔ Proj2 Proj1 y = Proj1 Proj2 x) |
36 | 29, 35 | bitri 240 |
. . . . . 6
⊢ (∃t(〈 Proj1 y, Proj2 y〉1st
t ∧
t2nd
Proj1 Proj2 x) ↔ Proj2 Proj1 y = Proj1 Proj2 x) |
37 | 26, 27, 36 | 3bitri 262 |
. . . . 5
⊢ (y(2nd ∘ 1st ) Proj1
Proj2 x ↔ Proj2 Proj1 y = Proj1 Proj2 x) |
38 | 1 | breq1i 4647 |
. . . . . 6
⊢ (y2nd Proj2
Proj2 x ↔ 〈 Proj1 y, Proj2 y〉2nd Proj2
Proj2 x) |
39 | 5, 6 | opbr2nd 5503 |
. . . . . 6
⊢ (〈 Proj1 y, Proj2 y〉2nd
Proj2 Proj2
x ↔
Proj2 y =
Proj2 Proj2 x) |
40 | 38, 39 | bitri 240 |
. . . . 5
⊢ (y2nd Proj2
Proj2 x ↔ Proj2
y = Proj2
Proj2 x) |
41 | 37, 40 | anbi12i 678 |
. . . 4
⊢ ((y(2nd ∘ 1st ) Proj1
Proj2 x ∧ y2nd Proj2
Proj2 x) ↔ ( Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x)) |
42 | 24, 25, 41 | 3bitri 262 |
. . 3
⊢ (y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x ↔
( Proj2 Proj1
y = Proj1
Proj2 x ∧ Proj2 y = Proj2 Proj2 x)) |
43 | 22, 42 | anbi12i 678 |
. 2
⊢ ((y(1st ∘ 1st ) Proj1
x ∧
y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x) ↔
( Proj1 Proj1
y = Proj1
x ∧
( Proj2 Proj1
y = Proj1
Proj2 x ∧ Proj2 y = Proj2 Proj2 x))) |
44 | | opeq 4620 |
. . . 4
⊢ x = 〈 Proj1 x, Proj2 x〉 |
45 | 44 | breq2i 4648 |
. . 3
⊢ (y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd
))x ↔ y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd ))〈 Proj1 x, Proj2 x〉) |
46 | | trtxp 5782 |
. . 3
⊢ (y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd ))〈 Proj1 x, Proj2 x〉 ↔
(y(1st ∘ 1st ) Proj1
x ∧
y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x)) |
47 | 45, 46 | bitri 240 |
. 2
⊢ (y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd
))x ↔ (y(1st ∘ 1st ) Proj1
x ∧
y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x)) |
48 | | 3anass 938 |
. 2
⊢ (( Proj1 Proj1 y = Proj1 x ∧ Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x) ↔
( Proj1 Proj1
y = Proj1
x ∧
( Proj2 Proj1
y = Proj1
Proj2 x ∧ Proj2 y = Proj2 Proj2 x))) |
49 | 43, 47, 48 | 3bitr4i 268 |
1
⊢ (y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd
))x ↔ ( Proj1
Proj1 y = Proj1 x ∧ Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x)) |