Metamath Proof Explorer


Theorem nat1st2nd

Description: Rewrite the natural transformation predicate with separated functor parts. (Contributed by Mario Carneiro, 6-Jan-2017)

Ref Expression
Hypotheses natrcl.1 ⊢ 𝑁 = ( 𝐶 Nat 𝐷 )
nat1st2nd.2 ⊢ ( 𝜑 → 𝐴 ∈ ( 𝐹 𝑁 𝐺 ) )
Assertion nat1st2nd ( 𝜑 → 𝐴 ∈ ( ⟨ ( 1st ‘ 𝐹 ) , ( 2nd ‘ 𝐹 ) ⟩ 𝑁 ⟨ ( 1st ‘ 𝐺 ) , ( 2nd ‘ 𝐺 ) ⟩ ) )

Proof

Step Hyp Ref Expression
1 natrcl.1 ⊢ 𝑁 = ( 𝐶 Nat 𝐷 )
2 nat1st2nd.2 ⊢ ( 𝜑 → 𝐴 ∈ ( 𝐹 𝑁 𝐺 ) )
3 relfunc ⊢ Rel ( 𝐶 Func 𝐷 )
4 1 natrcl ⊢ ( 𝐴 ∈ ( 𝐹 𝑁 𝐺 ) → ( 𝐹 ∈ ( 𝐶 Func 𝐷 ) ∧ 𝐺 ∈ ( 𝐶 Func 𝐷 ) ) )
5 2 4 syl ⊢ ( 𝜑 → ( 𝐹 ∈ ( 𝐶 Func 𝐷 ) ∧ 𝐺 ∈ ( 𝐶 Func 𝐷 ) ) )
6 5 simpld ⊢ ( 𝜑 → 𝐹 ∈ ( 𝐶 Func 𝐷 ) )
7 1st2nd ⊢ ( ( Rel ( 𝐶 Func 𝐷 ) ∧ 𝐹 ∈ ( 𝐶 Func 𝐷 ) ) → 𝐹 = ⟨ ( 1st ‘ 𝐹 ) , ( 2nd ‘ 𝐹 ) ⟩ )
8 3 6 7 sylancr ⊢ ( 𝜑 → 𝐹 = ⟨ ( 1st ‘ 𝐹 ) , ( 2nd ‘ 𝐹 ) ⟩ )
9 5 simprd ⊢ ( 𝜑 → 𝐺 ∈ ( 𝐶 Func 𝐷 ) )
10 1st2nd ⊢ ( ( Rel ( 𝐶 Func 𝐷 ) ∧ 𝐺 ∈ ( 𝐶 Func 𝐷 ) ) → 𝐺 = ⟨ ( 1st ‘ 𝐺 ) , ( 2nd ‘ 𝐺 ) ⟩ )
11 3 9 10 sylancr ⊢ ( 𝜑 → 𝐺 = ⟨ ( 1st ‘ 𝐺 ) , ( 2nd ‘ 𝐺 ) ⟩ )
12 8 11 oveq12d ⊢ ( 𝜑 → ( 𝐹 𝑁 𝐺 ) = ( ⟨ ( 1st ‘ 𝐹 ) , ( 2nd ‘ 𝐹 ) ⟩ 𝑁 ⟨ ( 1st ‘ 𝐺 ) , ( 2nd ‘ 𝐺 ) ⟩ ) )
13 2 12 eleqtrd ⊢ ( 𝜑 → 𝐴 ∈ ( ⟨ ( 1st ‘ 𝐹 ) , ( 2nd ‘ 𝐹 ) ⟩ 𝑁 ⟨ ( 1st ‘ 𝐺 ) , ( 2nd ‘ 𝐺 ) ⟩ ) )