| Step | Hyp | Ref
| Expression |
| 1 | | opex 5469 |
. . . . 5
⊢
〈𝐴, 𝐵〉 ∈ V |
| 2 | | brrestrict.3 |
. . . . 5
⊢ 𝐶 ∈ V |
| 3 | 1, 2 | brco 5881 |
. . . 4
⊢
(〈𝐴, 𝐵〉(Cap ∘
(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘
1st )))))𝐶
↔ ∃𝑥(〈𝐴, 𝐵〉(1st ⊗ (Cart ∘
(2nd ⊗ (Range ∘ 1st ))))𝑥 ∧ 𝑥Cap𝐶)) |
| 4 | 1 | brtxp2 35882 |
. . . . . . 7
⊢
(〈𝐴, 𝐵〉(1st ⊗
(Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥 ↔ ∃𝑎∃𝑏(𝑥 = 〈𝑎, 𝑏〉 ∧ 〈𝐴, 𝐵〉1st 𝑎 ∧ 〈𝐴, 𝐵〉(Cart ∘ (2nd ⊗
(Range ∘ 1st )))𝑏)) |
| 5 | | 3anrot 1100 |
. . . . . . . . 9
⊢ ((𝑥 = 〈𝑎, 𝑏〉 ∧ 〈𝐴, 𝐵〉1st 𝑎 ∧ 〈𝐴, 𝐵〉(Cart ∘ (2nd ⊗
(Range ∘ 1st )))𝑏) ↔ (〈𝐴, 𝐵〉1st 𝑎 ∧ 〈𝐴, 𝐵〉(Cart ∘ (2nd ⊗
(Range ∘ 1st )))𝑏 ∧ 𝑥 = 〈𝑎, 𝑏〉)) |
| 6 | | brrestrict.1 |
. . . . . . . . . . 11
⊢ 𝐴 ∈ V |
| 7 | | brrestrict.2 |
. . . . . . . . . . 11
⊢ 𝐵 ∈ V |
| 8 | 6, 7 | br1steq 35771 |
. . . . . . . . . 10
⊢
(〈𝐴, 𝐵〉1st 𝑎 ↔ 𝑎 = 𝐴) |
| 9 | | vex 3484 |
. . . . . . . . . . . 12
⊢ 𝑏 ∈ V |
| 10 | 1, 9 | brco 5881 |
. . . . . . . . . . 11
⊢
(〈𝐴, 𝐵〉(Cart ∘
(2nd ⊗ (Range ∘ 1st )))𝑏 ↔ ∃𝑥(〈𝐴, 𝐵〉(2nd ⊗ (Range
∘ 1st ))𝑥
∧ 𝑥Cart𝑏)) |
| 11 | 1 | brtxp2 35882 |
. . . . . . . . . . . . . . 15
⊢
(〈𝐴, 𝐵〉(2nd ⊗
(Range ∘ 1st ))𝑥 ↔ ∃𝑎∃𝑏(𝑥 = 〈𝑎, 𝑏〉 ∧ 〈𝐴, 𝐵〉2nd 𝑎 ∧ 〈𝐴, 𝐵〉(Range ∘ 1st )𝑏)) |
| 12 | | 3anrot 1100 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑥 = 〈𝑎, 𝑏〉 ∧ 〈𝐴, 𝐵〉2nd 𝑎 ∧ 〈𝐴, 𝐵〉(Range ∘ 1st )𝑏) ↔ (〈𝐴, 𝐵〉2nd 𝑎 ∧ 〈𝐴, 𝐵〉(Range ∘ 1st )𝑏 ∧ 𝑥 = 〈𝑎, 𝑏〉)) |
| 13 | 6, 7 | br2ndeq 35772 |
. . . . . . . . . . . . . . . . . 18
⊢
(〈𝐴, 𝐵〉2nd 𝑎 ↔ 𝑎 = 𝐵) |
| 14 | 1, 9 | brco 5881 |
. . . . . . . . . . . . . . . . . . 19
⊢
(〈𝐴, 𝐵〉(Range ∘
1st )𝑏 ↔
∃𝑥(〈𝐴, 𝐵〉1st 𝑥 ∧ 𝑥Range𝑏)) |
| 15 | 6, 7 | br1steq 35771 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢
(〈𝐴, 𝐵〉1st 𝑥 ↔ 𝑥 = 𝐴) |
| 16 | 15 | anbi1i 624 |
. . . . . . . . . . . . . . . . . . . . 21
⊢
((〈𝐴, 𝐵〉1st 𝑥 ∧ 𝑥Range𝑏) ↔ (𝑥 = 𝐴 ∧ 𝑥Range𝑏)) |
| 17 | 16 | exbii 1848 |
. . . . . . . . . . . . . . . . . . . 20
⊢
(∃𝑥(〈𝐴, 𝐵〉1st 𝑥 ∧ 𝑥Range𝑏) ↔ ∃𝑥(𝑥 = 𝐴 ∧ 𝑥Range𝑏)) |
| 18 | | breq1 5146 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (𝑥 = 𝐴 → (𝑥Range𝑏 ↔ 𝐴Range𝑏)) |
| 19 | 6, 18 | ceqsexv 3532 |
. . . . . . . . . . . . . . . . . . . 20
⊢
(∃𝑥(𝑥 = 𝐴 ∧ 𝑥Range𝑏) ↔ 𝐴Range𝑏) |
| 20 | 17, 19 | bitri 275 |
. . . . . . . . . . . . . . . . . . 19
⊢
(∃𝑥(〈𝐴, 𝐵〉1st 𝑥 ∧ 𝑥Range𝑏) ↔ 𝐴Range𝑏) |
| 21 | 6, 9 | brrange 35935 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝐴Range𝑏 ↔ 𝑏 = ran 𝐴) |
| 22 | 14, 20, 21 | 3bitri 297 |
. . . . . . . . . . . . . . . . . 18
⊢
(〈𝐴, 𝐵〉(Range ∘
1st )𝑏 ↔
𝑏 = ran 𝐴) |
| 23 | | biid 261 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑥 = 〈𝑎, 𝑏〉 ↔ 𝑥 = 〈𝑎, 𝑏〉) |
| 24 | 13, 22, 23 | 3anbi123i 1156 |
. . . . . . . . . . . . . . . . 17
⊢
((〈𝐴, 𝐵〉2nd 𝑎 ∧ 〈𝐴, 𝐵〉(Range ∘ 1st )𝑏 ∧ 𝑥 = 〈𝑎, 𝑏〉) ↔ (𝑎 = 𝐵 ∧ 𝑏 = ran 𝐴 ∧ 𝑥 = 〈𝑎, 𝑏〉)) |
| 25 | 12, 24 | bitri 275 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑥 = 〈𝑎, 𝑏〉 ∧ 〈𝐴, 𝐵〉2nd 𝑎 ∧ 〈𝐴, 𝐵〉(Range ∘ 1st )𝑏) ↔ (𝑎 = 𝐵 ∧ 𝑏 = ran 𝐴 ∧ 𝑥 = 〈𝑎, 𝑏〉)) |
| 26 | 25 | 2exbii 1849 |
. . . . . . . . . . . . . . 15
⊢
(∃𝑎∃𝑏(𝑥 = 〈𝑎, 𝑏〉 ∧ 〈𝐴, 𝐵〉2nd 𝑎 ∧ 〈𝐴, 𝐵〉(Range ∘ 1st )𝑏) ↔ ∃𝑎∃𝑏(𝑎 = 𝐵 ∧ 𝑏 = ran 𝐴 ∧ 𝑥 = 〈𝑎, 𝑏〉)) |
| 27 | 6 | rnex 7932 |
. . . . . . . . . . . . . . . 16
⊢ ran 𝐴 ∈ V |
| 28 | | opeq1 4873 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑎 = 𝐵 → 〈𝑎, 𝑏〉 = 〈𝐵, 𝑏〉) |
| 29 | 28 | eqeq2d 2748 |
. . . . . . . . . . . . . . . 16
⊢ (𝑎 = 𝐵 → (𝑥 = 〈𝑎, 𝑏〉 ↔ 𝑥 = 〈𝐵, 𝑏〉)) |
| 30 | | opeq2 4874 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑏 = ran 𝐴 → 〈𝐵, 𝑏〉 = 〈𝐵, ran 𝐴〉) |
| 31 | 30 | eqeq2d 2748 |
. . . . . . . . . . . . . . . 16
⊢ (𝑏 = ran 𝐴 → (𝑥 = 〈𝐵, 𝑏〉 ↔ 𝑥 = 〈𝐵, ran 𝐴〉)) |
| 32 | 7, 27, 29, 31 | ceqsex2v 3536 |
. . . . . . . . . . . . . . 15
⊢
(∃𝑎∃𝑏(𝑎 = 𝐵 ∧ 𝑏 = ran 𝐴 ∧ 𝑥 = 〈𝑎, 𝑏〉) ↔ 𝑥 = 〈𝐵, ran 𝐴〉) |
| 33 | 11, 26, 32 | 3bitri 297 |
. . . . . . . . . . . . . 14
⊢
(〈𝐴, 𝐵〉(2nd ⊗
(Range ∘ 1st ))𝑥 ↔ 𝑥 = 〈𝐵, ran 𝐴〉) |
| 34 | 33 | anbi1i 624 |
. . . . . . . . . . . . 13
⊢
((〈𝐴, 𝐵〉(2nd ⊗
(Range ∘ 1st ))𝑥 ∧ 𝑥Cart𝑏) ↔ (𝑥 = 〈𝐵, ran 𝐴〉 ∧ 𝑥Cart𝑏)) |
| 35 | 34 | exbii 1848 |
. . . . . . . . . . . 12
⊢
(∃𝑥(〈𝐴, 𝐵〉(2nd ⊗ (Range
∘ 1st ))𝑥
∧ 𝑥Cart𝑏) ↔ ∃𝑥(𝑥 = 〈𝐵, ran 𝐴〉 ∧ 𝑥Cart𝑏)) |
| 36 | | opex 5469 |
. . . . . . . . . . . . 13
⊢
〈𝐵, ran 𝐴〉 ∈ V |
| 37 | | breq1 5146 |
. . . . . . . . . . . . 13
⊢ (𝑥 = 〈𝐵, ran 𝐴〉 → (𝑥Cart𝑏 ↔ 〈𝐵, ran 𝐴〉Cart𝑏)) |
| 38 | 36, 37 | ceqsexv 3532 |
. . . . . . . . . . . 12
⊢
(∃𝑥(𝑥 = 〈𝐵, ran 𝐴〉 ∧ 𝑥Cart𝑏) ↔ 〈𝐵, ran 𝐴〉Cart𝑏) |
| 39 | 35, 38 | bitri 275 |
. . . . . . . . . . 11
⊢
(∃𝑥(〈𝐴, 𝐵〉(2nd ⊗ (Range
∘ 1st ))𝑥
∧ 𝑥Cart𝑏) ↔ 〈𝐵, ran 𝐴〉Cart𝑏) |
| 40 | 7, 27, 9 | brcart 35933 |
. . . . . . . . . . 11
⊢
(〈𝐵, ran 𝐴〉Cart𝑏 ↔ 𝑏 = (𝐵 × ran 𝐴)) |
| 41 | 10, 39, 40 | 3bitri 297 |
. . . . . . . . . 10
⊢
(〈𝐴, 𝐵〉(Cart ∘
(2nd ⊗ (Range ∘ 1st )))𝑏 ↔ 𝑏 = (𝐵 × ran 𝐴)) |
| 42 | 8, 41, 23 | 3anbi123i 1156 |
. . . . . . . . 9
⊢
((〈𝐴, 𝐵〉1st 𝑎 ∧ 〈𝐴, 𝐵〉(Cart ∘ (2nd ⊗
(Range ∘ 1st )))𝑏 ∧ 𝑥 = 〈𝑎, 𝑏〉) ↔ (𝑎 = 𝐴 ∧ 𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = 〈𝑎, 𝑏〉)) |
| 43 | 5, 42 | bitri 275 |
. . . . . . . 8
⊢ ((𝑥 = 〈𝑎, 𝑏〉 ∧ 〈𝐴, 𝐵〉1st 𝑎 ∧ 〈𝐴, 𝐵〉(Cart ∘ (2nd ⊗
(Range ∘ 1st )))𝑏) ↔ (𝑎 = 𝐴 ∧ 𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = 〈𝑎, 𝑏〉)) |
| 44 | 43 | 2exbii 1849 |
. . . . . . 7
⊢
(∃𝑎∃𝑏(𝑥 = 〈𝑎, 𝑏〉 ∧ 〈𝐴, 𝐵〉1st 𝑎 ∧ 〈𝐴, 𝐵〉(Cart ∘ (2nd ⊗
(Range ∘ 1st )))𝑏) ↔ ∃𝑎∃𝑏(𝑎 = 𝐴 ∧ 𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = 〈𝑎, 𝑏〉)) |
| 45 | 7, 27 | xpex 7773 |
. . . . . . . 8
⊢ (𝐵 × ran 𝐴) ∈ V |
| 46 | | opeq1 4873 |
. . . . . . . . 9
⊢ (𝑎 = 𝐴 → 〈𝑎, 𝑏〉 = 〈𝐴, 𝑏〉) |
| 47 | 46 | eqeq2d 2748 |
. . . . . . . 8
⊢ (𝑎 = 𝐴 → (𝑥 = 〈𝑎, 𝑏〉 ↔ 𝑥 = 〈𝐴, 𝑏〉)) |
| 48 | | opeq2 4874 |
. . . . . . . . 9
⊢ (𝑏 = (𝐵 × ran 𝐴) → 〈𝐴, 𝑏〉 = 〈𝐴, (𝐵 × ran 𝐴)〉) |
| 49 | 48 | eqeq2d 2748 |
. . . . . . . 8
⊢ (𝑏 = (𝐵 × ran 𝐴) → (𝑥 = 〈𝐴, 𝑏〉 ↔ 𝑥 = 〈𝐴, (𝐵 × ran 𝐴)〉)) |
| 50 | 6, 45, 47, 49 | ceqsex2v 3536 |
. . . . . . 7
⊢
(∃𝑎∃𝑏(𝑎 = 𝐴 ∧ 𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = 〈𝑎, 𝑏〉) ↔ 𝑥 = 〈𝐴, (𝐵 × ran 𝐴)〉) |
| 51 | 4, 44, 50 | 3bitri 297 |
. . . . . 6
⊢
(〈𝐴, 𝐵〉(1st ⊗
(Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥 ↔ 𝑥 = 〈𝐴, (𝐵 × ran 𝐴)〉) |
| 52 | 51 | anbi1i 624 |
. . . . 5
⊢
((〈𝐴, 𝐵〉(1st ⊗
(Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥 ∧ 𝑥Cap𝐶) ↔ (𝑥 = 〈𝐴, (𝐵 × ran 𝐴)〉 ∧ 𝑥Cap𝐶)) |
| 53 | 52 | exbii 1848 |
. . . 4
⊢
(∃𝑥(〈𝐴, 𝐵〉(1st ⊗ (Cart ∘
(2nd ⊗ (Range ∘ 1st ))))𝑥 ∧ 𝑥Cap𝐶) ↔ ∃𝑥(𝑥 = 〈𝐴, (𝐵 × ran 𝐴)〉 ∧ 𝑥Cap𝐶)) |
| 54 | 3, 53 | bitri 275 |
. . 3
⊢
(〈𝐴, 𝐵〉(Cap ∘
(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘
1st )))))𝐶
↔ ∃𝑥(𝑥 = 〈𝐴, (𝐵 × ran 𝐴)〉 ∧ 𝑥Cap𝐶)) |
| 55 | | opex 5469 |
. . . 4
⊢
〈𝐴, (𝐵 × ran 𝐴)〉 ∈ V |
| 56 | | breq1 5146 |
. . . 4
⊢ (𝑥 = 〈𝐴, (𝐵 × ran 𝐴)〉 → (𝑥Cap𝐶 ↔ 〈𝐴, (𝐵 × ran 𝐴)〉Cap𝐶)) |
| 57 | 55, 56 | ceqsexv 3532 |
. . 3
⊢
(∃𝑥(𝑥 = 〈𝐴, (𝐵 × ran 𝐴)〉 ∧ 𝑥Cap𝐶) ↔ 〈𝐴, (𝐵 × ran 𝐴)〉Cap𝐶) |
| 58 | 6, 45, 2 | brcap 35941 |
. . 3
⊢
(〈𝐴, (𝐵 × ran 𝐴)〉Cap𝐶 ↔ 𝐶 = (𝐴 ∩ (𝐵 × ran 𝐴))) |
| 59 | 54, 57, 58 | 3bitri 297 |
. 2
⊢
(〈𝐴, 𝐵〉(Cap ∘
(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘
1st )))))𝐶
↔ 𝐶 = (𝐴 ∩ (𝐵 × ran 𝐴))) |
| 60 | | df-restrict 35872 |
. . 3
⊢ Restrict
= (Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗
(Range ∘ 1st ))))) |
| 61 | 60 | breqi 5149 |
. 2
⊢
(〈𝐴, 𝐵〉Restrict𝐶 ↔ 〈𝐴, 𝐵〉(Cap ∘ (1st ⊗
(Cart ∘ (2nd ⊗ (Range ∘ 1st )))))𝐶) |
| 62 | | dfres3 6002 |
. . 3
⊢ (𝐴 ↾ 𝐵) = (𝐴 ∩ (𝐵 × ran 𝐴)) |
| 63 | 62 | eqeq2i 2750 |
. 2
⊢ (𝐶 = (𝐴 ↾ 𝐵) ↔ 𝐶 = (𝐴 ∩ (𝐵 × ran 𝐴))) |
| 64 | 59, 61, 63 | 3bitr4i 303 |
1
⊢
(〈𝐴, 𝐵〉Restrict𝐶 ↔ 𝐶 = (𝐴 ↾ 𝐵)) |