| Step | Hyp | Ref
 | Expression | 
| 1 |   | fucof21.o | 
. . 3
⊢ (𝜑 → (〈𝐶, 𝐷〉 ∘F 𝐸) = 〈𝑂, 𝑃〉) | 
| 2 |   | fucof21.w | 
. . . . 5
⊢ (𝜑 → 𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷))) | 
| 3 |   | fucof21.u | 
. . . . 5
⊢ (𝜑 → 𝑈 ∈ 𝑊) | 
| 4 |   | relfunc 17879 | 
. . . . 5
⊢ Rel
(𝐷 Func 𝐸) | 
| 5 |   | relfunc 17879 | 
. . . . 5
⊢ Rel
(𝐶 Func 𝐷) | 
| 6 | 2, 3, 4, 5 | fuco2eld3 48970 | 
. . . 4
⊢ (𝜑 → ((1st
‘(1st ‘𝑈))(𝐷 Func 𝐸)(2nd ‘(1st
‘𝑈)) ∧
(1st ‘(2nd ‘𝑈))(𝐶 Func 𝐷)(2nd ‘(2nd
‘𝑈)))) | 
| 7 | 6 | simprd 495 | 
. . 3
⊢ (𝜑 → (1st
‘(2nd ‘𝑈))(𝐶 Func 𝐷)(2nd ‘(2nd
‘𝑈))) | 
| 8 | 6 | simpld 494 | 
. . 3
⊢ (𝜑 → (1st
‘(1st ‘𝑈))(𝐷 Func 𝐸)(2nd ‘(1st
‘𝑈))) | 
| 9 | 2, 3, 4, 5 | fuco2eld2 48969 | 
. . 3
⊢ (𝜑 → 𝑈 = 〈〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉,
〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉〉) | 
| 10 |   | fucof21.v | 
. . . . 5
⊢ (𝜑 → 𝑉 ∈ 𝑊) | 
| 11 | 2, 10, 4, 5 | fuco2eld3 48970 | 
. . . 4
⊢ (𝜑 → ((1st
‘(1st ‘𝑉))(𝐷 Func 𝐸)(2nd ‘(1st
‘𝑉)) ∧
(1st ‘(2nd ‘𝑉))(𝐶 Func 𝐷)(2nd ‘(2nd
‘𝑉)))) | 
| 12 | 11 | simprd 495 | 
. . 3
⊢ (𝜑 → (1st
‘(2nd ‘𝑉))(𝐶 Func 𝐷)(2nd ‘(2nd
‘𝑉))) | 
| 13 | 11 | simpld 494 | 
. . 3
⊢ (𝜑 → (1st
‘(1st ‘𝑉))(𝐷 Func 𝐸)(2nd ‘(1st
‘𝑉))) | 
| 14 | 2, 10, 4, 5 | fuco2eld2 48969 | 
. . 3
⊢ (𝜑 → 𝑉 = 〈〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉,
〈(1st ‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉〉) | 
| 15 | 1, 7, 8, 9, 12, 13, 14 | fuco21 48991 | 
. 2
⊢ (𝜑 → (𝑈𝑃𝑉) = (𝑏 ∈ (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉), 𝑎 ∈ (〈(1st
‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉) ↦
(𝑥 ∈ (Base‘𝐶) ↦ ((𝑏‘((1st
‘(2nd ‘𝑉))‘𝑥))(〈((1st
‘(1st ‘𝑈))‘((1st
‘(2nd ‘𝑈))‘𝑥)), ((1st ‘(1st
‘𝑈))‘((1st
‘(2nd ‘𝑉))‘𝑥))〉(comp‘𝐸)((1st ‘(1st
‘𝑉))‘((1st
‘(2nd ‘𝑉))‘𝑥)))((((1st ‘(2nd
‘𝑈))‘𝑥)(2nd
‘(1st ‘𝑈))((1st ‘(2nd
‘𝑉))‘𝑥))‘(𝑎‘𝑥)))))) | 
| 16 | 1 | adantr 480 | 
. . . 4
⊢ ((𝜑 ∧ (𝑏 ∈ (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ∧
𝑎 ∈
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) →
(〈𝐶, 𝐷〉 ∘F 𝐸) = 〈𝑂, 𝑃〉) | 
| 17 | 9 | adantr 480 | 
. . . 4
⊢ ((𝜑 ∧ (𝑏 ∈ (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ∧
𝑎 ∈
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) →
𝑈 =
〈〈(1st ‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉,
〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉〉) | 
| 18 | 14 | adantr 480 | 
. . . 4
⊢ ((𝜑 ∧ (𝑏 ∈ (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ∧
𝑎 ∈
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) →
𝑉 =
〈〈(1st ‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉,
〈(1st ‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉〉) | 
| 19 |   | simprr 772 | 
. . . 4
⊢ ((𝜑 ∧ (𝑏 ∈ (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ∧
𝑎 ∈
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) →
𝑎 ∈
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉)) | 
| 20 |   | simprl 770 | 
. . . 4
⊢ ((𝜑 ∧ (𝑏 ∈ (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ∧
𝑎 ∈
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) →
𝑏 ∈
(〈(1st ‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉)) | 
| 21 | 16, 17, 18, 19, 20 | fuco22 48994 | 
. . 3
⊢ ((𝜑 ∧ (𝑏 ∈ (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ∧
𝑎 ∈
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) →
(𝑏(𝑈𝑃𝑉)𝑎) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑏‘((1st
‘(2nd ‘𝑉))‘𝑥))(〈((1st
‘(1st ‘𝑈))‘((1st
‘(2nd ‘𝑈))‘𝑥)), ((1st ‘(1st
‘𝑈))‘((1st
‘(2nd ‘𝑉))‘𝑥))〉(comp‘𝐸)((1st ‘(1st
‘𝑉))‘((1st
‘(2nd ‘𝑉))‘𝑥)))((((1st ‘(2nd
‘𝑈))‘𝑥)(2nd
‘(1st ‘𝑈))((1st ‘(2nd
‘𝑉))‘𝑥))‘(𝑎‘𝑥))))) | 
| 22 | 16, 19, 20, 17, 18 | fuco22nat 49001 | 
. . 3
⊢ ((𝜑 ∧ (𝑏 ∈ (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ∧
𝑎 ∈
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) →
(𝑏(𝑈𝑃𝑉)𝑎) ∈ ((𝑂‘𝑈)(𝐶 Nat 𝐸)(𝑂‘𝑉))) | 
| 23 | 21, 22 | eqeltrrd 2834 | 
. 2
⊢ ((𝜑 ∧ (𝑏 ∈ (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ∧
𝑎 ∈
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) →
(𝑥 ∈ (Base‘𝐶) ↦ ((𝑏‘((1st
‘(2nd ‘𝑉))‘𝑥))(〈((1st
‘(1st ‘𝑈))‘((1st
‘(2nd ‘𝑈))‘𝑥)), ((1st ‘(1st
‘𝑈))‘((1st
‘(2nd ‘𝑉))‘𝑥))〉(comp‘𝐸)((1st ‘(1st
‘𝑉))‘((1st
‘(2nd ‘𝑉))‘𝑥)))((((1st ‘(2nd
‘𝑈))‘𝑥)(2nd
‘(1st ‘𝑈))((1st ‘(2nd
‘𝑉))‘𝑥))‘(𝑎‘𝑥)))) ∈ ((𝑂‘𝑈)(𝐶 Nat 𝐸)(𝑂‘𝑉))) | 
| 24 |   | fucof21.t | 
. . . 4
⊢ 𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷)) | 
| 25 | 24 | xpcfucbas 48913 | 
. . . 4
⊢ ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)) = (Base‘𝑇) | 
| 26 |   | fucof21.j | 
. . . 4
⊢ 𝐽 = (Hom ‘𝑇) | 
| 27 | 3, 2 | eleqtrd 2835 | 
. . . 4
⊢ (𝜑 → 𝑈 ∈ ((𝐷 Func 𝐸) × (𝐶 Func 𝐷))) | 
| 28 | 10, 2 | eleqtrd 2835 | 
. . . 4
⊢ (𝜑 → 𝑉 ∈ ((𝐷 Func 𝐸) × (𝐶 Func 𝐷))) | 
| 29 | 24, 25, 26, 27, 28 | xpcfuchom 48915 | 
. . 3
⊢ (𝜑 → (𝑈𝐽𝑉) = (((1st ‘𝑈)(𝐷 Nat 𝐸)(1st ‘𝑉)) × ((2nd ‘𝑈)(𝐶 Nat 𝐷)(2nd ‘𝑉)))) | 
| 30 | 9 | fveq2d 6891 | 
. . . . . 6
⊢ (𝜑 → (1st
‘𝑈) = (1st
‘〈〈(1st ‘(1st ‘𝑈)), (2nd
‘(1st ‘𝑈))〉, 〈(1st
‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉〉)) | 
| 31 |   | opex 5451 | 
. . . . . . 7
⊢
〈(1st ‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉 ∈
V | 
| 32 |   | opex 5451 | 
. . . . . . 7
⊢
〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉 ∈
V | 
| 33 | 31, 32 | op1st 8005 | 
. . . . . 6
⊢
(1st ‘〈〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉,
〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉〉) =
〈(1st ‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉 | 
| 34 | 30, 33 | eqtrdi 2785 | 
. . . . 5
⊢ (𝜑 → (1st
‘𝑈) =
〈(1st ‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉) | 
| 35 | 14 | fveq2d 6891 | 
. . . . . 6
⊢ (𝜑 → (1st
‘𝑉) = (1st
‘〈〈(1st ‘(1st ‘𝑉)), (2nd
‘(1st ‘𝑉))〉, 〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉〉)) | 
| 36 |   | opex 5451 | 
. . . . . . 7
⊢
〈(1st ‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉 ∈
V | 
| 37 |   | opex 5451 | 
. . . . . . 7
⊢
〈(1st ‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉 ∈
V | 
| 38 | 36, 37 | op1st 8005 | 
. . . . . 6
⊢
(1st ‘〈〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉,
〈(1st ‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉〉) =
〈(1st ‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉 | 
| 39 | 35, 38 | eqtrdi 2785 | 
. . . . 5
⊢ (𝜑 → (1st
‘𝑉) =
〈(1st ‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) | 
| 40 | 34, 39 | oveq12d 7432 | 
. . . 4
⊢ (𝜑 → ((1st
‘𝑈)(𝐷 Nat 𝐸)(1st ‘𝑉)) = (〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉)) | 
| 41 | 9 | fveq2d 6891 | 
. . . . . 6
⊢ (𝜑 → (2nd
‘𝑈) = (2nd
‘〈〈(1st ‘(1st ‘𝑈)), (2nd
‘(1st ‘𝑈))〉, 〈(1st
‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉〉)) | 
| 42 | 31, 32 | op2nd 8006 | 
. . . . . 6
⊢
(2nd ‘〈〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉,
〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉〉) =
〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉 | 
| 43 | 41, 42 | eqtrdi 2785 | 
. . . . 5
⊢ (𝜑 → (2nd
‘𝑈) =
〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉) | 
| 44 | 14 | fveq2d 6891 | 
. . . . . 6
⊢ (𝜑 → (2nd
‘𝑉) = (2nd
‘〈〈(1st ‘(1st ‘𝑉)), (2nd
‘(1st ‘𝑉))〉, 〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉〉)) | 
| 45 | 36, 37 | op2nd 8006 | 
. . . . . 6
⊢
(2nd ‘〈〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉,
〈(1st ‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉〉) =
〈(1st ‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉 | 
| 46 | 44, 45 | eqtrdi 2785 | 
. . . . 5
⊢ (𝜑 → (2nd
‘𝑉) =
〈(1st ‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉) | 
| 47 | 43, 46 | oveq12d 7432 | 
. . . 4
⊢ (𝜑 → ((2nd
‘𝑈)(𝐶 Nat 𝐷)(2nd ‘𝑉)) = (〈(1st
‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉)) | 
| 48 | 40, 47 | xpeq12d 5698 | 
. . 3
⊢ (𝜑 → (((1st
‘𝑈)(𝐷 Nat 𝐸)(1st ‘𝑉)) × ((2nd ‘𝑈)(𝐶 Nat 𝐷)(2nd ‘𝑉))) = ((〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ×
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) | 
| 49 | 29, 48 | eqtrd 2769 | 
. 2
⊢ (𝜑 → (𝑈𝐽𝑉) = ((〈(1st
‘(1st ‘𝑈)), (2nd ‘(1st
‘𝑈))〉(𝐷 Nat 𝐸)〈(1st
‘(1st ‘𝑉)), (2nd ‘(1st
‘𝑉))〉) ×
(〈(1st ‘(2nd ‘𝑈)), (2nd ‘(2nd
‘𝑈))〉(𝐶 Nat 𝐷)〈(1st
‘(2nd ‘𝑉)), (2nd ‘(2nd
‘𝑉))〉))) | 
| 50 | 15, 23, 49 | fmpodg 48712 | 
1
⊢ (𝜑 → (𝑈𝑃𝑉):(𝑈𝐽𝑉)⟶((𝑂‘𝑈)(𝐶 Nat 𝐸)(𝑂‘𝑉))) |