Metamath Proof Explorer


Theorem nati

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

Ref Expression
Hypotheses natrcl.1 ⊢ N = C Nat D
natixp.2 ⊢ φ → A ∈ F G N K L
natixp.b ⊢ B = Base C
nati.h ⊢ H = Hom ⁡ C
nati.o ⊢ · ˙ = comp ⁡ D
nati.x ⊢ φ → X ∈ B
nati.y ⊢ φ → Y ∈ B
nati.r ⊢ φ → R ∈ X H Y
Assertion nati ⊢ φ → A ⁡ Y F ⁡ X F ⁡ Y · ˙ K ⁡ Y X G Y ⁡ R = X L Y ⁡ R F ⁡ X K ⁡ X · ˙ K ⁡ Y A ⁡ X

Proof

Step Hyp Ref Expression
1 natrcl.1 ⊢ N = C Nat D
2 natixp.2 ⊢ φ → A ∈ F G N K L
3 natixp.b ⊢ B = Base C
4 nati.h ⊢ H = Hom ⁡ C
5 nati.o ⊢ · ˙ = comp ⁡ D
6 nati.x ⊢ φ → X ∈ B
7 nati.y ⊢ φ → Y ∈ B
8 nati.r ⊢ φ → R ∈ X H Y
9 eqid ⊢ Hom ⁡ D = Hom ⁡ D
10 1 natrcl ⊢ A ∈ F G N K L → F G ∈ C Func D ∧ K L ∈ C Func D
11 2 10 syl ⊢ φ → F G ∈ C Func D ∧ K L ∈ C Func D
12 11 simpld ⊢ φ → F G ∈ C Func D
13 df-br ⊢ F C Func D G ↔ F G ∈ C Func D
14 12 13 sylibr ⊢ φ → F C Func D G
15 11 simprd ⊢ φ → K L ∈ C Func D
16 df-br ⊢ K C Func D L ↔ K L ∈ C Func D
17 15 16 sylibr ⊢ φ → K C Func D L
18 1 3 4 9 5 14 17 isnat ⊢ φ → A ∈ F G N K L ↔ A ∈ ⨉ x ∈ B F ⁡ x Hom ⁡ D K ⁡ x ∧ ∀ x ∈ B ∀ y ∈ B ∀ f ∈ x H y A ⁡ y F ⁡ x F ⁡ y · ˙ K ⁡ y x G y ⁡ f = x L y ⁡ f F ⁡ x K ⁡ x · ˙ K ⁡ y A ⁡ x
19 2 18 mpbid ⊢ φ → A ∈ ⨉ x ∈ B F ⁡ x Hom ⁡ D K ⁡ x ∧ ∀ x ∈ B ∀ y ∈ B ∀ f ∈ x H y A ⁡ y F ⁡ x F ⁡ y · ˙ K ⁡ y x G y ⁡ f = x L y ⁡ f F ⁡ x K ⁡ x · ˙ K ⁡ y A ⁡ x
20 19 simprd ⊢ φ → ∀ x ∈ B ∀ y ∈ B ∀ f ∈ x H y A ⁡ y F ⁡ x F ⁡ y · ˙ K ⁡ y x G y ⁡ f = x L y ⁡ f F ⁡ x K ⁡ x · ˙ K ⁡ y A ⁡ x
21 7 adantr ⊢ φ ∧ x = X → Y ∈ B
22 8 ad2antrr ⊢ φ ∧ x = X ∧ y = Y → R ∈ X H Y
23 simplr ⊢ φ ∧ x = X ∧ y = Y → x = X
24 simpr ⊢ φ ∧ x = X ∧ y = Y → y = Y
25 23 24 oveq12d ⊢ φ ∧ x = X ∧ y = Y → x H y = X H Y
26 22 25 eleqtrrd ⊢ φ ∧ x = X ∧ y = Y → R ∈ x H y
27 simpllr ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → x = X
28 27 fveq2d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → F ⁡ x = F ⁡ X
29 simplr ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → y = Y
30 29 fveq2d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → F ⁡ y = F ⁡ Y
31 28 30 opeq12d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → F ⁡ x F ⁡ y = F ⁡ X F ⁡ Y
32 29 fveq2d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → K ⁡ y = K ⁡ Y
33 31 32 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → F ⁡ x F ⁡ y · ˙ K ⁡ y = F ⁡ X F ⁡ Y · ˙ K ⁡ Y
34 29 fveq2d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → A ⁡ y = A ⁡ Y
35 27 29 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → x G y = X G Y
36 simpr ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → f = R
37 35 36 fveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → x G y ⁡ f = X G Y ⁡ R
38 33 34 37 oveq123d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → A ⁡ y F ⁡ x F ⁡ y · ˙ K ⁡ y x G y ⁡ f = A ⁡ Y F ⁡ X F ⁡ Y · ˙ K ⁡ Y X G Y ⁡ R
39 27 fveq2d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → K ⁡ x = K ⁡ X
40 28 39 opeq12d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → F ⁡ x K ⁡ x = F ⁡ X K ⁡ X
41 40 32 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → F ⁡ x K ⁡ x · ˙ K ⁡ y = F ⁡ X K ⁡ X · ˙ K ⁡ Y
42 27 29 oveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → x L y = X L Y
43 42 36 fveq12d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → x L y ⁡ f = X L Y ⁡ R
44 27 fveq2d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → A ⁡ x = A ⁡ X
45 41 43 44 oveq123d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → x L y ⁡ f F ⁡ x K ⁡ x · ˙ K ⁡ y A ⁡ x = X L Y ⁡ R F ⁡ X K ⁡ X · ˙ K ⁡ Y A ⁡ X
46 38 45 eqeq12d ⊢ φ ∧ x = X ∧ y = Y ∧ f = R → A ⁡ y F ⁡ x F ⁡ y · ˙ K ⁡ y x G y ⁡ f = x L y ⁡ f F ⁡ x K ⁡ x · ˙ K ⁡ y A ⁡ x ↔ A ⁡ Y F ⁡ X F ⁡ Y · ˙ K ⁡ Y X G Y ⁡ R = X L Y ⁡ R F ⁡ X K ⁡ X · ˙ K ⁡ Y A ⁡ X
47 26 46 rspcdv ⊢ φ ∧ x = X ∧ y = Y → ∀ f ∈ x H y A ⁡ y F ⁡ x F ⁡ y · ˙ K ⁡ y x G y ⁡ f = x L y ⁡ f F ⁡ x K ⁡ x · ˙ K ⁡ y A ⁡ x → A ⁡ Y F ⁡ X F ⁡ Y · ˙ K ⁡ Y X G Y ⁡ R = X L Y ⁡ R F ⁡ X K ⁡ X · ˙ K ⁡ Y A ⁡ X
48 21 47 rspcimdv ⊢ φ ∧ x = X → ∀ y ∈ B ∀ f ∈ x H y A ⁡ y F ⁡ x F ⁡ y · ˙ K ⁡ y x G y ⁡ f = x L y ⁡ f F ⁡ x K ⁡ x · ˙ K ⁡ y A ⁡ x → A ⁡ Y F ⁡ X F ⁡ Y · ˙ K ⁡ Y X G Y ⁡ R = X L Y ⁡ R F ⁡ X K ⁡ X · ˙ K ⁡ Y A ⁡ X
49 6 48 rspcimdv ⊢ φ → ∀ x ∈ B ∀ y ∈ B ∀ f ∈ x H y A ⁡ y F ⁡ x F ⁡ y · ˙ K ⁡ y x G y ⁡ f = x L y ⁡ f F ⁡ x K ⁡ x · ˙ K ⁡ y A ⁡ x → A ⁡ Y F ⁡ X F ⁡ Y · ˙ K ⁡ Y X G Y ⁡ R = X L Y ⁡ R F ⁡ X K ⁡ X · ˙ K ⁡ Y A ⁡ X
50 20 49 mpd ⊢ φ → A ⁡ Y F ⁡ X F ⁡ Y · ˙ K ⁡ Y X G Y ⁡ R = X L Y ⁡ R F ⁡ X K ⁡ X · ˙ K ⁡ Y A ⁡ X