| Step | Hyp | Ref
 | Expression | 
| 1 |   | fucofulem2.b | 
. . . 4
⊢ 𝐵 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)) | 
| 2 |   | eqid 2734 | 
. . . . 5
⊢ ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷)) = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷)) | 
| 3 |   | eqid 2734 | 
. . . . . 6
⊢ (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸) | 
| 4 | 3 | fucbas 17980 | 
. . . . 5
⊢ (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸)) | 
| 5 |   | eqid 2734 | 
. . . . . 6
⊢ (𝐶 FuncCat 𝐷) = (𝐶 FuncCat 𝐷) | 
| 6 | 5 | fucbas 17980 | 
. . . . 5
⊢ (𝐶 Func 𝐷) = (Base‘(𝐶 FuncCat 𝐷)) | 
| 7 | 2, 4, 6 | xpcbas 18194 | 
. . . 4
⊢ ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)) = (Base‘((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))) | 
| 8 | 1, 7 | eqtri 2757 | 
. . 3
⊢ 𝐵 = (Base‘((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))) | 
| 9 | 8 | funcf2lem2 48868 | 
. 2
⊢ (𝐺 ∈ X𝑧 ∈
(𝐵 × 𝐵)(((𝐹‘(1st ‘𝑧))(𝐶 Nat 𝐸)(𝐹‘(2nd ‘𝑧))) ↑m (𝐻‘𝑧)) ↔ (𝐺 Fn (𝐵 × 𝐵) ∧ ∀𝑚 ∈ 𝐵 ∀𝑛 ∈ 𝐵 (𝑚𝐺𝑛):(𝑚𝐻𝑛)⟶((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)))) | 
| 10 |   | fnov 7547 | 
. . 3
⊢ (𝐺 Fn (𝐵 × 𝐵) ↔ 𝐺 = (𝑢 ∈ 𝐵, 𝑣 ∈ 𝐵 ↦ (𝑢𝐺𝑣))) | 
| 11 |   | ffnfv 7120 | 
. . . . . . 7
⊢ ((𝑚𝐺𝑛):(𝑚𝐻𝑛)⟶((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)) ↔ ((𝑚𝐺𝑛) Fn (𝑚𝐻𝑛) ∧ ∀𝑟 ∈ (𝑚𝐻𝑛)((𝑚𝐺𝑛)‘𝑟) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)))) | 
| 12 |   | eqid 2734 | 
. . . . . . . . . . . 12
⊢ (𝐷 Nat 𝐸) = (𝐷 Nat 𝐸) | 
| 13 | 3, 12 | fuchom 17981 | 
. . . . . . . . . . 11
⊢ (𝐷 Nat 𝐸) = (Hom ‘(𝐷 FuncCat 𝐸)) | 
| 14 |   | eqid 2734 | 
. . . . . . . . . . . 12
⊢ (𝐶 Nat 𝐷) = (𝐶 Nat 𝐷) | 
| 15 | 5, 14 | fuchom 17981 | 
. . . . . . . . . . 11
⊢ (𝐶 Nat 𝐷) = (Hom ‘(𝐶 FuncCat 𝐷)) | 
| 16 |   | fucofulem2.h | 
. . . . . . . . . . 11
⊢ 𝐻 = (Hom ‘((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))) | 
| 17 |   | simpl 482 | 
. . . . . . . . . . 11
⊢ ((𝑚 ∈ 𝐵 ∧ 𝑛 ∈ 𝐵) → 𝑚 ∈ 𝐵) | 
| 18 |   | simpr 484 | 
. . . . . . . . . . 11
⊢ ((𝑚 ∈ 𝐵 ∧ 𝑛 ∈ 𝐵) → 𝑛 ∈ 𝐵) | 
| 19 | 2, 8, 13, 15, 16, 17, 18 | xpchom 18196 | 
. . . . . . . . . 10
⊢ ((𝑚 ∈ 𝐵 ∧ 𝑛 ∈ 𝐵) → (𝑚𝐻𝑛) = (((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)) × ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)))) | 
| 20 | 19 | fneq2d 6643 | 
. . . . . . . . 9
⊢ ((𝑚 ∈ 𝐵 ∧ 𝑛 ∈ 𝐵) → ((𝑚𝐺𝑛) Fn (𝑚𝐻𝑛) ↔ (𝑚𝐺𝑛) Fn (((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)) × ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))))) | 
| 21 |   | fnov 7547 | 
. . . . . . . . 9
⊢ ((𝑚𝐺𝑛) Fn (((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)) × ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))) ↔ (𝑚𝐺𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎))) | 
| 22 | 20, 21 | bitrdi 287 | 
. . . . . . . 8
⊢ ((𝑚 ∈ 𝐵 ∧ 𝑛 ∈ 𝐵) → ((𝑚𝐺𝑛) Fn (𝑚𝐻𝑛) ↔ (𝑚𝐺𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎)))) | 
| 23 | 19 | raleqdv 3310 | 
. . . . . . . . 9
⊢ ((𝑚 ∈ 𝐵 ∧ 𝑛 ∈ 𝐵) → (∀𝑟 ∈ (𝑚𝐻𝑛)((𝑚𝐺𝑛)‘𝑟) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)) ↔ ∀𝑟 ∈ (((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)) × ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)))((𝑚𝐺𝑛)‘𝑟) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)))) | 
| 24 |   | fveq2 6887 | 
. . . . . . . . . . . 12
⊢ (𝑟 = 〈𝑝, 𝑞〉 → ((𝑚𝐺𝑛)‘𝑟) = ((𝑚𝐺𝑛)‘〈𝑝, 𝑞〉)) | 
| 25 |   | df-ov 7417 | 
. . . . . . . . . . . 12
⊢ (𝑝(𝑚𝐺𝑛)𝑞) = ((𝑚𝐺𝑛)‘〈𝑝, 𝑞〉) | 
| 26 | 24, 25 | eqtr4di 2787 | 
. . . . . . . . . . 11
⊢ (𝑟 = 〈𝑝, 𝑞〉 → ((𝑚𝐺𝑛)‘𝑟) = (𝑝(𝑚𝐺𝑛)𝑞)) | 
| 27 | 26 | eleq1d 2818 | 
. . . . . . . . . 10
⊢ (𝑟 = 〈𝑝, 𝑞〉 → (((𝑚𝐺𝑛)‘𝑟) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)) ↔ (𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)))) | 
| 28 | 27 | ralxp 5834 | 
. . . . . . . . 9
⊢
(∀𝑟 ∈
(((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)) × ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)))((𝑚𝐺𝑛)‘𝑟) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)) ↔ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛))) | 
| 29 | 23, 28 | bitrdi 287 | 
. . . . . . . 8
⊢ ((𝑚 ∈ 𝐵 ∧ 𝑛 ∈ 𝐵) → (∀𝑟 ∈ (𝑚𝐻𝑛)((𝑚𝐺𝑛)‘𝑟) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)) ↔ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)))) | 
| 30 | 22, 29 | anbi12d 632 | 
. . . . . . 7
⊢ ((𝑚 ∈ 𝐵 ∧ 𝑛 ∈ 𝐵) → (((𝑚𝐺𝑛) Fn (𝑚𝐻𝑛) ∧ ∀𝑟 ∈ (𝑚𝐻𝑛)((𝑚𝐺𝑛)‘𝑟) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛))) ↔ ((𝑚𝐺𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛))))) | 
| 31 | 11, 30 | bitrid 283 | 
. . . . . 6
⊢ ((𝑚 ∈ 𝐵 ∧ 𝑛 ∈ 𝐵) → ((𝑚𝐺𝑛):(𝑚𝐻𝑛)⟶((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)) ↔ ((𝑚𝐺𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛))))) | 
| 32 | 31 | adantl 481 | 
. . . . 5
⊢
((⊤ ∧ (𝑚
∈ 𝐵 ∧ 𝑛 ∈ 𝐵)) → ((𝑚𝐺𝑛):(𝑚𝐻𝑛)⟶((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)) ↔ ((𝑚𝐺𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛))))) | 
| 33 | 32 | 2ralbidva 3206 | 
. . . 4
⊢ (⊤
→ (∀𝑚 ∈
𝐵 ∀𝑛 ∈ 𝐵 (𝑚𝐺𝑛):(𝑚𝐻𝑛)⟶((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)) ↔ ∀𝑚 ∈ 𝐵 ∀𝑛 ∈ 𝐵 ((𝑚𝐺𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛))))) | 
| 34 | 33 | mptru 1546 | 
. . 3
⊢
(∀𝑚 ∈
𝐵 ∀𝑛 ∈ 𝐵 (𝑚𝐺𝑛):(𝑚𝐻𝑛)⟶((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)) ↔ ∀𝑚 ∈ 𝐵 ∀𝑛 ∈ 𝐵 ((𝑚𝐺𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛)))) | 
| 35 | 10, 34 | anbi12i 628 | 
. 2
⊢ ((𝐺 Fn (𝐵 × 𝐵) ∧ ∀𝑚 ∈ 𝐵 ∀𝑛 ∈ 𝐵 (𝑚𝐺𝑛):(𝑚𝐻𝑛)⟶((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛))) ↔ (𝐺 = (𝑢 ∈ 𝐵, 𝑣 ∈ 𝐵 ↦ (𝑢𝐺𝑣)) ∧ ∀𝑚 ∈ 𝐵 ∀𝑛 ∈ 𝐵 ((𝑚𝐺𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛))))) | 
| 36 | 9, 35 | bitri 275 | 
1
⊢ (𝐺 ∈ X𝑧 ∈
(𝐵 × 𝐵)(((𝐹‘(1st ‘𝑧))(𝐶 Nat 𝐸)(𝐹‘(2nd ‘𝑧))) ↑m (𝐻‘𝑧)) ↔ (𝐺 = (𝑢 ∈ 𝐵, 𝑣 ∈ 𝐵 ↦ (𝑢𝐺𝑣)) ∧ ∀𝑚 ∈ 𝐵 ∀𝑛 ∈ 𝐵 ((𝑚𝐺𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹‘𝑚)(𝐶 Nat 𝐸)(𝐹‘𝑛))))) |