Metamath Proof Explorer


Theorem fuco2

Description: The morphism part of the functor composition bifunctor. (Contributed by Zhi Wang, 29-Sep-2025)

Ref Expression
Hypotheses fucofval.c ( 𝜑𝐶𝑇 )
fucofval.d ( 𝜑𝐷𝑈 )
fucofval.e ( 𝜑𝐸𝑉 )
fuco1.o ( 𝜑 → ( ⟨ 𝐶 , 𝐷 ⟩ ∘F 𝐸 ) = ⟨ 𝑂 , 𝑃 ⟩ )
fuco1.w ( 𝜑𝑊 = ( ( 𝐷 Func 𝐸 ) × ( 𝐶 Func 𝐷 ) ) )
Assertion fuco2 ( 𝜑𝑃 = ( 𝑢𝑊 , 𝑣𝑊 ( 1st ‘ ( 2nd𝑢 ) ) / 𝑓 ( 1st ‘ ( 1st𝑢 ) ) / 𝑘 ( 2nd ‘ ( 1st𝑢 ) ) / 𝑙 ( 1st ‘ ( 2nd𝑣 ) ) / 𝑚 ( 1st ‘ ( 1st𝑣 ) ) / 𝑟 ( 𝑏 ∈ ( ( 1st𝑢 ) ( 𝐷 Nat 𝐸 ) ( 1st𝑣 ) ) , 𝑎 ∈ ( ( 2nd𝑢 ) ( 𝐶 Nat 𝐷 ) ( 2nd𝑣 ) ) ↦ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 𝑏 ‘ ( 𝑚𝑥 ) ) ( ⟨ ( 𝑘 ‘ ( 𝑓𝑥 ) ) , ( 𝑘 ‘ ( 𝑚𝑥 ) ) ⟩ ( comp ‘ 𝐸 ) ( 𝑟 ‘ ( 𝑚𝑥 ) ) ) ( ( ( 𝑓𝑥 ) 𝑙 ( 𝑚𝑥 ) ) ‘ ( 𝑎𝑥 ) ) ) ) ) ) )

Proof

Step Hyp Ref Expression
1 fucofval.c ( 𝜑𝐶𝑇 )
2 fucofval.d ( 𝜑𝐷𝑈 )
3 fucofval.e ( 𝜑𝐸𝑉 )
4 fuco1.o ( 𝜑 → ( ⟨ 𝐶 , 𝐷 ⟩ ∘F 𝐸 ) = ⟨ 𝑂 , 𝑃 ⟩ )
5 fuco1.w ( 𝜑𝑊 = ( ( 𝐷 Func 𝐸 ) × ( 𝐶 Func 𝐷 ) ) )
6 1 2 3 4 5 fucofval ( 𝜑 → ⟨ 𝑂 , 𝑃 ⟩ = ⟨ ( ∘func𝑊 ) , ( 𝑢𝑊 , 𝑣𝑊 ( 1st ‘ ( 2nd𝑢 ) ) / 𝑓 ( 1st ‘ ( 1st𝑢 ) ) / 𝑘 ( 2nd ‘ ( 1st𝑢 ) ) / 𝑙 ( 1st ‘ ( 2nd𝑣 ) ) / 𝑚 ( 1st ‘ ( 1st𝑣 ) ) / 𝑟 ( 𝑏 ∈ ( ( 1st𝑢 ) ( 𝐷 Nat 𝐸 ) ( 1st𝑣 ) ) , 𝑎 ∈ ( ( 2nd𝑢 ) ( 𝐶 Nat 𝐷 ) ( 2nd𝑣 ) ) ↦ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 𝑏 ‘ ( 𝑚𝑥 ) ) ( ⟨ ( 𝑘 ‘ ( 𝑓𝑥 ) ) , ( 𝑘 ‘ ( 𝑚𝑥 ) ) ⟩ ( comp ‘ 𝐸 ) ( 𝑟 ‘ ( 𝑚𝑥 ) ) ) ( ( ( 𝑓𝑥 ) 𝑙 ( 𝑚𝑥 ) ) ‘ ( 𝑎𝑥 ) ) ) ) ) ) ⟩ )
7 1 2 3 4 fucoelvv ( 𝜑 → ⟨ 𝑂 , 𝑃 ⟩ ∈ ( V × V ) )
8 opelxp1 ( ⟨ 𝑂 , 𝑃 ⟩ ∈ ( V × V ) → 𝑂 ∈ V )
9 7 8 syl ( 𝜑𝑂 ∈ V )
10 opelxp2 ( ⟨ 𝑂 , 𝑃 ⟩ ∈ ( V × V ) → 𝑃 ∈ V )
11 7 10 syl ( 𝜑𝑃 ∈ V )
12 opthg ( ( 𝑂 ∈ V ∧ 𝑃 ∈ V ) → ( ⟨ 𝑂 , 𝑃 ⟩ = ⟨ ( ∘func𝑊 ) , ( 𝑢𝑊 , 𝑣𝑊 ( 1st ‘ ( 2nd𝑢 ) ) / 𝑓 ( 1st ‘ ( 1st𝑢 ) ) / 𝑘 ( 2nd ‘ ( 1st𝑢 ) ) / 𝑙 ( 1st ‘ ( 2nd𝑣 ) ) / 𝑚 ( 1st ‘ ( 1st𝑣 ) ) / 𝑟 ( 𝑏 ∈ ( ( 1st𝑢 ) ( 𝐷 Nat 𝐸 ) ( 1st𝑣 ) ) , 𝑎 ∈ ( ( 2nd𝑢 ) ( 𝐶 Nat 𝐷 ) ( 2nd𝑣 ) ) ↦ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 𝑏 ‘ ( 𝑚𝑥 ) ) ( ⟨ ( 𝑘 ‘ ( 𝑓𝑥 ) ) , ( 𝑘 ‘ ( 𝑚𝑥 ) ) ⟩ ( comp ‘ 𝐸 ) ( 𝑟 ‘ ( 𝑚𝑥 ) ) ) ( ( ( 𝑓𝑥 ) 𝑙 ( 𝑚𝑥 ) ) ‘ ( 𝑎𝑥 ) ) ) ) ) ) ⟩ ↔ ( 𝑂 = ( ∘func𝑊 ) ∧ 𝑃 = ( 𝑢𝑊 , 𝑣𝑊 ( 1st ‘ ( 2nd𝑢 ) ) / 𝑓 ( 1st ‘ ( 1st𝑢 ) ) / 𝑘 ( 2nd ‘ ( 1st𝑢 ) ) / 𝑙 ( 1st ‘ ( 2nd𝑣 ) ) / 𝑚 ( 1st ‘ ( 1st𝑣 ) ) / 𝑟 ( 𝑏 ∈ ( ( 1st𝑢 ) ( 𝐷 Nat 𝐸 ) ( 1st𝑣 ) ) , 𝑎 ∈ ( ( 2nd𝑢 ) ( 𝐶 Nat 𝐷 ) ( 2nd𝑣 ) ) ↦ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 𝑏 ‘ ( 𝑚𝑥 ) ) ( ⟨ ( 𝑘 ‘ ( 𝑓𝑥 ) ) , ( 𝑘 ‘ ( 𝑚𝑥 ) ) ⟩ ( comp ‘ 𝐸 ) ( 𝑟 ‘ ( 𝑚𝑥 ) ) ) ( ( ( 𝑓𝑥 ) 𝑙 ( 𝑚𝑥 ) ) ‘ ( 𝑎𝑥 ) ) ) ) ) ) ) ) )
13 9 11 12 syl2anc ( 𝜑 → ( ⟨ 𝑂 , 𝑃 ⟩ = ⟨ ( ∘func𝑊 ) , ( 𝑢𝑊 , 𝑣𝑊 ( 1st ‘ ( 2nd𝑢 ) ) / 𝑓 ( 1st ‘ ( 1st𝑢 ) ) / 𝑘 ( 2nd ‘ ( 1st𝑢 ) ) / 𝑙 ( 1st ‘ ( 2nd𝑣 ) ) / 𝑚 ( 1st ‘ ( 1st𝑣 ) ) / 𝑟 ( 𝑏 ∈ ( ( 1st𝑢 ) ( 𝐷 Nat 𝐸 ) ( 1st𝑣 ) ) , 𝑎 ∈ ( ( 2nd𝑢 ) ( 𝐶 Nat 𝐷 ) ( 2nd𝑣 ) ) ↦ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 𝑏 ‘ ( 𝑚𝑥 ) ) ( ⟨ ( 𝑘 ‘ ( 𝑓𝑥 ) ) , ( 𝑘 ‘ ( 𝑚𝑥 ) ) ⟩ ( comp ‘ 𝐸 ) ( 𝑟 ‘ ( 𝑚𝑥 ) ) ) ( ( ( 𝑓𝑥 ) 𝑙 ( 𝑚𝑥 ) ) ‘ ( 𝑎𝑥 ) ) ) ) ) ) ⟩ ↔ ( 𝑂 = ( ∘func𝑊 ) ∧ 𝑃 = ( 𝑢𝑊 , 𝑣𝑊 ( 1st ‘ ( 2nd𝑢 ) ) / 𝑓 ( 1st ‘ ( 1st𝑢 ) ) / 𝑘 ( 2nd ‘ ( 1st𝑢 ) ) / 𝑙 ( 1st ‘ ( 2nd𝑣 ) ) / 𝑚 ( 1st ‘ ( 1st𝑣 ) ) / 𝑟 ( 𝑏 ∈ ( ( 1st𝑢 ) ( 𝐷 Nat 𝐸 ) ( 1st𝑣 ) ) , 𝑎 ∈ ( ( 2nd𝑢 ) ( 𝐶 Nat 𝐷 ) ( 2nd𝑣 ) ) ↦ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 𝑏 ‘ ( 𝑚𝑥 ) ) ( ⟨ ( 𝑘 ‘ ( 𝑓𝑥 ) ) , ( 𝑘 ‘ ( 𝑚𝑥 ) ) ⟩ ( comp ‘ 𝐸 ) ( 𝑟 ‘ ( 𝑚𝑥 ) ) ) ( ( ( 𝑓𝑥 ) 𝑙 ( 𝑚𝑥 ) ) ‘ ( 𝑎𝑥 ) ) ) ) ) ) ) ) )
14 6 13 mpbid ( 𝜑 → ( 𝑂 = ( ∘func𝑊 ) ∧ 𝑃 = ( 𝑢𝑊 , 𝑣𝑊 ( 1st ‘ ( 2nd𝑢 ) ) / 𝑓 ( 1st ‘ ( 1st𝑢 ) ) / 𝑘 ( 2nd ‘ ( 1st𝑢 ) ) / 𝑙 ( 1st ‘ ( 2nd𝑣 ) ) / 𝑚 ( 1st ‘ ( 1st𝑣 ) ) / 𝑟 ( 𝑏 ∈ ( ( 1st𝑢 ) ( 𝐷 Nat 𝐸 ) ( 1st𝑣 ) ) , 𝑎 ∈ ( ( 2nd𝑢 ) ( 𝐶 Nat 𝐷 ) ( 2nd𝑣 ) ) ↦ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 𝑏 ‘ ( 𝑚𝑥 ) ) ( ⟨ ( 𝑘 ‘ ( 𝑓𝑥 ) ) , ( 𝑘 ‘ ( 𝑚𝑥 ) ) ⟩ ( comp ‘ 𝐸 ) ( 𝑟 ‘ ( 𝑚𝑥 ) ) ) ( ( ( 𝑓𝑥 ) 𝑙 ( 𝑚𝑥 ) ) ‘ ( 𝑎𝑥 ) ) ) ) ) ) ) )
15 14 simprd ( 𝜑𝑃 = ( 𝑢𝑊 , 𝑣𝑊 ( 1st ‘ ( 2nd𝑢 ) ) / 𝑓 ( 1st ‘ ( 1st𝑢 ) ) / 𝑘 ( 2nd ‘ ( 1st𝑢 ) ) / 𝑙 ( 1st ‘ ( 2nd𝑣 ) ) / 𝑚 ( 1st ‘ ( 1st𝑣 ) ) / 𝑟 ( 𝑏 ∈ ( ( 1st𝑢 ) ( 𝐷 Nat 𝐸 ) ( 1st𝑣 ) ) , 𝑎 ∈ ( ( 2nd𝑢 ) ( 𝐶 Nat 𝐷 ) ( 2nd𝑣 ) ) ↦ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 𝑏 ‘ ( 𝑚𝑥 ) ) ( ⟨ ( 𝑘 ‘ ( 𝑓𝑥 ) ) , ( 𝑘 ‘ ( 𝑚𝑥 ) ) ⟩ ( comp ‘ 𝐸 ) ( 𝑟 ‘ ( 𝑚𝑥 ) ) ) ( ( ( 𝑓𝑥 ) 𝑙 ( 𝑚𝑥 ) ) ‘ ( 𝑎𝑥 ) ) ) ) ) ) )