Users' Mathboxes Mathbox for Scott Fenton < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  brrestrict Structured version   Visualization version   GIF version

Theorem brrestrict 35944
Description: Binary relation form of the Restrict function. (Contributed by Scott Fenton, 17-Apr-2014.) (Revised by Mario Carneiro, 19-Apr-2014.)
Hypotheses
Ref Expression
brrestrict.1 𝐴 ∈ V
brrestrict.2 𝐵 ∈ V
brrestrict.3 𝐶 ∈ V
Assertion
Ref Expression
brrestrict (⟨𝐴, 𝐵⟩Restrict𝐶𝐶 = (𝐴𝐵))

Proof of Theorem brrestrict
Dummy variables 𝑎 𝑏 𝑥 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 opex 5427 . . . . 5 𝐴, 𝐵⟩ ∈ V
2 brrestrict.3 . . . . 5 𝐶 ∈ V
31, 2brco 5837 . . . 4 (⟨𝐴, 𝐵⟩(Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))𝐶 ↔ ∃𝑥(⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥𝑥Cap𝐶))
41brtxp2 35876 . . . . . . 7 (⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥 ↔ ∃𝑎𝑏(𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏))
5 3anrot 1099 . . . . . . . . 9 ((𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏) ↔ (⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏𝑥 = ⟨𝑎, 𝑏⟩))
6 brrestrict.1 . . . . . . . . . . 11 𝐴 ∈ V
7 brrestrict.2 . . . . . . . . . . 11 𝐵 ∈ V
86, 7br1steq 35765 . . . . . . . . . 10 (⟨𝐴, 𝐵⟩1st 𝑎𝑎 = 𝐴)
9 vex 3454 . . . . . . . . . . . 12 𝑏 ∈ V
101, 9brco 5837 . . . . . . . . . . 11 (⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏 ↔ ∃𝑥(⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥Cart𝑏))
111brtxp2 35876 . . . . . . . . . . . . . . 15 (⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥 ↔ ∃𝑎𝑏(𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏))
12 3anrot 1099 . . . . . . . . . . . . . . . . 17 ((𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏) ↔ (⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏𝑥 = ⟨𝑎, 𝑏⟩))
136, 7br2ndeq 35766 . . . . . . . . . . . . . . . . . 18 (⟨𝐴, 𝐵⟩2nd 𝑎𝑎 = 𝐵)
141, 9brco 5837 . . . . . . . . . . . . . . . . . . 19 (⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏 ↔ ∃𝑥(⟨𝐴, 𝐵⟩1st 𝑥𝑥Range𝑏))
156, 7br1steq 35765 . . . . . . . . . . . . . . . . . . . . . 22 (⟨𝐴, 𝐵⟩1st 𝑥𝑥 = 𝐴)
1615anbi1i 624 . . . . . . . . . . . . . . . . . . . . 21 ((⟨𝐴, 𝐵⟩1st 𝑥𝑥Range𝑏) ↔ (𝑥 = 𝐴𝑥Range𝑏))
1716exbii 1848 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥(⟨𝐴, 𝐵⟩1st 𝑥𝑥Range𝑏) ↔ ∃𝑥(𝑥 = 𝐴𝑥Range𝑏))
18 breq1 5113 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 = 𝐴 → (𝑥Range𝑏𝐴Range𝑏))
196, 18ceqsexv 3501 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥(𝑥 = 𝐴𝑥Range𝑏) ↔ 𝐴Range𝑏)
2017, 19bitri 275 . . . . . . . . . . . . . . . . . . 19 (∃𝑥(⟨𝐴, 𝐵⟩1st 𝑥𝑥Range𝑏) ↔ 𝐴Range𝑏)
216, 9brrange 35929 . . . . . . . . . . . . . . . . . . 19 (𝐴Range𝑏𝑏 = ran 𝐴)
2214, 20, 213bitri 297 . . . . . . . . . . . . . . . . . 18 (⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏𝑏 = ran 𝐴)
23 biid 261 . . . . . . . . . . . . . . . . . 18 (𝑥 = ⟨𝑎, 𝑏⟩ ↔ 𝑥 = ⟨𝑎, 𝑏⟩)
2413, 22, 233anbi123i 1155 . . . . . . . . . . . . . . . . 17 ((⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏𝑥 = ⟨𝑎, 𝑏⟩) ↔ (𝑎 = 𝐵𝑏 = ran 𝐴𝑥 = ⟨𝑎, 𝑏⟩))
2512, 24bitri 275 . . . . . . . . . . . . . . . 16 ((𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏) ↔ (𝑎 = 𝐵𝑏 = ran 𝐴𝑥 = ⟨𝑎, 𝑏⟩))
26252exbii 1849 . . . . . . . . . . . . . . 15 (∃𝑎𝑏(𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏) ↔ ∃𝑎𝑏(𝑎 = 𝐵𝑏 = ran 𝐴𝑥 = ⟨𝑎, 𝑏⟩))
276rnex 7889 . . . . . . . . . . . . . . . 16 ran 𝐴 ∈ V
28 opeq1 4840 . . . . . . . . . . . . . . . . 17 (𝑎 = 𝐵 → ⟨𝑎, 𝑏⟩ = ⟨𝐵, 𝑏⟩)
2928eqeq2d 2741 . . . . . . . . . . . . . . . 16 (𝑎 = 𝐵 → (𝑥 = ⟨𝑎, 𝑏⟩ ↔ 𝑥 = ⟨𝐵, 𝑏⟩))
30 opeq2 4841 . . . . . . . . . . . . . . . . 17 (𝑏 = ran 𝐴 → ⟨𝐵, 𝑏⟩ = ⟨𝐵, ran 𝐴⟩)
3130eqeq2d 2741 . . . . . . . . . . . . . . . 16 (𝑏 = ran 𝐴 → (𝑥 = ⟨𝐵, 𝑏⟩ ↔ 𝑥 = ⟨𝐵, ran 𝐴⟩))
327, 27, 29, 31ceqsex2v 3505 . . . . . . . . . . . . . . 15 (∃𝑎𝑏(𝑎 = 𝐵𝑏 = ran 𝐴𝑥 = ⟨𝑎, 𝑏⟩) ↔ 𝑥 = ⟨𝐵, ran 𝐴⟩)
3311, 26, 323bitri 297 . . . . . . . . . . . . . 14 (⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥 = ⟨𝐵, ran 𝐴⟩)
3433anbi1i 624 . . . . . . . . . . . . 13 ((⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥Cart𝑏) ↔ (𝑥 = ⟨𝐵, ran 𝐴⟩ ∧ 𝑥Cart𝑏))
3534exbii 1848 . . . . . . . . . . . 12 (∃𝑥(⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥Cart𝑏) ↔ ∃𝑥(𝑥 = ⟨𝐵, ran 𝐴⟩ ∧ 𝑥Cart𝑏))
36 opex 5427 . . . . . . . . . . . . 13 𝐵, ran 𝐴⟩ ∈ V
37 breq1 5113 . . . . . . . . . . . . 13 (𝑥 = ⟨𝐵, ran 𝐴⟩ → (𝑥Cart𝑏 ↔ ⟨𝐵, ran 𝐴⟩Cart𝑏))
3836, 37ceqsexv 3501 . . . . . . . . . . . 12 (∃𝑥(𝑥 = ⟨𝐵, ran 𝐴⟩ ∧ 𝑥Cart𝑏) ↔ ⟨𝐵, ran 𝐴⟩Cart𝑏)
3935, 38bitri 275 . . . . . . . . . . 11 (∃𝑥(⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥Cart𝑏) ↔ ⟨𝐵, ran 𝐴⟩Cart𝑏)
407, 27, 9brcart 35927 . . . . . . . . . . 11 (⟨𝐵, ran 𝐴⟩Cart𝑏𝑏 = (𝐵 × ran 𝐴))
4110, 39, 403bitri 297 . . . . . . . . . 10 (⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏𝑏 = (𝐵 × ran 𝐴))
428, 41, 233anbi123i 1155 . . . . . . . . 9 ((⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏𝑥 = ⟨𝑎, 𝑏⟩) ↔ (𝑎 = 𝐴𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = ⟨𝑎, 𝑏⟩))
435, 42bitri 275 . . . . . . . 8 ((𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏) ↔ (𝑎 = 𝐴𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = ⟨𝑎, 𝑏⟩))
44432exbii 1849 . . . . . . 7 (∃𝑎𝑏(𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏) ↔ ∃𝑎𝑏(𝑎 = 𝐴𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = ⟨𝑎, 𝑏⟩))
457, 27xpex 7732 . . . . . . . 8 (𝐵 × ran 𝐴) ∈ V
46 opeq1 4840 . . . . . . . . 9 (𝑎 = 𝐴 → ⟨𝑎, 𝑏⟩ = ⟨𝐴, 𝑏⟩)
4746eqeq2d 2741 . . . . . . . 8 (𝑎 = 𝐴 → (𝑥 = ⟨𝑎, 𝑏⟩ ↔ 𝑥 = ⟨𝐴, 𝑏⟩))
48 opeq2 4841 . . . . . . . . 9 (𝑏 = (𝐵 × ran 𝐴) → ⟨𝐴, 𝑏⟩ = ⟨𝐴, (𝐵 × ran 𝐴)⟩)
4948eqeq2d 2741 . . . . . . . 8 (𝑏 = (𝐵 × ran 𝐴) → (𝑥 = ⟨𝐴, 𝑏⟩ ↔ 𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩))
506, 45, 47, 49ceqsex2v 3505 . . . . . . 7 (∃𝑎𝑏(𝑎 = 𝐴𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = ⟨𝑎, 𝑏⟩) ↔ 𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩)
514, 44, 503bitri 297 . . . . . 6 (⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩)
5251anbi1i 624 . . . . 5 ((⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥𝑥Cap𝐶) ↔ (𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ ∧ 𝑥Cap𝐶))
5352exbii 1848 . . . 4 (∃𝑥(⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥𝑥Cap𝐶) ↔ ∃𝑥(𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ ∧ 𝑥Cap𝐶))
543, 53bitri 275 . . 3 (⟨𝐴, 𝐵⟩(Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))𝐶 ↔ ∃𝑥(𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ ∧ 𝑥Cap𝐶))
55 opex 5427 . . . 4 𝐴, (𝐵 × ran 𝐴)⟩ ∈ V
56 breq1 5113 . . . 4 (𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ → (𝑥Cap𝐶 ↔ ⟨𝐴, (𝐵 × ran 𝐴)⟩Cap𝐶))
5755, 56ceqsexv 3501 . . 3 (∃𝑥(𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ ∧ 𝑥Cap𝐶) ↔ ⟨𝐴, (𝐵 × ran 𝐴)⟩Cap𝐶)
586, 45, 2brcap 35935 . . 3 (⟨𝐴, (𝐵 × ran 𝐴)⟩Cap𝐶𝐶 = (𝐴 ∩ (𝐵 × ran 𝐴)))
5954, 57, 583bitri 297 . 2 (⟨𝐴, 𝐵⟩(Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))𝐶𝐶 = (𝐴 ∩ (𝐵 × ran 𝐴)))
60 df-restrict 35866 . . 3 Restrict = (Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))
6160breqi 5116 . 2 (⟨𝐴, 𝐵⟩Restrict𝐶 ↔ ⟨𝐴, 𝐵⟩(Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))𝐶)
62 dfres3 5958 . . 3 (𝐴𝐵) = (𝐴 ∩ (𝐵 × ran 𝐴))
6362eqeq2i 2743 . 2 (𝐶 = (𝐴𝐵) ↔ 𝐶 = (𝐴 ∩ (𝐵 × ran 𝐴)))
6459, 61, 633bitr4i 303 1 (⟨𝐴, 𝐵⟩Restrict𝐶𝐶 = (𝐴𝐵))
Colors of variables: wff setvar class
Syntax hints:  wb 206  wa 395  w3a 1086   = wceq 1540  wex 1779  wcel 2109  Vcvv 3450  cin 3916  cop 4598   class class class wbr 5110   × cxp 5639  ran crn 5642  cres 5643  ccom 5645  1st c1st 7969  2nd c2nd 7970  ctxp 35825  Cartccart 35836  Rangecrange 35839  Capccap 35842  Restrictcrestrict 35846
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2702  ax-sep 5254  ax-nul 5264  ax-pow 5323  ax-pr 5390  ax-un 7714
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-ral 3046  df-rex 3055  df-rab 3409  df-v 3452  df-dif 3920  df-un 3922  df-in 3924  df-ss 3934  df-symdif 4219  df-nul 4300  df-if 4492  df-pw 4568  df-sn 4593  df-pr 4595  df-op 4599  df-uni 4875  df-br 5111  df-opab 5173  df-mpt 5192  df-id 5536  df-eprel 5541  df-xp 5647  df-rel 5648  df-cnv 5649  df-co 5650  df-dm 5651  df-rn 5652  df-res 5653  df-ima 5654  df-iota 6467  df-fun 6516  df-fn 6517  df-f 6518  df-fo 6520  df-fv 6522  df-1st 7971  df-2nd 7972  df-txp 35849  df-pprod 35850  df-image 35859  df-cart 35860  df-range 35863  df-cap 35865  df-restrict 35866
This theorem is referenced by:  dfrecs2  35945
  Copyright terms: Public domain W3C validator