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

Theorem brapply 36079
Description: Binary relation form of the Apply function. (Contributed by Scott Fenton, 12-Apr-2014.) (Revised by Mario Carneiro, 19-Apr-2014.) (Proof shortened by Peter Mazsa, 2-Oct-2022.)
Hypotheses
Ref Expression
brapply.1 𝐴 ∈ V
brapply.2 𝐵 ∈ V
brapply.3 𝐶 ∈ V
Assertion
Ref Expression
brapply (⟨𝐴, 𝐵⟩Apply𝐶𝐶 = (𝐴𝐵))

Proof of Theorem brapply
Dummy variables 𝑎 𝑏 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 snex 5379 . . . 4 {(𝐴 “ {𝐵})} ∈ V
21inex1 5260 . . 3 ({(𝐴 “ {𝐵})} ∩ Singletons ) ∈ V
3 unieq 4872 . . . . 5 (𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) → 𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ))
43unieqd 4874 . . . 4 (𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) → 𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ))
54eqeq2d 2745 . . 3 (𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) → (𝐶 = 𝑥𝐶 = ({(𝐴 “ {𝐵})} ∩ Singletons )))
62, 5ceqsexv 3488 . 2 (∃𝑥(𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) ∧ 𝐶 = 𝑥) ↔ 𝐶 = ({(𝐴 “ {𝐵})} ∩ Singletons ))
7 df-apply 36014 . . . 4 Apply = (( Bigcup Bigcup ) ∘ (((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton))))
87breqi 5102 . . 3 (⟨𝐴, 𝐵⟩Apply𝐶 ↔ ⟨𝐴, 𝐵⟩(( Bigcup Bigcup ) ∘ (((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton))))𝐶)
9 opex 5410 . . . 4 𝐴, 𝐵⟩ ∈ V
10 brapply.3 . . . 4 𝐶 ∈ V
119, 10brco 5817 . . 3 (⟨𝐴, 𝐵⟩(( Bigcup Bigcup ) ∘ (((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton))))𝐶 ↔ ∃𝑥(⟨𝐴, 𝐵⟩(((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton)))𝑥𝑥( Bigcup Bigcup )𝐶))
12 vex 3442 . . . . . . 7 𝑥 ∈ V
139, 12brco 5817 . . . . . 6 (⟨𝐴, 𝐵⟩(((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton)))𝑥 ↔ ∃𝑦(⟨𝐴, 𝐵⟩((Singleton ∘ Img) ∘ pprod( I , Singleton))𝑦𝑦((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V)))𝑥))
14 vex 3442 . . . . . . . . . 10 𝑦 ∈ V
159, 14brco 5817 . . . . . . . . 9 (⟨𝐴, 𝐵⟩((Singleton ∘ Img) ∘ pprod( I , Singleton))𝑦 ↔ ∃𝑧(⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧𝑧(Singleton ∘ Img)𝑦))
16 brapply.1 . . . . . . . . . . . . 13 𝐴 ∈ V
17 brapply.2 . . . . . . . . . . . . 13 𝐵 ∈ V
18 vex 3442 . . . . . . . . . . . . 13 𝑧 ∈ V
1916, 17, 18brpprod3a 36027 . . . . . . . . . . . 12 (⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧 ↔ ∃𝑎𝑏(𝑧 = ⟨𝑎, 𝑏⟩ ∧ 𝐴 I 𝑎𝐵Singleton𝑏))
20 3anrot 1099 . . . . . . . . . . . . . 14 ((𝑧 = ⟨𝑎, 𝑏⟩ ∧ 𝐴 I 𝑎𝐵Singleton𝑏) ↔ (𝐴 I 𝑎𝐵Singleton𝑏𝑧 = ⟨𝑎, 𝑏⟩))
21 vex 3442 . . . . . . . . . . . . . . . . 17 𝑎 ∈ V
2221ideq 5799 . . . . . . . . . . . . . . . 16 (𝐴 I 𝑎𝐴 = 𝑎)
23 eqcom 2741 . . . . . . . . . . . . . . . 16 (𝐴 = 𝑎𝑎 = 𝐴)
2422, 23bitri 275 . . . . . . . . . . . . . . 15 (𝐴 I 𝑎𝑎 = 𝐴)
25 vex 3442 . . . . . . . . . . . . . . . 16 𝑏 ∈ V
2617, 25brsingle 36058 . . . . . . . . . . . . . . 15 (𝐵Singleton𝑏𝑏 = {𝐵})
27 biid 261 . . . . . . . . . . . . . . 15 (𝑧 = ⟨𝑎, 𝑏⟩ ↔ 𝑧 = ⟨𝑎, 𝑏⟩)
2824, 26, 273anbi123i 1155 . . . . . . . . . . . . . 14 ((𝐴 I 𝑎𝐵Singleton𝑏𝑧 = ⟨𝑎, 𝑏⟩) ↔ (𝑎 = 𝐴𝑏 = {𝐵} ∧ 𝑧 = ⟨𝑎, 𝑏⟩))
2920, 28bitri 275 . . . . . . . . . . . . 13 ((𝑧 = ⟨𝑎, 𝑏⟩ ∧ 𝐴 I 𝑎𝐵Singleton𝑏) ↔ (𝑎 = 𝐴𝑏 = {𝐵} ∧ 𝑧 = ⟨𝑎, 𝑏⟩))
30292exbii 1850 . . . . . . . . . . . 12 (∃𝑎𝑏(𝑧 = ⟨𝑎, 𝑏⟩ ∧ 𝐴 I 𝑎𝐵Singleton𝑏) ↔ ∃𝑎𝑏(𝑎 = 𝐴𝑏 = {𝐵} ∧ 𝑧 = ⟨𝑎, 𝑏⟩))
31 snex 5379 . . . . . . . . . . . . 13 {𝐵} ∈ V
32 opeq1 4827 . . . . . . . . . . . . . 14 (𝑎 = 𝐴 → ⟨𝑎, 𝑏⟩ = ⟨𝐴, 𝑏⟩)
3332eqeq2d 2745 . . . . . . . . . . . . 13 (𝑎 = 𝐴 → (𝑧 = ⟨𝑎, 𝑏⟩ ↔ 𝑧 = ⟨𝐴, 𝑏⟩))
34 opeq2 4828 . . . . . . . . . . . . . 14 (𝑏 = {𝐵} → ⟨𝐴, 𝑏⟩ = ⟨𝐴, {𝐵}⟩)
3534eqeq2d 2745 . . . . . . . . . . . . 13 (𝑏 = {𝐵} → (𝑧 = ⟨𝐴, 𝑏⟩ ↔ 𝑧 = ⟨𝐴, {𝐵}⟩))
3616, 31, 33, 35ceqsex2v 3492 . . . . . . . . . . . 12 (∃𝑎𝑏(𝑎 = 𝐴𝑏 = {𝐵} ∧ 𝑧 = ⟨𝑎, 𝑏⟩) ↔ 𝑧 = ⟨𝐴, {𝐵}⟩)
3719, 30, 363bitri 297 . . . . . . . . . . 11 (⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧𝑧 = ⟨𝐴, {𝐵}⟩)
3837anbi1i 624 . . . . . . . . . 10 ((⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧𝑧(Singleton ∘ Img)𝑦) ↔ (𝑧 = ⟨𝐴, {𝐵}⟩ ∧ 𝑧(Singleton ∘ Img)𝑦))
3938exbii 1849 . . . . . . . . 9 (∃𝑧(⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧𝑧(Singleton ∘ Img)𝑦) ↔ ∃𝑧(𝑧 = ⟨𝐴, {𝐵}⟩ ∧ 𝑧(Singleton ∘ Img)𝑦))
40 opex 5410 . . . . . . . . . . 11 𝐴, {𝐵}⟩ ∈ V
41 breq1 5099 . . . . . . . . . . 11 (𝑧 = ⟨𝐴, {𝐵}⟩ → (𝑧(Singleton ∘ Img)𝑦 ↔ ⟨𝐴, {𝐵}⟩(Singleton ∘ Img)𝑦))
4240, 41ceqsexv 3488 . . . . . . . . . 10 (∃𝑧(𝑧 = ⟨𝐴, {𝐵}⟩ ∧ 𝑧(Singleton ∘ Img)𝑦) ↔ ⟨𝐴, {𝐵}⟩(Singleton ∘ Img)𝑦)
4340, 14brco 5817 . . . . . . . . . 10 (⟨𝐴, {𝐵}⟩(Singleton ∘ Img)𝑦 ↔ ∃𝑥(⟨𝐴, {𝐵}⟩Img𝑥𝑥Singleton𝑦))
4416, 31, 12brimg 36078 . . . . . . . . . . . . 13 (⟨𝐴, {𝐵}⟩Img𝑥𝑥 = (𝐴 “ {𝐵}))
4512, 14brsingle 36058 . . . . . . . . . . . . 13 (𝑥Singleton𝑦𝑦 = {𝑥})
4644, 45anbi12i 628 . . . . . . . . . . . 12 ((⟨𝐴, {𝐵}⟩Img𝑥𝑥Singleton𝑦) ↔ (𝑥 = (𝐴 “ {𝐵}) ∧ 𝑦 = {𝑥}))
4746exbii 1849 . . . . . . . . . . 11 (∃𝑥(⟨𝐴, {𝐵}⟩Img𝑥𝑥Singleton𝑦) ↔ ∃𝑥(𝑥 = (𝐴 “ {𝐵}) ∧ 𝑦 = {𝑥}))
4816imaex 7854 . . . . . . . . . . . 12 (𝐴 “ {𝐵}) ∈ V
49 sneq 4588 . . . . . . . . . . . . 13 (𝑥 = (𝐴 “ {𝐵}) → {𝑥} = {(𝐴 “ {𝐵})})
5049eqeq2d 2745 . . . . . . . . . . . 12 (𝑥 = (𝐴 “ {𝐵}) → (𝑦 = {𝑥} ↔ 𝑦 = {(𝐴 “ {𝐵})}))
5148, 50ceqsexv 3488 . . . . . . . . . . 11 (∃𝑥(𝑥 = (𝐴 “ {𝐵}) ∧ 𝑦 = {𝑥}) ↔ 𝑦 = {(𝐴 “ {𝐵})})
5247, 51bitri 275 . . . . . . . . . 10 (∃𝑥(⟨𝐴, {𝐵}⟩Img𝑥𝑥Singleton𝑦) ↔ 𝑦 = {(𝐴 “ {𝐵})})
5342, 43, 523bitri 297 . . . . . . . . 9 (∃𝑧(𝑧 = ⟨𝐴, {𝐵}⟩ ∧ 𝑧(Singleton ∘ Img)𝑦) ↔ 𝑦 = {(𝐴 “ {𝐵})})
5415, 39, 533bitri 297 . . . . . . . 8 (⟨𝐴, 𝐵⟩((Singleton ∘ Img) ∘ pprod( I , Singleton))𝑦𝑦 = {(𝐴 “ {𝐵})})
55 eqid 2734 . . . . . . . . 9 ((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) = ((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V)))
56 brxp 5671 . . . . . . . . . 10 (𝑦(V × V)𝑥 ↔ (𝑦 ∈ V ∧ 𝑥 ∈ V))
5714, 12, 56mpbir2an 711 . . . . . . . . 9 𝑦(V × V)𝑥
58 epel 5525 . . . . . . . . . . 11 (𝑧 E 𝑦𝑧𝑦)
5958anbi1ci 626 . . . . . . . . . 10 ((𝑧 Singletons 𝑧 E 𝑦) ↔ (𝑧𝑦𝑧 Singletons ))
6014brresi 5945 . . . . . . . . . 10 (𝑧( E ↾ Singletons )𝑦 ↔ (𝑧 Singletons 𝑧 E 𝑦))
61 elin 3915 . . . . . . . . . 10 (𝑧 ∈ (𝑦 Singletons ) ↔ (𝑧𝑦𝑧 Singletons ))
6259, 60, 613bitr4ri 304 . . . . . . . . 9 (𝑧 ∈ (𝑦 Singletons ) ↔ 𝑧( E ↾ Singletons )𝑦)
6314, 12, 55, 57, 62brtxpsd3 36037 . . . . . . . 8 (𝑦((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V)))𝑥𝑥 = (𝑦 Singletons ))
6454, 63anbi12i 628 . . . . . . 7 ((⟨𝐴, 𝐵⟩((Singleton ∘ Img) ∘ pprod( I , Singleton))𝑦𝑦((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V)))𝑥) ↔ (𝑦 = {(𝐴 “ {𝐵})} ∧ 𝑥 = (𝑦 Singletons )))
6564exbii 1849 . . . . . 6 (∃𝑦(⟨𝐴, 𝐵⟩((Singleton ∘ Img) ∘ pprod( I , Singleton))𝑦𝑦((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V)))𝑥) ↔ ∃𝑦(𝑦 = {(𝐴 “ {𝐵})} ∧ 𝑥 = (𝑦 Singletons )))
66 ineq1 4163 . . . . . . . 8 (𝑦 = {(𝐴 “ {𝐵})} → (𝑦 Singletons ) = ({(𝐴 “ {𝐵})} ∩ Singletons ))
6766eqeq2d 2745 . . . . . . 7 (𝑦 = {(𝐴 “ {𝐵})} → (𝑥 = (𝑦 Singletons ) ↔ 𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons )))
681, 67ceqsexv 3488 . . . . . 6 (∃𝑦(𝑦 = {(𝐴 “ {𝐵})} ∧ 𝑥 = (𝑦 Singletons )) ↔ 𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ))
6913, 65, 683bitri 297 . . . . 5 (⟨𝐴, 𝐵⟩(((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton)))𝑥𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ))
7012, 10brco 5817 . . . . . 6 (𝑥( Bigcup Bigcup )𝐶 ↔ ∃𝑦(𝑥 Bigcup 𝑦𝑦 Bigcup 𝐶))
7114brbigcup 36039 . . . . . . . . 9 (𝑥 Bigcup 𝑦 𝑥 = 𝑦)
72 eqcom 2741 . . . . . . . . 9 ( 𝑥 = 𝑦𝑦 = 𝑥)
7371, 72bitri 275 . . . . . . . 8 (𝑥 Bigcup 𝑦𝑦 = 𝑥)
7410brbigcup 36039 . . . . . . . . 9 (𝑦 Bigcup 𝐶 𝑦 = 𝐶)
75 eqcom 2741 . . . . . . . . 9 ( 𝑦 = 𝐶𝐶 = 𝑦)
7674, 75bitri 275 . . . . . . . 8 (𝑦 Bigcup 𝐶𝐶 = 𝑦)
7773, 76anbi12i 628 . . . . . . 7 ((𝑥 Bigcup 𝑦𝑦 Bigcup 𝐶) ↔ (𝑦 = 𝑥𝐶 = 𝑦))
7877exbii 1849 . . . . . 6 (∃𝑦(𝑥 Bigcup 𝑦𝑦 Bigcup 𝐶) ↔ ∃𝑦(𝑦 = 𝑥𝐶 = 𝑦))
79 vuniex 7682 . . . . . . 7 𝑥 ∈ V
80 unieq 4872 . . . . . . . 8 (𝑦 = 𝑥 𝑦 = 𝑥)
8180eqeq2d 2745 . . . . . . 7 (𝑦 = 𝑥 → (𝐶 = 𝑦𝐶 = 𝑥))
8279, 81ceqsexv 3488 . . . . . 6 (∃𝑦(𝑦 = 𝑥𝐶 = 𝑦) ↔ 𝐶 = 𝑥)
8370, 78, 823bitri 297 . . . . 5 (𝑥( Bigcup Bigcup )𝐶𝐶 = 𝑥)
8469, 83anbi12i 628 . . . 4 ((⟨𝐴, 𝐵⟩(((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton)))𝑥𝑥( Bigcup Bigcup )𝐶) ↔ (𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) ∧ 𝐶 = 𝑥))
8584exbii 1849 . . 3 (∃𝑥(⟨𝐴, 𝐵⟩(((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton)))𝑥𝑥( Bigcup Bigcup )𝐶) ↔ ∃𝑥(𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) ∧ 𝐶 = 𝑥))
868, 11, 853bitri 297 . 2 (⟨𝐴, 𝐵⟩Apply𝐶 ↔ ∃𝑥(𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) ∧ 𝐶 = 𝑥))
87 dffv5 36065 . . 3 (𝐴𝐵) = ({(𝐴 “ {𝐵})} ∩ Singletons )
8887eqeq2i 2747 . 2 (𝐶 = (𝐴𝐵) ↔ 𝐶 = ({(𝐴 “ {𝐵})} ∩ Singletons ))
896, 86, 883bitr4i 303 1 (⟨𝐴, 𝐵⟩Apply𝐶𝐶 = (𝐴𝐵))
Colors of variables: wff setvar class
Syntax hints:  wb 206  wa 395  w3a 1086   = wceq 1541  wex 1780  wcel 2113  Vcvv 3438  cdif 3896  cin 3898  csymdif 4202  {csn 4578  cop 4584   cuni 4861   class class class wbr 5096   I cid 5516   E cep 5521   × cxp 5620  ran crn 5623  cres 5624  cima 5625  ccom 5626  cfv 6490  ctxp 35971  pprodcpprod 35972   Bigcup cbigcup 35975  Singletoncsingle 35979   Singletons csingles 35980  Imgcimg 35983  Applycapply 35986
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2182  ax-ext 2706  ax-sep 5239  ax-nul 5249  ax-pow 5308  ax-pr 5375  ax-un 7678
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2537  df-eu 2567  df-clab 2713  df-cleq 2726  df-clel 2809  df-nfc 2883  df-ne 2931  df-ral 3050  df-rex 3059  df-rab 3398  df-v 3440  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-symdif 4203  df-nul 4284  df-if 4478  df-pw 4554  df-sn 4579  df-pr 4581  df-op 4585  df-uni 4862  df-br 5097  df-opab 5159  df-mpt 5178  df-id 5517  df-eprel 5522  df-xp 5628  df-rel 5629  df-cnv 5630  df-co 5631  df-dm 5632  df-rn 5633  df-res 5634  df-ima 5635  df-iota 6446  df-fun 6492  df-fn 6493  df-f 6494  df-fo 6496  df-fv 6498  df-1st 7931  df-2nd 7932  df-txp 35995  df-pprod 35996  df-bigcup 35999  df-singleton 36003  df-singles 36004  df-image 36005  df-cart 36006  df-img 36007  df-apply 36014
This theorem is referenced by:  dfrecs2  36093  dfrdg4  36094
  Copyright terms: Public domain W3C validator