MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  isfuncd Structured version   Visualization version   GIF version

Theorem isfuncd 17898
Description: Deduce that an operation is a functor of categories. (Contributed by Mario Carneiro, 4-Jan-2017.)
Hypotheses
Ref Expression
isfunc.b 𝐵 = (Base‘𝐷)
isfunc.c 𝐶 = (Base‘𝐸)
isfunc.h 𝐻 = (Hom ‘𝐷)
isfunc.j 𝐽 = (Hom ‘𝐸)
isfunc.1 1 = (Id‘𝐷)
isfunc.i 𝐼 = (Id‘𝐸)
isfunc.x · = (comp‘𝐷)
isfunc.o 𝑂 = (comp‘𝐸)
isfunc.d (𝜑𝐷 ∈ Cat)
isfunc.e (𝜑𝐸 ∈ Cat)
isfuncd.1 (𝜑𝐹:𝐵𝐶)
isfuncd.2 (𝜑𝐺 Fn (𝐵 × 𝐵))
isfuncd.3 ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐺𝑦):(𝑥𝐻𝑦)⟶((𝐹𝑥)𝐽(𝐹𝑦)))
isfuncd.4 ((𝜑𝑥𝐵) → ((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)))
isfuncd.5 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑧𝐵) ∧ (𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧))) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
Assertion
Ref Expression
isfuncd (𝜑𝐹(𝐷 Func 𝐸)𝐺)
Distinct variable groups:   𝑚,𝑛,𝑥,𝑦,𝑧,𝐵   𝐷,𝑚,𝑛,𝑥,𝑦,𝑧   𝑚,𝐸,𝑛,𝑥,𝑦,𝑧   𝑚,𝐻,𝑛,𝑥,𝑦,𝑧   𝑚,𝐹,𝑛,𝑥,𝑦,𝑧   𝑚,𝐺,𝑛,𝑥,𝑦,𝑧   𝑥,𝐽,𝑦,𝑧   𝜑,𝑚,𝑛,𝑥,𝑦,𝑧
Allowed substitution hints:   𝐶(𝑥,𝑦,𝑧,𝑚,𝑛)   · (𝑥,𝑦,𝑧,𝑚,𝑛)   1 (𝑥,𝑦,𝑧,𝑚,𝑛)   𝐼(𝑥,𝑦,𝑧,𝑚,𝑛)   𝐽(𝑚,𝑛)   𝑂(𝑥,𝑦,𝑧,𝑚,𝑛)

Proof of Theorem isfuncd
StepHypRef Expression
1 isfuncd.1 . 2 (𝜑𝐹:𝐵𝐶)
2 isfuncd.2 . . . 4 (𝜑𝐺 Fn (𝐵 × 𝐵))
3 isfunc.b . . . . . 6 𝐵 = (Base‘𝐷)
43fvexi 6881 . . . . 5 𝐵 ∈ V
54, 4xpex 7736 . . . 4 (𝐵 × 𝐵) ∈ V
6 fnex 7201 . . . 4 ((𝐺 Fn (𝐵 × 𝐵) ∧ (𝐵 × 𝐵) ∈ V) → 𝐺 ∈ V)
72, 5, 6sylancl 595 . . 3 (𝜑𝐺 ∈ V)
8 isfuncd.3 . . . . . 6 ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐺𝑦):(𝑥𝐻𝑦)⟶((𝐹𝑥)𝐽(𝐹𝑦)))
9 ovex 7429 . . . . . . 7 ((𝐹𝑥)𝐽(𝐹𝑦)) ∈ V
10 ovex 7429 . . . . . . 7 (𝑥𝐻𝑦) ∈ V
119, 10elmap 8853 . . . . . 6 ((𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)) ↔ (𝑥𝐺𝑦):(𝑥𝐻𝑦)⟶((𝐹𝑥)𝐽(𝐹𝑦)))
128, 11sylibr 236 . . . . 5 ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
1312ralrimivva 3205 . . . 4 (𝜑 → ∀𝑥𝐵𝑦𝐵 (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
14 fveq2 6867 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐺𝑧) = (𝐺‘⟨𝑥, 𝑦⟩))
15 df-ov 7399 . . . . . . 7 (𝑥𝐺𝑦) = (𝐺‘⟨𝑥, 𝑦⟩)
1614, 15eqtr4di 2815 . . . . . 6 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐺𝑧) = (𝑥𝐺𝑦))
17 vex 3458 . . . . . . . . . 10 𝑥 ∈ V
18 vex 3458 . . . . . . . . . 10 𝑦 ∈ V
1917, 18op1std 7980 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (1st𝑧) = 𝑥)
2019fveq2d 6871 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐹‘(1st𝑧)) = (𝐹𝑥))
2117, 18op2ndd 7981 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (2nd𝑧) = 𝑦)
2221fveq2d 6871 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐹‘(2nd𝑧)) = (𝐹𝑦))
2320, 22oveq12d 7414 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → ((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) = ((𝐹𝑥)𝐽(𝐹𝑦)))
24 fveq2 6867 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐻𝑧) = (𝐻‘⟨𝑥, 𝑦⟩))
25 df-ov 7399 . . . . . . . 8 (𝑥𝐻𝑦) = (𝐻‘⟨𝑥, 𝑦⟩)
2624, 25eqtr4di 2815 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐻𝑧) = (𝑥𝐻𝑦))
2723, 26oveq12d 7414 . . . . . 6 (𝑧 = ⟨𝑥, 𝑦⟩ → (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) = (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
2816, 27eleq12d 2856 . . . . 5 (𝑧 = ⟨𝑥, 𝑦⟩ → ((𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦))))
2928ralxp 5813 . . . 4 (∀𝑧 ∈ (𝐵 × 𝐵)(𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ ∀𝑥𝐵𝑦𝐵 (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
3013, 29sylibr 236 . . 3 (𝜑 → ∀𝑧 ∈ (𝐵 × 𝐵)(𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)))
31 elixp2 8883 . . 3 (𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ (𝐺 ∈ V ∧ 𝐺 Fn (𝐵 × 𝐵) ∧ ∀𝑧 ∈ (𝐵 × 𝐵)(𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧))))
327, 2, 30, 31syl3anbrc 1357 . 2 (𝜑𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)))
33 isfuncd.4 . . . 4 ((𝜑𝑥𝐵) → ((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)))
34 isfuncd.5 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑧𝐵) ∧ (𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧))) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
35343expia 1134 . . . . . . . 8 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑧𝐵)) → ((𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧)) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
36353exp2 1368 . . . . . . 7 (𝜑 → (𝑥𝐵 → (𝑦𝐵 → (𝑧𝐵 → ((𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧)) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))))))
3736imp43 431 . . . . . 6 (((𝜑𝑥𝐵) ∧ (𝑦𝐵𝑧𝐵)) → ((𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧)) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
3837ralrimivv 3203 . . . . 5 (((𝜑𝑥𝐵) ∧ (𝑦𝐵𝑧𝐵)) → ∀𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
3938ralrimivva 3205 . . . 4 ((𝜑𝑥𝐵) → ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
4033, 39jca 519 . . 3 ((𝜑𝑥𝐵) → (((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)) ∧ ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
4140ralrimiva 3154 . 2 (𝜑 → ∀𝑥𝐵 (((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)) ∧ ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
42 isfunc.c . . 3 𝐶 = (Base‘𝐸)
43 isfunc.h . . 3 𝐻 = (Hom ‘𝐷)
44 isfunc.j . . 3 𝐽 = (Hom ‘𝐸)
45 isfunc.1 . . 3 1 = (Id‘𝐷)
46 isfunc.i . . 3 𝐼 = (Id‘𝐸)
47 isfunc.x . . 3 · = (comp‘𝐷)
48 isfunc.o . . 3 𝑂 = (comp‘𝐸)
49 isfunc.d . . 3 (𝜑𝐷 ∈ Cat)
50 isfunc.e . . 3 (𝜑𝐸 ∈ Cat)
513, 42, 43, 44, 45, 46, 47, 48, 49, 50isfunc 17897 . 2 (𝜑 → (𝐹(𝐷 Func 𝐸)𝐺 ↔ (𝐹:𝐵𝐶𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ∧ ∀𝑥𝐵 (((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)) ∧ ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))))
521, 32, 41, 51mpbir3and 1356 1 (𝜑𝐹(𝐷 Func 𝐸)𝐺)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 399  w3a 1098   = wceq 1560  wcel 2142  wral 3076  Vcvv 3454  cop 4588   class class class wbr 5100   × cxp 5645   Fn wfn 6516  wf 6517  cfv 6521  (class class class)co 7396  1st c1st 7968  2nd c2nd 7969  m cmap 8808  Xcixp 8879  Basecbs 17245  Hom chom 17297  compcco 17298  Catccat 17696  Idccid 17697   Func cfunc 17887
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1815  ax-4 1829  ax-5 1930  ax-6 1987  ax-7 2028  ax-8 2144  ax-9 2152  ax-10 2175  ax-11 2191  ax-12 2212  ax-ext 2734  ax-rep 5227  ax-sep 5246  ax-nul 5256  ax-pow 5322  ax-pr 5390  ax-un 7718
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3an 1100  df-tru 1563  df-fal 1573  df-ex 1800  df-nf 1804  df-sb 2091  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3077  df-rex 3087  df-reu 3368  df-rab 3415  df-v 3456  df-sbc 3745  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-nul 4286  df-if 4481  df-pw 4557  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-iun 4951  df-br 5101  df-opab 5163  df-mpt 5182  df-id 5542  df-xp 5653  df-rel 5654  df-cnv 5655  df-co 5656  df-dm 5657  df-rn 5658  df-res 5659  df-ima 5660  df-iota 6477  df-fun 6523  df-fn 6524  df-f 6525  df-f1 6526  df-fo 6527  df-f1o 6528  df-fv 6529  df-ov 7399  df-oprab 7400  df-mpo 7401  df-1st 7970  df-2nd 7971  df-map 8810  df-ixp 8880  df-func 17891
This theorem is referenced by:  funcoppc  17908  funcres  17929  catcisolem  18143  funcestrcsetc  18181  funcsetcestrc  18196  1stfcl  18229  2ndfcl  18230  prfcl  18235  evlfcl  18254  curf1cl  18260  curfcl  18264  hofcl  18291  funcringcsetcALTV2  48918  funcringcsetcALTV  48941  swapffunc  49900  fucofunc  49977  fucoppc  50028
  Copyright terms: Public domain W3C validator