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 36824
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 5397 . . . 4 {(𝐴 “ {𝐵})} ∈ V
21inex1 5277 . . 3 ({(𝐴 “ {𝐵})} ∩ Singletons ) ∈ V
3 unieq 4877 . . . . 5 (𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) → ∪ 𝑥 = ∪ ({(𝐴 “ {𝐵})} ∩ Singletons ))
43unieqd 4879 . . . 4 (𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) → ∪ ∪ 𝑥 = ∪ ∪ ({(𝐴 “ {𝐵})} ∩ Singletons ))
54eqeq2d 2771 . . 3 (𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) → (𝐶 = ∪ ∪ 𝑥 ↔ 𝐶 = ∪ ∪ ({(𝐴 “ {𝐵})} ∩ Singletons )))
62, 5ceqsexv 3498 . 2 (∃𝑥(𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) ∧ 𝐶 = ∪ ∪ 𝑥) ↔ 𝐶 = ∪ ∪ ({(𝐴 “ {𝐵})} ∩ Singletons ))
7 df-apply 36759 . . . 4 Apply = (( Bigcup ∘ Bigcup ) ∘ (((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton))))
87breqi 5108 . . 3 (⟨𝐴, 𝐵⟩Apply𝐶 ↔ ⟨𝐴, 𝐵⟩(( Bigcup ∘ Bigcup ) ∘ (((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton))))𝐶)
9 opex 5432 . . . 4 ⟨𝐴, 𝐵⟩ ∈ V
10 brapply.3 . . . 4 𝐶 ∈ V
119, 10brco 5849 . . 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 3454 . . . . . . 7 𝑥 ∈ V
139, 12brco 5849 . . . . . 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 3454 . . . . . . . . . 10 𝑦 ∈ V
159, 14brco 5849 . . . . . . . . 9 (⟨𝐴, 𝐵⟩((Singleton ∘ Img) ∘ pprod( I , Singleton))𝑦 ↔ ∃𝑧(⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧 ∧ 𝑧(Singleton ∘ Img)𝑦))
16 brapply.1 . . . . . . . . . . . . 13 𝐴 ∈ V
17 brapply.2 . . . . . . . . . . . . 13 𝐵 ∈ V
18 vex 3454 . . . . . . . . . . . . 13 𝑧 ∈ V
1916, 17, 18brpprod3a 36772 . . . . . . . . . . . 12 (⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧 ↔ ∃𝑎∃𝑏(𝑧 = ⟨𝑎, 𝑏⟩ ∧ 𝐴 I 𝑎 ∧ 𝐵Singleton𝑏))
20 3anrot 1117 . . . . . . . . . . . . . 14 ((𝑧 = ⟨𝑎, 𝑏⟩ ∧ 𝐴 I 𝑎 ∧ 𝐵Singleton𝑏) ↔ (𝐴 I 𝑎 ∧ 𝐵Singleton𝑏 ∧ 𝑧 = ⟨𝑎, 𝑏⟩))
21 vex 3454 . . . . . . . . . . . . . . . . 17 𝑎 ∈ V
2221ideq 5831 . . . . . . . . . . . . . . . 16 (𝐴 I 𝑎 ↔ 𝐴 = 𝑎)
23 eqcom 2767 . . . . . . . . . . . . . . . 16 (𝐴 = 𝑎 ↔ 𝑎 = 𝐴)
2422, 23bitri 278 . . . . . . . . . . . . . . 15 (𝐴 I 𝑎 ↔ 𝑎 = 𝐴)
25 vex 3454 . . . . . . . . . . . . . . . 16 𝑏 ∈ V
2617, 25brsingle 36803 . . . . . . . . . . . . . . 15 (𝐵Singleton𝑏 ↔ 𝑏 = {𝐵})
27 biid 264 . . . . . . . . . . . . . . 15 (𝑧 = ⟨𝑎, 𝑏⟩ ↔ 𝑧 = ⟨𝑎, 𝑏⟩)
2824, 26, 273anbi123i 1173 . . . . . . . . . . . . . 14 ((𝐴 I 𝑎 ∧ 𝐵Singleton𝑏 ∧ 𝑧 = ⟨𝑎, 𝑏⟩) ↔ (𝑎 = 𝐴 ∧ 𝑏 = {𝐵} ∧ 𝑧 = ⟨𝑎, 𝑏⟩))
2920, 28bitri 278 . . . . . . . . . . . . 13 ((𝑧 = ⟨𝑎, 𝑏⟩ ∧ 𝐴 I 𝑎 ∧ 𝐵Singleton𝑏) ↔ (𝑎 = 𝐴 ∧ 𝑏 = {𝐵} ∧ 𝑧 = ⟨𝑎, 𝑏⟩))
30292exbii 1881 . . . . . . . . . . . 12 (∃𝑎∃𝑏(𝑧 = ⟨𝑎, 𝑏⟩ ∧ 𝐴 I 𝑎 ∧ 𝐵Singleton𝑏) ↔ ∃𝑎∃𝑏(𝑎 = 𝐴 ∧ 𝑏 = {𝐵} ∧ 𝑧 = ⟨𝑎, 𝑏⟩))
31 snex 5397 . . . . . . . . . . . . 13 {𝐵} ∈ V
32 opeq1 4839 . . . . . . . . . . . . . 14 (𝑎 = 𝐴 → ⟨𝑎, 𝑏⟩ = ⟨𝐴, 𝑏⟩)
3332eqeq2d 2771 . . . . . . . . . . . . 13 (𝑎 = 𝐴 → (𝑧 = ⟨𝑎, 𝑏⟩ ↔ 𝑧 = ⟨𝐴, 𝑏⟩))
34 opeq2 4840 . . . . . . . . . . . . . 14 (𝑏 = {𝐵} → ⟨𝐴, 𝑏⟩ = ⟨𝐴, {𝐵}⟩)
3534eqeq2d 2771 . . . . . . . . . . . . 13 (𝑏 = {𝐵} → (𝑧 = ⟨𝐴, 𝑏⟩ ↔ 𝑧 = ⟨𝐴, {𝐵}⟩))
3616, 31, 33, 35ceqsex2v 3501 . . . . . . . . . . . 12 (∃𝑎∃𝑏(𝑎 = 𝐴 ∧ 𝑏 = {𝐵} ∧ 𝑧 = ⟨𝑎, 𝑏⟩) ↔ 𝑧 = ⟨𝐴, {𝐵}⟩)
3719, 30, 363bitri 300 . . . . . . . . . . 11 (⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧 ↔ 𝑧 = ⟨𝐴, {𝐵}⟩)
3837anbi1i 636 . . . . . . . . . 10 ((⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧 ∧ 𝑧(Singleton ∘ Img)𝑦) ↔ (𝑧 = ⟨𝐴, {𝐵}⟩ ∧ 𝑧(Singleton ∘ Img)𝑦))
3938exbii 1880 . . . . . . . . 9 (∃𝑧(⟨𝐴, 𝐵⟩pprod( I , Singleton)𝑧 ∧ 𝑧(Singleton ∘ Img)𝑦) ↔ ∃𝑧(𝑧 = ⟨𝐴, {𝐵}⟩ ∧ 𝑧(Singleton ∘ Img)𝑦))
40 opex 5432 . . . . . . . . . . 11 ⟨𝐴, {𝐵}⟩ ∈ V
41 breq1 5105 . . . . . . . . . . 11 (𝑧 = ⟨𝐴, {𝐵}⟩ → (𝑧(Singleton ∘ Img)𝑦 ↔ ⟨𝐴, {𝐵}⟩(Singleton ∘ Img)𝑦))
4240, 41ceqsexv 3498 . . . . . . . . . 10 (∃𝑧(𝑧 = ⟨𝐴, {𝐵}⟩ ∧ 𝑧(Singleton ∘ Img)𝑦) ↔ ⟨𝐴, {𝐵}⟩(Singleton ∘ Img)𝑦)
4340, 14brco 5849 . . . . . . . . . 10 (⟨𝐴, {𝐵}⟩(Singleton ∘ Img)𝑦 ↔ ∃𝑥(⟨𝐴, {𝐵}⟩Img𝑥 ∧ 𝑥Singleton𝑦))
4416, 31, 12brimg 36823 . . . . . . . . . . . . 13 (⟨𝐴, {𝐵}⟩Img𝑥 ↔ 𝑥 = (𝐴 “ {𝐵}))
4512, 14brsingle 36803 . . . . . . . . . . . . 13 (𝑥Singleton𝑦 ↔ 𝑦 = {𝑥})
4644, 45anbi12i 640 . . . . . . . . . . . 12 ((⟨𝐴, {𝐵}⟩Img𝑥 ∧ 𝑥Singleton𝑦) ↔ (𝑥 = (𝐴 “ {𝐵}) ∧ 𝑦 = {𝑥}))
4746exbii 1880 . . . . . . . . . . 11 (∃𝑥(⟨𝐴, {𝐵}⟩Img𝑥 ∧ 𝑥Singleton𝑦) ↔ ∃𝑥(𝑥 = (𝐴 “ {𝐵}) ∧ 𝑦 = {𝑥}))
4816imaex 7930 . . . . . . . . . . . 12 (𝐴 “ {𝐵}) ∈ V
49 sneq 4590 . . . . . . . . . . . . 13 (𝑥 = (𝐴 “ {𝐵}) → {𝑥} = {(𝐴 “ {𝐵})})
5049eqeq2d 2771 . . . . . . . . . . . 12 (𝑥 = (𝐴 “ {𝐵}) → (𝑦 = {𝑥} ↔ 𝑦 = {(𝐴 “ {𝐵})}))
5148, 50ceqsexv 3498 . . . . . . . . . . 11 (∃𝑥(𝑥 = (𝐴 “ {𝐵}) ∧ 𝑦 = {𝑥}) ↔ 𝑦 = {(𝐴 “ {𝐵})})
5247, 51bitri 278 . . . . . . . . . 10 (∃𝑥(⟨𝐴, {𝐵}⟩Img𝑥 ∧ 𝑥Singleton𝑦) ↔ 𝑦 = {(𝐴 “ {𝐵})})
5342, 43, 523bitri 300 . . . . . . . . 9 (∃𝑧(𝑧 = ⟨𝐴, {𝐵}⟩ ∧ 𝑧(Singleton ∘ Img)𝑦) ↔ 𝑦 = {(𝐴 “ {𝐵})})
5415, 39, 533bitri 300 . . . . . . . 8 (⟨𝐴, 𝐵⟩((Singleton ∘ Img) ∘ pprod( I , Singleton))𝑦 ↔ 𝑦 = {(𝐴 “ {𝐵})})
55 eqid 2760 . . . . . . . . 9 ((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) = ((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V)))
56 brxp 5700 . . . . . . . . . 10 (𝑦(V × V)𝑥 ↔ (𝑦 ∈ V ∧ 𝑥 ∈ V))
5714, 12, 56mpbir2an 724 . . . . . . . . 9 𝑦(V × V)𝑥
58 epel 5554 . . . . . . . . . . 11 (𝑧 E 𝑦 ↔ 𝑧 ∈ 𝑦)
5958anbi1ci 638 . . . . . . . . . 10 ((𝑧 ∈ Singletons ∧ 𝑧 E 𝑦) ↔ (𝑧 ∈ 𝑦 ∧ 𝑧 ∈ Singletons ))
6014brresi 5980 . . . . . . . . . 10 (𝑧( E ↾ Singletons )𝑦 ↔ (𝑧 ∈ Singletons ∧ 𝑧 E 𝑦))
61 elin 4092 . . . . . . . . . 10 (𝑧 ∈ (𝑦 ∩ Singletons ) ↔ (𝑧 ∈ 𝑦 ∧ 𝑧 ∈ Singletons ))
6259, 60, 613bitr4ri 307 . . . . . . . . 9 (𝑧 ∈ (𝑦 ∩ Singletons ) ↔ 𝑧( E ↾ Singletons )𝑦)
6314, 12, 55, 57, 62brtxpsd3 36782 . . . . . . . 8 (𝑦((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V)))𝑥 ↔ 𝑥 = (𝑦 ∩ Singletons ))
6454, 63anbi12i 640 . . . . . . 7 ((⟨𝐴, 𝐵⟩((Singleton ∘ Img) ∘ pprod( I , Singleton))𝑦 ∧ 𝑦((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V)))𝑥) ↔ (𝑦 = {(𝐴 “ {𝐵})} ∧ 𝑥 = (𝑦 ∩ Singletons )))
6564exbii 1880 . . . . . 6 (∃𝑦(⟨𝐴, 𝐵⟩((Singleton ∘ Img) ∘ pprod( I , Singleton))𝑦 ∧ 𝑦((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V)))𝑥) ↔ ∃𝑦(𝑦 = {(𝐴 “ {𝐵})} ∧ 𝑥 = (𝑦 ∩ Singletons )))
66 ineq1 4109 . . . . . . . 8 (𝑦 = {(𝐴 “ {𝐵})} → (𝑦 ∩ Singletons ) = ({(𝐴 “ {𝐵})} ∩ Singletons ))
6766eqeq2d 2771 . . . . . . 7 (𝑦 = {(𝐴 “ {𝐵})} → (𝑥 = (𝑦 ∩ Singletons ) ↔ 𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons )))
681, 67ceqsexv 3498 . . . . . 6 (∃𝑦(𝑦 = {(𝐴 “ {𝐵})} ∧ 𝑥 = (𝑦 ∩ Singletons )) ↔ 𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ))
6913, 65, 683bitri 300 . . . . 5 (⟨𝐴, 𝐵⟩(((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton)))𝑥 ↔ 𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ))
7012, 10brco 5849 . . . . . 6 (𝑥( Bigcup ∘ Bigcup )𝐶 ↔ ∃𝑦(𝑥 Bigcup 𝑦 ∧ 𝑦 Bigcup 𝐶))
7114brbigcup 36784 . . . . . . . . 9 (𝑥 Bigcup 𝑦 ↔ ∪ 𝑥 = 𝑦)
72 eqcom 2767 . . . . . . . . 9 (∪ 𝑥 = 𝑦 ↔ 𝑦 = ∪ 𝑥)
7371, 72bitri 278 . . . . . . . 8 (𝑥 Bigcup 𝑦 ↔ 𝑦 = ∪ 𝑥)
7410brbigcup 36784 . . . . . . . . 9 (𝑦 Bigcup 𝐶 ↔ ∪ 𝑦 = 𝐶)
75 eqcom 2767 . . . . . . . . 9 (∪ 𝑦 = 𝐶 ↔ 𝐶 = ∪ 𝑦)
7674, 75bitri 278 . . . . . . . 8 (𝑦 Bigcup 𝐶 ↔ 𝐶 = ∪ 𝑦)
7773, 76anbi12i 640 . . . . . . 7 ((𝑥 Bigcup 𝑦 ∧ 𝑦 Bigcup 𝐶) ↔ (𝑦 = ∪ 𝑥 ∧ 𝐶 = ∪ 𝑦))
7877exbii 1880 . . . . . 6 (∃𝑦(𝑥 Bigcup 𝑦 ∧ 𝑦 Bigcup 𝐶) ↔ ∃𝑦(𝑦 = ∪ 𝑥 ∧ 𝐶 = ∪ 𝑦))
79 vuniex 7760 . . . . . . 7 ∪ 𝑥 ∈ V
80 unieq 4877 . . . . . . . 8 (𝑦 = ∪ 𝑥 → ∪ 𝑦 = ∪ ∪ 𝑥)
8180eqeq2d 2771 . . . . . . 7 (𝑦 = ∪ 𝑥 → (𝐶 = ∪ 𝑦 ↔ 𝐶 = ∪ ∪ 𝑥))
8279, 81ceqsexv 3498 . . . . . 6 (∃𝑦(𝑦 = ∪ 𝑥 ∧ 𝐶 = ∪ 𝑦) ↔ 𝐶 = ∪ ∪ 𝑥)
8370, 78, 823bitri 300 . . . . 5 (𝑥( Bigcup ∘ Bigcup )𝐶 ↔ 𝐶 = ∪ ∪ 𝑥)
8469, 83anbi12i 640 . . . 4 ((⟨𝐴, 𝐵⟩(((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton)))𝑥 ∧ 𝑥( Bigcup ∘ Bigcup )𝐶) ↔ (𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) ∧ 𝐶 = ∪ ∪ 𝑥))
8584exbii 1880 . . 3 (∃𝑥(⟨𝐴, 𝐵⟩(((V × V) ∖ ran ((V ⊗ E ) △ (( E ↾ Singletons ) ⊗ V))) ∘ ((Singleton ∘ Img) ∘ pprod( I , Singleton)))𝑥 ∧ 𝑥( Bigcup ∘ Bigcup )𝐶) ↔ ∃𝑥(𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) ∧ 𝐶 = ∪ ∪ 𝑥))
868, 11, 853bitri 300 . 2 (⟨𝐴, 𝐵⟩Apply𝐶 ↔ ∃𝑥(𝑥 = ({(𝐴 “ {𝐵})} ∩ Singletons ) ∧ 𝐶 = ∪ ∪ 𝑥))
87 dffv5 36810 . . 3 (𝐴‘𝐵) = ∪ ∪ ({(𝐴 “ {𝐵})} ∩ Singletons )
8887eqeq2i 2773 . 2 (𝐶 = (𝐴‘𝐵) ↔ 𝐶 = ∪ ∪ ({(𝐴 “ {𝐵})} ∩ Singletons ))
896, 86, 883bitr4i 306 1 (⟨𝐴, 𝐵⟩Apply𝐶 ↔ 𝐶 = (𝐴‘𝐵))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   ↔ wb 209   ∧ wa 401   ∧ w3a 1103   = wceq 1569  ∃wex 1811   ∈ wcel 2144  Vcvv 3450   ∖ cdif 4044   ∩ cin 4088   △ csymdif 4196  {csn 4584  ⟨cop 4834  ∪ cuni 4866   class class class wbr 5102   I cid 5545   E cep 5550   × cxp 5649  ran crn 5652   ↾ cres 5653   “ cima 5654   ∘ ccom 5655  ‘cfv 6543   ⊗ ctxp 36716  pprodcpprod 36717   Bigcup cbigcup 36720  Singletoncsingle 36724   Singletons csingles 36725  Imgcimg 36728  Applycapply 36731
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pow 5327  ax-pr 5391  ax-un 7755
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rab 3413  df-v 3452  df-ss 3897  df-dif 4046  df-in 4090  df-un 4150  df-symdif 4197  df-nul 4278  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5546  df-eprel 5551  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-iota 6497  df-fun 6545  df-fn 6546  df-f 6547  df-fo 6549  df-fv 6551  df-1st 8005  df-2nd 8006  df-txp 36740  df-pprod 36741  df-bigcup 36744  df-singleton 36748  df-singles 36749  df-image 36750  df-cart 36751  df-img 36752  df-apply 36759
This theorem is used by:  dfrecs2  36838  dfrdg4  36839
  Copyright terms: Public domain W3C validator