Metamath Proof Explorer


Theorem isnat2

Description: Property of being a natural transformation. (Contributed by Mario Carneiro, 6-Jan-2017)

Ref Expression
Hypotheses natfval.1 𝑁 = ( 𝐶 Nat 𝐷 )
natfval.b 𝐵 = ( Base ‘ 𝐶 )
natfval.h 𝐻 = ( Hom ‘ 𝐶 )
natfval.j 𝐽 = ( Hom ‘ 𝐷 )
natfval.o · = ( comp ‘ 𝐷 )
isnat2.f ( 𝜑𝐹 ∈ ( 𝐶 Func 𝐷 ) )
isnat2.g ( 𝜑𝐺 ∈ ( 𝐶 Func 𝐷 ) )
Assertion isnat2 ( 𝜑 → ( 𝐴 ∈ ( 𝐹 𝑁 𝐺 ) ↔ ( 𝐴X 𝑥𝐵 ( ( ( 1st𝐹 ) ‘ 𝑥 ) 𝐽 ( ( 1st𝐺 ) ‘ 𝑥 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵 ∈ ( 𝑥 𝐻 𝑦 ) ( ( 𝐴𝑦 ) ( ⟨ ( ( 1st𝐹 ) ‘ 𝑥 ) , ( ( 1st𝐹 ) ‘ 𝑦 ) ⟩ · ( ( 1st𝐺 ) ‘ 𝑦 ) ) ( ( 𝑥 ( 2nd𝐹 ) 𝑦 ) ‘ ) ) = ( ( ( 𝑥 ( 2nd𝐺 ) 𝑦 ) ‘ ) ( ⟨ ( ( 1st𝐹 ) ‘ 𝑥 ) , ( ( 1st𝐺 ) ‘ 𝑥 ) ⟩ · ( ( 1st𝐺 ) ‘ 𝑦 ) ) ( 𝐴𝑥 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 natfval.1 𝑁 = ( 𝐶 Nat 𝐷 )
2 natfval.b 𝐵 = ( Base ‘ 𝐶 )
3 natfval.h 𝐻 = ( Hom ‘ 𝐶 )
4 natfval.j 𝐽 = ( Hom ‘ 𝐷 )
5 natfval.o · = ( comp ‘ 𝐷 )
6 isnat2.f ( 𝜑𝐹 ∈ ( 𝐶 Func 𝐷 ) )
7 isnat2.g ( 𝜑𝐺 ∈ ( 𝐶 Func 𝐷 ) )
8 relfunc Rel ( 𝐶 Func 𝐷 )
9 1st2nd ( ( Rel ( 𝐶 Func 𝐷 ) ∧ 𝐹 ∈ ( 𝐶 Func 𝐷 ) ) → 𝐹 = ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
10 8 6 9 sylancr ( 𝜑𝐹 = ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ )
11 1st2nd ( ( Rel ( 𝐶 Func 𝐷 ) ∧ 𝐺 ∈ ( 𝐶 Func 𝐷 ) ) → 𝐺 = ⟨ ( 1st𝐺 ) , ( 2nd𝐺 ) ⟩ )
12 8 7 11 sylancr ( 𝜑𝐺 = ⟨ ( 1st𝐺 ) , ( 2nd𝐺 ) ⟩ )
13 10 12 oveq12d ( 𝜑 → ( 𝐹 𝑁 𝐺 ) = ( ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ 𝑁 ⟨ ( 1st𝐺 ) , ( 2nd𝐺 ) ⟩ ) )
14 13 eleq2d ( 𝜑 → ( 𝐴 ∈ ( 𝐹 𝑁 𝐺 ) ↔ 𝐴 ∈ ( ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ 𝑁 ⟨ ( 1st𝐺 ) , ( 2nd𝐺 ) ⟩ ) ) )
15 1st2ndbr ( ( Rel ( 𝐶 Func 𝐷 ) ∧ 𝐹 ∈ ( 𝐶 Func 𝐷 ) ) → ( 1st𝐹 ) ( 𝐶 Func 𝐷 ) ( 2nd𝐹 ) )
16 8 6 15 sylancr ( 𝜑 → ( 1st𝐹 ) ( 𝐶 Func 𝐷 ) ( 2nd𝐹 ) )
17 1st2ndbr ( ( Rel ( 𝐶 Func 𝐷 ) ∧ 𝐺 ∈ ( 𝐶 Func 𝐷 ) ) → ( 1st𝐺 ) ( 𝐶 Func 𝐷 ) ( 2nd𝐺 ) )
18 8 7 17 sylancr ( 𝜑 → ( 1st𝐺 ) ( 𝐶 Func 𝐷 ) ( 2nd𝐺 ) )
19 1 2 3 4 5 16 18 isnat ( 𝜑 → ( 𝐴 ∈ ( ⟨ ( 1st𝐹 ) , ( 2nd𝐹 ) ⟩ 𝑁 ⟨ ( 1st𝐺 ) , ( 2nd𝐺 ) ⟩ ) ↔ ( 𝐴X 𝑥𝐵 ( ( ( 1st𝐹 ) ‘ 𝑥 ) 𝐽 ( ( 1st𝐺 ) ‘ 𝑥 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵 ∈ ( 𝑥 𝐻 𝑦 ) ( ( 𝐴𝑦 ) ( ⟨ ( ( 1st𝐹 ) ‘ 𝑥 ) , ( ( 1st𝐹 ) ‘ 𝑦 ) ⟩ · ( ( 1st𝐺 ) ‘ 𝑦 ) ) ( ( 𝑥 ( 2nd𝐹 ) 𝑦 ) ‘ ) ) = ( ( ( 𝑥 ( 2nd𝐺 ) 𝑦 ) ‘ ) ( ⟨ ( ( 1st𝐹 ) ‘ 𝑥 ) , ( ( 1st𝐺 ) ‘ 𝑥 ) ⟩ · ( ( 1st𝐺 ) ‘ 𝑦 ) ) ( 𝐴𝑥 ) ) ) ) )
20 14 19 bitrd ( 𝜑 → ( 𝐴 ∈ ( 𝐹 𝑁 𝐺 ) ↔ ( 𝐴X 𝑥𝐵 ( ( ( 1st𝐹 ) ‘ 𝑥 ) 𝐽 ( ( 1st𝐺 ) ‘ 𝑥 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵 ∈ ( 𝑥 𝐻 𝑦 ) ( ( 𝐴𝑦 ) ( ⟨ ( ( 1st𝐹 ) ‘ 𝑥 ) , ( ( 1st𝐹 ) ‘ 𝑦 ) ⟩ · ( ( 1st𝐺 ) ‘ 𝑦 ) ) ( ( 𝑥 ( 2nd𝐹 ) 𝑦 ) ‘ ) ) = ( ( ( 𝑥 ( 2nd𝐺 ) 𝑦 ) ‘ ) ( ⟨ ( ( 1st𝐹 ) ‘ 𝑥 ) , ( ( 1st𝐺 ) ‘ 𝑥 ) ⟩ · ( ( 1st𝐺 ) ‘ 𝑦 ) ) ( 𝐴𝑥 ) ) ) ) )