Metamath Proof Explorer


Theorem fuco22nat

Description: The composed natural transformation is a natural transformation. (Contributed by Zhi Wang, 2-Oct-2025)

Ref Expression
Hypotheses fuco22nat.o ( 𝜑 → ( ⟨ 𝐶 , 𝐷 ⟩ ∘F 𝐸 ) = ⟨ 𝑂 , 𝑃 ⟩ )
fuco22nat.a ( 𝜑𝐴 ∈ ( 𝐹 ( 𝐶 Nat 𝐷 ) 𝑀 ) )
fuco22nat.b ( 𝜑𝐵 ∈ ( 𝐾 ( 𝐷 Nat 𝐸 ) 𝑅 ) )
fuco22nat.u ( 𝜑𝑈 = ⟨ 𝐾 , 𝐹 ⟩ )
fuco22nat.v ( 𝜑𝑉 = ⟨ 𝑅 , 𝑀 ⟩ )
Assertion fuco22nat ( 𝜑 → ( 𝐵 ( 𝑈 𝑃 𝑉 ) 𝐴 ) ∈ ( ( 𝑂𝑈 ) ( 𝐶 Nat 𝐸 ) ( 𝑂𝑉 ) ) )

Proof

Step Hyp Ref Expression
1 fuco22nat.o ( 𝜑 → ( ⟨ 𝐶 , 𝐷 ⟩ ∘F 𝐸 ) = ⟨ 𝑂 , 𝑃 ⟩ )
2 fuco22nat.a ( 𝜑𝐴 ∈ ( 𝐹 ( 𝐶 Nat 𝐷 ) 𝑀 ) )
3 fuco22nat.b ( 𝜑𝐵 ∈ ( 𝐾 ( 𝐷 Nat 𝐸 ) 𝑅 ) )
4 fuco22nat.u ( 𝜑𝑈 = ⟨ 𝐾 , 𝐹 ⟩ )
5 fuco22nat.v ( 𝜑𝑉 = ⟨ 𝑅 , 𝑀 ⟩ )
6 eqid ( 𝐶 Nat 𝐷 ) = ( 𝐶 Nat 𝐷 )
7 6 2 nat1st2nd ( 𝜑𝐴 ∈ ( ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ ( 𝐶 Nat 𝐷 ) ⟨ ( 1st𝑀 ) , ( 2nd𝑀 ) ⟩ ) )
8 eqid ( 𝐷 Nat 𝐸 ) = ( 𝐷 Nat 𝐸 )
9 8 3 nat1st2nd ( 𝜑𝐵 ∈ ( ⟨ ( 1st𝐾 ) , ( 2nd𝐾 ) ⟩ ( 𝐷 Nat 𝐸 ) ⟨ ( 1st𝑅 ) , ( 2nd𝑅 ) ⟩ ) )
10 relfunc Rel ( 𝐷 Func 𝐸 )
11 8 natrcl ( 𝐵 ∈ ( 𝐾 ( 𝐷 Nat 𝐸 ) 𝑅 ) → ( 𝐾 ∈ ( 𝐷 Func 𝐸 ) ∧ 𝑅 ∈ ( 𝐷 Func 𝐸 ) ) )
12 3 11 syl ( 𝜑 → ( 𝐾 ∈ ( 𝐷 Func 𝐸 ) ∧ 𝑅 ∈ ( 𝐷 Func 𝐸 ) ) )
13 12 simpld ( 𝜑𝐾 ∈ ( 𝐷 Func 𝐸 ) )
14 1st2nd ( ( Rel ( 𝐷 Func 𝐸 ) ∧ 𝐾 ∈ ( 𝐷 Func 𝐸 ) ) → 𝐾 = ⟨ ( 1st𝐾 ) , ( 2nd𝐾 ) ⟩ )
15 10 13 14 sylancr ( 𝜑𝐾 = ⟨ ( 1st𝐾 ) , ( 2nd𝐾 ) ⟩ )
16 relfunc Rel ( 𝐶 Func 𝐷 )
17 6 natrcl ( 𝐴 ∈ ( 𝐹 ( 𝐶 Nat 𝐷 ) 𝑀 ) → ( 𝐹 ∈ ( 𝐶 Func 𝐷 ) ∧ 𝑀 ∈ ( 𝐶 Func 𝐷 ) ) )
18 2 17 syl ( 𝜑 → ( 𝐹 ∈ ( 𝐶 Func 𝐷 ) ∧ 𝑀 ∈ ( 𝐶 Func 𝐷 ) ) )
19 18 simpld ( 𝜑𝐹 ∈ ( 𝐶 Func 𝐷 ) )
20 1st2nd ( ( Rel ( 𝐶 Func 𝐷 ) ∧ 𝐹 ∈ ( 𝐶 Func 𝐷 ) ) → 𝐹 = ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
21 16 19 20 sylancr ( 𝜑𝐹 = ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
22 15 21 opeq12d ( 𝜑 → ⟨ 𝐾 , 𝐹 ⟩ = ⟨ ⟨ ( 1st𝐾 ) , ( 2nd𝐾 ) ⟩ , ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ ⟩ )
23 4 22 eqtrd ( 𝜑𝑈 = ⟨ ⟨ ( 1st𝐾 ) , ( 2nd𝐾 ) ⟩ , ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ ⟩ )
24 12 simprd ( 𝜑𝑅 ∈ ( 𝐷 Func 𝐸 ) )
25 1st2nd ( ( Rel ( 𝐷 Func 𝐸 ) ∧ 𝑅 ∈ ( 𝐷 Func 𝐸 ) ) → 𝑅 = ⟨ ( 1st𝑅 ) , ( 2nd𝑅 ) ⟩ )
26 10 24 25 sylancr ( 𝜑𝑅 = ⟨ ( 1st𝑅 ) , ( 2nd𝑅 ) ⟩ )
27 18 simprd ( 𝜑𝑀 ∈ ( 𝐶 Func 𝐷 ) )
28 1st2nd ( ( Rel ( 𝐶 Func 𝐷 ) ∧ 𝑀 ∈ ( 𝐶 Func 𝐷 ) ) → 𝑀 = ⟨ ( 1st𝑀 ) , ( 2nd𝑀 ) ⟩ )
29 16 27 28 sylancr ( 𝜑𝑀 = ⟨ ( 1st𝑀 ) , ( 2nd𝑀 ) ⟩ )
30 26 29 opeq12d ( 𝜑 → ⟨ 𝑅 , 𝑀 ⟩ = ⟨ ⟨ ( 1st𝑅 ) , ( 2nd𝑅 ) ⟩ , ⟨ ( 1st𝑀 ) , ( 2nd𝑀 ) ⟩ ⟩ )
31 5 30 eqtrd ( 𝜑𝑉 = ⟨ ⟨ ( 1st𝑅 ) , ( 2nd𝑅 ) ⟩ , ⟨ ( 1st𝑀 ) , ( 2nd𝑀 ) ⟩ ⟩ )
32 1 7 9 23 31 fuco22natlem ( 𝜑 → ( 𝐵 ( 𝑈 𝑃 𝑉 ) 𝐴 ) ∈ ( ( 𝑂𝑈 ) ( 𝐶 Nat 𝐸 ) ( 𝑂𝑉 ) ) )