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 36184
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 5410 . . . . 5 𝐴, 𝐵⟩ ∈ V
2 brrestrict.3 . . . . 5 𝐶 ∈ V
31, 2brco 5819 . . . 4 (⟨𝐴, 𝐵⟩(Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))𝐶 ↔ ∃𝑥(⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥𝑥Cap𝐶))
41brtxp2 36114 . . . . . . 7 (⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥 ↔ ∃𝑎𝑏(𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏))
5 3anrot 1105 . . . . . . . . 9 ((𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏) ↔ (⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏𝑥 = ⟨𝑎, 𝑏⟩))
6 brrestrict.1 . . . . . . . . . . 11 𝐴 ∈ V
7 brrestrict.2 . . . . . . . . . . 11 𝐵 ∈ V
86, 7br1steq 36006 . . . . . . . . . 10 (⟨𝐴, 𝐵⟩1st 𝑎𝑎 = 𝐴)
9 vex 3436 . . . . . . . . . . . 12 𝑏 ∈ V
101, 9brco 5819 . . . . . . . . . . 11 (⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏 ↔ ∃𝑥(⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥Cart𝑏))
111brtxp2 36114 . . . . . . . . . . . . . . 15 (⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥 ↔ ∃𝑎𝑏(𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏))
12 3anrot 1105 . . . . . . . . . . . . . . . . 17 ((𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏) ↔ (⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏𝑥 = ⟨𝑎, 𝑏⟩))
136, 7br2ndeq 36007 . . . . . . . . . . . . . . . . . 18 (⟨𝐴, 𝐵⟩2nd 𝑎𝑎 = 𝐵)
141, 9brco 5819 . . . . . . . . . . . . . . . . . . 19 (⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏 ↔ ∃𝑥(⟨𝐴, 𝐵⟩1st 𝑥𝑥Range𝑏))
156, 7br1steq 36006 . . . . . . . . . . . . . . . . . . . . . 22 (⟨𝐴, 𝐵⟩1st 𝑥𝑥 = 𝐴)
1615anbi1i 630 . . . . . . . . . . . . . . . . . . . . 21 ((⟨𝐴, 𝐵⟩1st 𝑥𝑥Range𝑏) ↔ (𝑥 = 𝐴𝑥Range𝑏))
1716exbii 1855 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥(⟨𝐴, 𝐵⟩1st 𝑥𝑥Range𝑏) ↔ ∃𝑥(𝑥 = 𝐴𝑥Range𝑏))
18 breq1 5082 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 = 𝐴 → (𝑥Range𝑏𝐴Range𝑏))
196, 18ceqsexv 3481 . . . . . . . . . . . . . . . . . . . 20 (∃𝑥(𝑥 = 𝐴𝑥Range𝑏) ↔ 𝐴Range𝑏)
2017, 19bitri 276 . . . . . . . . . . . . . . . . . . 19 (∃𝑥(⟨𝐴, 𝐵⟩1st 𝑥𝑥Range𝑏) ↔ 𝐴Range𝑏)
216, 9brrange 36167 . . . . . . . . . . . . . . . . . . 19 (𝐴Range𝑏𝑏 = ran 𝐴)
2214, 20, 213bitri 298 . . . . . . . . . . . . . . . . . 18 (⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏𝑏 = ran 𝐴)
23 biid 262 . . . . . . . . . . . . . . . . . 18 (𝑥 = ⟨𝑎, 𝑏⟩ ↔ 𝑥 = ⟨𝑎, 𝑏⟩)
2413, 22, 233anbi123i 1161 . . . . . . . . . . . . . . . . 17 ((⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏𝑥 = ⟨𝑎, 𝑏⟩) ↔ (𝑎 = 𝐵𝑏 = ran 𝐴𝑥 = ⟨𝑎, 𝑏⟩))
2512, 24bitri 276 . . . . . . . . . . . . . . . 16 ((𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏) ↔ (𝑎 = 𝐵𝑏 = ran 𝐴𝑥 = ⟨𝑎, 𝑏⟩))
26252exbii 1856 . . . . . . . . . . . . . . 15 (∃𝑎𝑏(𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩2nd 𝑎 ∧ ⟨𝐴, 𝐵⟩(Range ∘ 1st )𝑏) ↔ ∃𝑎𝑏(𝑎 = 𝐵𝑏 = ran 𝐴𝑥 = ⟨𝑎, 𝑏⟩))
276rnex 7857 . . . . . . . . . . . . . . . 16 ran 𝐴 ∈ V
28 opeq1 4811 . . . . . . . . . . . . . . . . 17 (𝑎 = 𝐵 → ⟨𝑎, 𝑏⟩ = ⟨𝐵, 𝑏⟩)
2928eqeq2d 2751 . . . . . . . . . . . . . . . 16 (𝑎 = 𝐵 → (𝑥 = ⟨𝑎, 𝑏⟩ ↔ 𝑥 = ⟨𝐵, 𝑏⟩))
30 opeq2 4812 . . . . . . . . . . . . . . . . 17 (𝑏 = ran 𝐴 → ⟨𝐵, 𝑏⟩ = ⟨𝐵, ran 𝐴⟩)
3130eqeq2d 2751 . . . . . . . . . . . . . . . 16 (𝑏 = ran 𝐴 → (𝑥 = ⟨𝐵, 𝑏⟩ ↔ 𝑥 = ⟨𝐵, ran 𝐴⟩))
327, 27, 29, 31ceqsex2v 3485 . . . . . . . . . . . . . . 15 (∃𝑎𝑏(𝑎 = 𝐵𝑏 = ran 𝐴𝑥 = ⟨𝑎, 𝑏⟩) ↔ 𝑥 = ⟨𝐵, ran 𝐴⟩)
3311, 26, 323bitri 298 . . . . . . . . . . . . . 14 (⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥 = ⟨𝐵, ran 𝐴⟩)
3433anbi1i 630 . . . . . . . . . . . . 13 ((⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥Cart𝑏) ↔ (𝑥 = ⟨𝐵, ran 𝐴⟩ ∧ 𝑥Cart𝑏))
3534exbii 1855 . . . . . . . . . . . 12 (∃𝑥(⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥Cart𝑏) ↔ ∃𝑥(𝑥 = ⟨𝐵, ran 𝐴⟩ ∧ 𝑥Cart𝑏))
36 opex 5410 . . . . . . . . . . . . 13 𝐵, ran 𝐴⟩ ∈ V
37 breq1 5082 . . . . . . . . . . . . 13 (𝑥 = ⟨𝐵, ran 𝐴⟩ → (𝑥Cart𝑏 ↔ ⟨𝐵, ran 𝐴⟩Cart𝑏))
3836, 37ceqsexv 3481 . . . . . . . . . . . 12 (∃𝑥(𝑥 = ⟨𝐵, ran 𝐴⟩ ∧ 𝑥Cart𝑏) ↔ ⟨𝐵, ran 𝐴⟩Cart𝑏)
3935, 38bitri 276 . . . . . . . . . . 11 (∃𝑥(⟨𝐴, 𝐵⟩(2nd ⊗ (Range ∘ 1st ))𝑥𝑥Cart𝑏) ↔ ⟨𝐵, ran 𝐴⟩Cart𝑏)
407, 27, 9brcart 36165 . . . . . . . . . . 11 (⟨𝐵, ran 𝐴⟩Cart𝑏𝑏 = (𝐵 × ran 𝐴))
4110, 39, 403bitri 298 . . . . . . . . . 10 (⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏𝑏 = (𝐵 × ran 𝐴))
428, 41, 233anbi123i 1161 . . . . . . . . 9 ((⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏𝑥 = ⟨𝑎, 𝑏⟩) ↔ (𝑎 = 𝐴𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = ⟨𝑎, 𝑏⟩))
435, 42bitri 276 . . . . . . . 8 ((𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏) ↔ (𝑎 = 𝐴𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = ⟨𝑎, 𝑏⟩))
44432exbii 1856 . . . . . . 7 (∃𝑎𝑏(𝑥 = ⟨𝑎, 𝑏⟩ ∧ ⟨𝐴, 𝐵⟩1st 𝑎 ∧ ⟨𝐴, 𝐵⟩(Cart ∘ (2nd ⊗ (Range ∘ 1st )))𝑏) ↔ ∃𝑎𝑏(𝑎 = 𝐴𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = ⟨𝑎, 𝑏⟩))
457, 27xpex 7703 . . . . . . . 8 (𝐵 × ran 𝐴) ∈ V
46 opeq1 4811 . . . . . . . . 9 (𝑎 = 𝐴 → ⟨𝑎, 𝑏⟩ = ⟨𝐴, 𝑏⟩)
4746eqeq2d 2751 . . . . . . . 8 (𝑎 = 𝐴 → (𝑥 = ⟨𝑎, 𝑏⟩ ↔ 𝑥 = ⟨𝐴, 𝑏⟩))
48 opeq2 4812 . . . . . . . . 9 (𝑏 = (𝐵 × ran 𝐴) → ⟨𝐴, 𝑏⟩ = ⟨𝐴, (𝐵 × ran 𝐴)⟩)
4948eqeq2d 2751 . . . . . . . 8 (𝑏 = (𝐵 × ran 𝐴) → (𝑥 = ⟨𝐴, 𝑏⟩ ↔ 𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩))
506, 45, 47, 49ceqsex2v 3485 . . . . . . 7 (∃𝑎𝑏(𝑎 = 𝐴𝑏 = (𝐵 × ran 𝐴) ∧ 𝑥 = ⟨𝑎, 𝑏⟩) ↔ 𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩)
514, 44, 503bitri 298 . . . . . 6 (⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩)
5251anbi1i 630 . . . . 5 ((⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥𝑥Cap𝐶) ↔ (𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ ∧ 𝑥Cap𝐶))
5352exbii 1855 . . . 4 (∃𝑥(⟨𝐴, 𝐵⟩(1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st ))))𝑥𝑥Cap𝐶) ↔ ∃𝑥(𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ ∧ 𝑥Cap𝐶))
543, 53bitri 276 . . 3 (⟨𝐴, 𝐵⟩(Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))𝐶 ↔ ∃𝑥(𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ ∧ 𝑥Cap𝐶))
55 opex 5410 . . . 4 𝐴, (𝐵 × ran 𝐴)⟩ ∈ V
56 breq1 5082 . . . 4 (𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ → (𝑥Cap𝐶 ↔ ⟨𝐴, (𝐵 × ran 𝐴)⟩Cap𝐶))
5755, 56ceqsexv 3481 . . 3 (∃𝑥(𝑥 = ⟨𝐴, (𝐵 × ran 𝐴)⟩ ∧ 𝑥Cap𝐶) ↔ ⟨𝐴, (𝐵 × ran 𝐴)⟩Cap𝐶)
586, 45, 2brcap 36173 . . 3 (⟨𝐴, (𝐵 × ran 𝐴)⟩Cap𝐶𝐶 = (𝐴 ∩ (𝐵 × ran 𝐴)))
5954, 57, 583bitri 298 . 2 (⟨𝐴, 𝐵⟩(Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))𝐶𝐶 = (𝐴 ∩ (𝐵 × ran 𝐴)))
60 df-restrict 36104 . . 3 Restrict = (Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))
6160breqi 5085 . 2 (⟨𝐴, 𝐵⟩Restrict𝐶 ↔ ⟨𝐴, 𝐵⟩(Cap ∘ (1st ⊗ (Cart ∘ (2nd ⊗ (Range ∘ 1st )))))𝐶)
62 dfres3 5943 . . 3 (𝐴𝐵) = (𝐴 ∩ (𝐵 × ran 𝐴))
6362eqeq2i 2753 . 2 (𝐶 = (𝐴𝐵) ↔ 𝐶 = (𝐴 ∩ (𝐵 × ran 𝐴)))
6459, 61, 633bitr4i 304 1 (⟨𝐴, 𝐵⟩Restrict𝐶𝐶 = (𝐴𝐵))
Colors of variables: wff setvar class
Syntax hints:  wb 207  wa 396  w3a 1092   = wceq 1547  wex 1786  wcel 2119  Vcvv 3432  cin 3889  cop 4568   class class class wbr 5079   × cxp 5623  ran crn 5626  cres 5627  ccom 5629  1st c1st 7936  2nd c2nd 7937  ctxp 36063  Cartccart 36074  Rangecrange 36077  Capccap 36080  Restrictcrestrict 36084
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2712  ax-sep 5225  ax-nul 5235  ax-pow 5301  ax-pr 5369  ax-un 7685
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2719  df-cleq 2732  df-clel 2815  df-nfc 2889  df-ne 2936  df-ral 3055  df-rex 3065  df-rab 3393  df-v 3434  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-symdif 4188  df-nul 4269  df-if 4462  df-pw 4538  df-sn 4563  df-pr 4565  df-op 4569  df-uni 4846  df-br 5080  df-opab 5142  df-mpt 5161  df-id 5520  df-eprel 5525  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-fo 6498  df-fv 6500  df-1st 7938  df-2nd 7939  df-txp 36087  df-pprod 36088  df-image 36097  df-cart 36098  df-range 36101  df-cap 36103  df-restrict 36104
This theorem is referenced by:  dfrecs2  36185
  Copyright terms: Public domain W3C validator