This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
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)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | brapply.1 | ⊢ 𝐴 ∈ V | |
| brapply.2 | ⊢ 𝐵 ∈ V | ||
| brapply.3 | ⊢ 𝐶 ∈ V | ||
| Assertion | brapply | ⊢ ( 〈 𝐴 , 𝐵 〉 Apply 𝐶 ↔ 𝐶 = ( 𝐴 ‘ 𝐵 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | brapply.1 | ⊢ 𝐴 ∈ V | |
| 2 | brapply.2 | ⊢ 𝐵 ∈ V | |
| 3 | brapply.3 | ⊢ 𝐶 ∈ V | |
| 4 | snex | ⊢ { ( 𝐴 “ { 𝐵 } ) } ∈ V | |
| 5 | 4 | inex1 | ⊢ ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ∈ V |
| 6 | unieq | ⊢ ( 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) → ∪ 𝑥 = ∪ ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ) | |
| 7 | 6 | unieqd | ⊢ ( 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) → ∪ ∪ 𝑥 = ∪ ∪ ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ) |
| 8 | 7 | eqeq2d | ⊢ ( 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) → ( 𝐶 = ∪ ∪ 𝑥 ↔ 𝐶 = ∪ ∪ ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ) ) |
| 9 | 5 8 | ceqsexv | ⊢ ( ∃ 𝑥 ( 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ∧ 𝐶 = ∪ ∪ 𝑥 ) ↔ 𝐶 = ∪ ∪ ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ) |
| 10 | df-apply | ⊢ Apply = ( ( Bigcup ∘ Bigcup ) ∘ ( ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) ∘ ( ( Singleton ∘ Img ) ∘ pprod ( I , Singleton ) ) ) ) | |
| 11 | 10 | breqi | ⊢ ( 〈 𝐴 , 𝐵 〉 Apply 𝐶 ↔ 〈 𝐴 , 𝐵 〉 ( ( Bigcup ∘ Bigcup ) ∘ ( ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) ∘ ( ( Singleton ∘ Img ) ∘ pprod ( I , Singleton ) ) ) ) 𝐶 ) |
| 12 | opex | ⊢ 〈 𝐴 , 𝐵 〉 ∈ V | |
| 13 | 12 3 | brco | ⊢ ( 〈 𝐴 , 𝐵 〉 ( ( 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 ) 𝐶 ) ) |
| 14 | vex | ⊢ 𝑥 ∈ V | |
| 15 | 12 14 | brco | ⊢ ( 〈 𝐴 , 𝐵 〉 ( ( ( 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 ) ) ) 𝑥 ) ) |
| 16 | vex | ⊢ 𝑦 ∈ V | |
| 17 | 12 16 | brco | ⊢ ( 〈 𝐴 , 𝐵 〉 ( ( Singleton ∘ Img ) ∘ pprod ( I , Singleton ) ) 𝑦 ↔ ∃ 𝑧 ( 〈 𝐴 , 𝐵 〉 pprod ( I , Singleton ) 𝑧 ∧ 𝑧 ( Singleton ∘ Img ) 𝑦 ) ) |
| 18 | vex | ⊢ 𝑧 ∈ V | |
| 19 | 1 2 18 | brpprod3a | ⊢ ( 〈 𝐴 , 𝐵 〉 pprod ( I , Singleton ) 𝑧 ↔ ∃ 𝑎 ∃ 𝑏 ( 𝑧 = 〈 𝑎 , 𝑏 〉 ∧ 𝐴 I 𝑎 ∧ 𝐵 Singleton 𝑏 ) ) |
| 20 | 3anrot | ⊢ ( ( 𝑧 = 〈 𝑎 , 𝑏 〉 ∧ 𝐴 I 𝑎 ∧ 𝐵 Singleton 𝑏 ) ↔ ( 𝐴 I 𝑎 ∧ 𝐵 Singleton 𝑏 ∧ 𝑧 = 〈 𝑎 , 𝑏 〉 ) ) | |
| 21 | vex | ⊢ 𝑎 ∈ V | |
| 22 | 21 | ideq | ⊢ ( 𝐴 I 𝑎 ↔ 𝐴 = 𝑎 ) |
| 23 | eqcom | ⊢ ( 𝐴 = 𝑎 ↔ 𝑎 = 𝐴 ) | |
| 24 | 22 23 | bitri | ⊢ ( 𝐴 I 𝑎 ↔ 𝑎 = 𝐴 ) |
| 25 | vex | ⊢ 𝑏 ∈ V | |
| 26 | 2 25 | brsingle | ⊢ ( 𝐵 Singleton 𝑏 ↔ 𝑏 = { 𝐵 } ) |
| 27 | biid | ⊢ ( 𝑧 = 〈 𝑎 , 𝑏 〉 ↔ 𝑧 = 〈 𝑎 , 𝑏 〉 ) | |
| 28 | 24 26 27 | 3anbi123i | ⊢ ( ( 𝐴 I 𝑎 ∧ 𝐵 Singleton 𝑏 ∧ 𝑧 = 〈 𝑎 , 𝑏 〉 ) ↔ ( 𝑎 = 𝐴 ∧ 𝑏 = { 𝐵 } ∧ 𝑧 = 〈 𝑎 , 𝑏 〉 ) ) |
| 29 | 20 28 | bitri | ⊢ ( ( 𝑧 = 〈 𝑎 , 𝑏 〉 ∧ 𝐴 I 𝑎 ∧ 𝐵 Singleton 𝑏 ) ↔ ( 𝑎 = 𝐴 ∧ 𝑏 = { 𝐵 } ∧ 𝑧 = 〈 𝑎 , 𝑏 〉 ) ) |
| 30 | 29 | 2exbii | ⊢ ( ∃ 𝑎 ∃ 𝑏 ( 𝑧 = 〈 𝑎 , 𝑏 〉 ∧ 𝐴 I 𝑎 ∧ 𝐵 Singleton 𝑏 ) ↔ ∃ 𝑎 ∃ 𝑏 ( 𝑎 = 𝐴 ∧ 𝑏 = { 𝐵 } ∧ 𝑧 = 〈 𝑎 , 𝑏 〉 ) ) |
| 31 | snex | ⊢ { 𝐵 } ∈ V | |
| 32 | opeq1 | ⊢ ( 𝑎 = 𝐴 → 〈 𝑎 , 𝑏 〉 = 〈 𝐴 , 𝑏 〉 ) | |
| 33 | 32 | eqeq2d | ⊢ ( 𝑎 = 𝐴 → ( 𝑧 = 〈 𝑎 , 𝑏 〉 ↔ 𝑧 = 〈 𝐴 , 𝑏 〉 ) ) |
| 34 | opeq2 | ⊢ ( 𝑏 = { 𝐵 } → 〈 𝐴 , 𝑏 〉 = 〈 𝐴 , { 𝐵 } 〉 ) | |
| 35 | 34 | eqeq2d | ⊢ ( 𝑏 = { 𝐵 } → ( 𝑧 = 〈 𝐴 , 𝑏 〉 ↔ 𝑧 = 〈 𝐴 , { 𝐵 } 〉 ) ) |
| 36 | 1 31 33 35 | ceqsex2v | ⊢ ( ∃ 𝑎 ∃ 𝑏 ( 𝑎 = 𝐴 ∧ 𝑏 = { 𝐵 } ∧ 𝑧 = 〈 𝑎 , 𝑏 〉 ) ↔ 𝑧 = 〈 𝐴 , { 𝐵 } 〉 ) |
| 37 | 19 30 36 | 3bitri | ⊢ ( 〈 𝐴 , 𝐵 〉 pprod ( I , Singleton ) 𝑧 ↔ 𝑧 = 〈 𝐴 , { 𝐵 } 〉 ) |
| 38 | 37 | anbi1i | ⊢ ( ( 〈 𝐴 , 𝐵 〉 pprod ( I , Singleton ) 𝑧 ∧ 𝑧 ( Singleton ∘ Img ) 𝑦 ) ↔ ( 𝑧 = 〈 𝐴 , { 𝐵 } 〉 ∧ 𝑧 ( Singleton ∘ Img ) 𝑦 ) ) |
| 39 | 38 | exbii | ⊢ ( ∃ 𝑧 ( 〈 𝐴 , 𝐵 〉 pprod ( I , Singleton ) 𝑧 ∧ 𝑧 ( Singleton ∘ Img ) 𝑦 ) ↔ ∃ 𝑧 ( 𝑧 = 〈 𝐴 , { 𝐵 } 〉 ∧ 𝑧 ( Singleton ∘ Img ) 𝑦 ) ) |
| 40 | opex | ⊢ 〈 𝐴 , { 𝐵 } 〉 ∈ V | |
| 41 | breq1 | ⊢ ( 𝑧 = 〈 𝐴 , { 𝐵 } 〉 → ( 𝑧 ( Singleton ∘ Img ) 𝑦 ↔ 〈 𝐴 , { 𝐵 } 〉 ( Singleton ∘ Img ) 𝑦 ) ) | |
| 42 | 40 41 | ceqsexv | ⊢ ( ∃ 𝑧 ( 𝑧 = 〈 𝐴 , { 𝐵 } 〉 ∧ 𝑧 ( Singleton ∘ Img ) 𝑦 ) ↔ 〈 𝐴 , { 𝐵 } 〉 ( Singleton ∘ Img ) 𝑦 ) |
| 43 | 40 16 | brco | ⊢ ( 〈 𝐴 , { 𝐵 } 〉 ( Singleton ∘ Img ) 𝑦 ↔ ∃ 𝑥 ( 〈 𝐴 , { 𝐵 } 〉 Img 𝑥 ∧ 𝑥 Singleton 𝑦 ) ) |
| 44 | 1 31 14 | brimg | ⊢ ( 〈 𝐴 , { 𝐵 } 〉 Img 𝑥 ↔ 𝑥 = ( 𝐴 “ { 𝐵 } ) ) |
| 45 | 14 16 | brsingle | ⊢ ( 𝑥 Singleton 𝑦 ↔ 𝑦 = { 𝑥 } ) |
| 46 | 44 45 | anbi12i | ⊢ ( ( 〈 𝐴 , { 𝐵 } 〉 Img 𝑥 ∧ 𝑥 Singleton 𝑦 ) ↔ ( 𝑥 = ( 𝐴 “ { 𝐵 } ) ∧ 𝑦 = { 𝑥 } ) ) |
| 47 | 46 | exbii | ⊢ ( ∃ 𝑥 ( 〈 𝐴 , { 𝐵 } 〉 Img 𝑥 ∧ 𝑥 Singleton 𝑦 ) ↔ ∃ 𝑥 ( 𝑥 = ( 𝐴 “ { 𝐵 } ) ∧ 𝑦 = { 𝑥 } ) ) |
| 48 | 1 | imaex | ⊢ ( 𝐴 “ { 𝐵 } ) ∈ V |
| 49 | sneq | ⊢ ( 𝑥 = ( 𝐴 “ { 𝐵 } ) → { 𝑥 } = { ( 𝐴 “ { 𝐵 } ) } ) | |
| 50 | 49 | eqeq2d | ⊢ ( 𝑥 = ( 𝐴 “ { 𝐵 } ) → ( 𝑦 = { 𝑥 } ↔ 𝑦 = { ( 𝐴 “ { 𝐵 } ) } ) ) |
| 51 | 48 50 | ceqsexv | ⊢ ( ∃ 𝑥 ( 𝑥 = ( 𝐴 “ { 𝐵 } ) ∧ 𝑦 = { 𝑥 } ) ↔ 𝑦 = { ( 𝐴 “ { 𝐵 } ) } ) |
| 52 | 47 51 | bitri | ⊢ ( ∃ 𝑥 ( 〈 𝐴 , { 𝐵 } 〉 Img 𝑥 ∧ 𝑥 Singleton 𝑦 ) ↔ 𝑦 = { ( 𝐴 “ { 𝐵 } ) } ) |
| 53 | 42 43 52 | 3bitri | ⊢ ( ∃ 𝑧 ( 𝑧 = 〈 𝐴 , { 𝐵 } 〉 ∧ 𝑧 ( Singleton ∘ Img ) 𝑦 ) ↔ 𝑦 = { ( 𝐴 “ { 𝐵 } ) } ) |
| 54 | 17 39 53 | 3bitri | ⊢ ( 〈 𝐴 , 𝐵 〉 ( ( Singleton ∘ Img ) ∘ pprod ( I , Singleton ) ) 𝑦 ↔ 𝑦 = { ( 𝐴 “ { 𝐵 } ) } ) |
| 55 | eqid | ⊢ ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) = ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) | |
| 56 | brxp | ⊢ ( 𝑦 ( V × V ) 𝑥 ↔ ( 𝑦 ∈ V ∧ 𝑥 ∈ V ) ) | |
| 57 | 16 14 56 | mpbir2an | ⊢ 𝑦 ( V × V ) 𝑥 |
| 58 | epel | ⊢ ( 𝑧 E 𝑦 ↔ 𝑧 ∈ 𝑦 ) | |
| 59 | 58 | anbi1ci | ⊢ ( ( 𝑧 ∈ Singletons ∧ 𝑧 E 𝑦 ) ↔ ( 𝑧 ∈ 𝑦 ∧ 𝑧 ∈ Singletons ) ) |
| 60 | 16 | brresi | ⊢ ( 𝑧 ( E ↾ Singletons ) 𝑦 ↔ ( 𝑧 ∈ Singletons ∧ 𝑧 E 𝑦 ) ) |
| 61 | elin | ⊢ ( 𝑧 ∈ ( 𝑦 ∩ Singletons ) ↔ ( 𝑧 ∈ 𝑦 ∧ 𝑧 ∈ Singletons ) ) | |
| 62 | 59 60 61 | 3bitr4ri | ⊢ ( 𝑧 ∈ ( 𝑦 ∩ Singletons ) ↔ 𝑧 ( E ↾ Singletons ) 𝑦 ) |
| 63 | 16 14 55 57 62 | brtxpsd3 | ⊢ ( 𝑦 ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) 𝑥 ↔ 𝑥 = ( 𝑦 ∩ Singletons ) ) |
| 64 | 54 63 | anbi12i | ⊢ ( ( 〈 𝐴 , 𝐵 〉 ( ( Singleton ∘ Img ) ∘ pprod ( I , Singleton ) ) 𝑦 ∧ 𝑦 ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) 𝑥 ) ↔ ( 𝑦 = { ( 𝐴 “ { 𝐵 } ) } ∧ 𝑥 = ( 𝑦 ∩ Singletons ) ) ) |
| 65 | 64 | exbii | ⊢ ( ∃ 𝑦 ( 〈 𝐴 , 𝐵 〉 ( ( Singleton ∘ Img ) ∘ pprod ( I , Singleton ) ) 𝑦 ∧ 𝑦 ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) 𝑥 ) ↔ ∃ 𝑦 ( 𝑦 = { ( 𝐴 “ { 𝐵 } ) } ∧ 𝑥 = ( 𝑦 ∩ Singletons ) ) ) |
| 66 | ineq1 | ⊢ ( 𝑦 = { ( 𝐴 “ { 𝐵 } ) } → ( 𝑦 ∩ Singletons ) = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ) | |
| 67 | 66 | eqeq2d | ⊢ ( 𝑦 = { ( 𝐴 “ { 𝐵 } ) } → ( 𝑥 = ( 𝑦 ∩ Singletons ) ↔ 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ) ) |
| 68 | 4 67 | ceqsexv | ⊢ ( ∃ 𝑦 ( 𝑦 = { ( 𝐴 “ { 𝐵 } ) } ∧ 𝑥 = ( 𝑦 ∩ Singletons ) ) ↔ 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ) |
| 69 | 15 65 68 | 3bitri | ⊢ ( 〈 𝐴 , 𝐵 〉 ( ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) ∘ ( ( Singleton ∘ Img ) ∘ pprod ( I , Singleton ) ) ) 𝑥 ↔ 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ) |
| 70 | 14 3 | brco | ⊢ ( 𝑥 ( Bigcup ∘ Bigcup ) 𝐶 ↔ ∃ 𝑦 ( 𝑥 Bigcup 𝑦 ∧ 𝑦 Bigcup 𝐶 ) ) |
| 71 | 16 | brbigcup | ⊢ ( 𝑥 Bigcup 𝑦 ↔ ∪ 𝑥 = 𝑦 ) |
| 72 | eqcom | ⊢ ( ∪ 𝑥 = 𝑦 ↔ 𝑦 = ∪ 𝑥 ) | |
| 73 | 71 72 | bitri | ⊢ ( 𝑥 Bigcup 𝑦 ↔ 𝑦 = ∪ 𝑥 ) |
| 74 | 3 | brbigcup | ⊢ ( 𝑦 Bigcup 𝐶 ↔ ∪ 𝑦 = 𝐶 ) |
| 75 | eqcom | ⊢ ( ∪ 𝑦 = 𝐶 ↔ 𝐶 = ∪ 𝑦 ) | |
| 76 | 74 75 | bitri | ⊢ ( 𝑦 Bigcup 𝐶 ↔ 𝐶 = ∪ 𝑦 ) |
| 77 | 73 76 | anbi12i | ⊢ ( ( 𝑥 Bigcup 𝑦 ∧ 𝑦 Bigcup 𝐶 ) ↔ ( 𝑦 = ∪ 𝑥 ∧ 𝐶 = ∪ 𝑦 ) ) |
| 78 | 77 | exbii | ⊢ ( ∃ 𝑦 ( 𝑥 Bigcup 𝑦 ∧ 𝑦 Bigcup 𝐶 ) ↔ ∃ 𝑦 ( 𝑦 = ∪ 𝑥 ∧ 𝐶 = ∪ 𝑦 ) ) |
| 79 | vuniex | ⊢ ∪ 𝑥 ∈ V | |
| 80 | unieq | ⊢ ( 𝑦 = ∪ 𝑥 → ∪ 𝑦 = ∪ ∪ 𝑥 ) | |
| 81 | 80 | eqeq2d | ⊢ ( 𝑦 = ∪ 𝑥 → ( 𝐶 = ∪ 𝑦 ↔ 𝐶 = ∪ ∪ 𝑥 ) ) |
| 82 | 79 81 | ceqsexv | ⊢ ( ∃ 𝑦 ( 𝑦 = ∪ 𝑥 ∧ 𝐶 = ∪ 𝑦 ) ↔ 𝐶 = ∪ ∪ 𝑥 ) |
| 83 | 70 78 82 | 3bitri | ⊢ ( 𝑥 ( Bigcup ∘ Bigcup ) 𝐶 ↔ 𝐶 = ∪ ∪ 𝑥 ) |
| 84 | 69 83 | anbi12i | ⊢ ( ( 〈 𝐴 , 𝐵 〉 ( ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) ∘ ( ( Singleton ∘ Img ) ∘ pprod ( I , Singleton ) ) ) 𝑥 ∧ 𝑥 ( Bigcup ∘ Bigcup ) 𝐶 ) ↔ ( 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ∧ 𝐶 = ∪ ∪ 𝑥 ) ) |
| 85 | 84 | exbii | ⊢ ( ∃ 𝑥 ( 〈 𝐴 , 𝐵 〉 ( ( ( V × V ) ∖ ran ( ( V ⊗ E ) △ ( ( E ↾ Singletons ) ⊗ V ) ) ) ∘ ( ( Singleton ∘ Img ) ∘ pprod ( I , Singleton ) ) ) 𝑥 ∧ 𝑥 ( Bigcup ∘ Bigcup ) 𝐶 ) ↔ ∃ 𝑥 ( 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ∧ 𝐶 = ∪ ∪ 𝑥 ) ) |
| 86 | 11 13 85 | 3bitri | ⊢ ( 〈 𝐴 , 𝐵 〉 Apply 𝐶 ↔ ∃ 𝑥 ( 𝑥 = ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ∧ 𝐶 = ∪ ∪ 𝑥 ) ) |
| 87 | dffv5 | ⊢ ( 𝐴 ‘ 𝐵 ) = ∪ ∪ ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) | |
| 88 | 87 | eqeq2i | ⊢ ( 𝐶 = ( 𝐴 ‘ 𝐵 ) ↔ 𝐶 = ∪ ∪ ( { ( 𝐴 “ { 𝐵 } ) } ∩ Singletons ) ) |
| 89 | 9 86 88 | 3bitr4i | ⊢ ( 〈 𝐴 , 𝐵 〉 Apply 𝐶 ↔ 𝐶 = ( 𝐴 ‘ 𝐵 ) ) |