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

Theorem isfuncd 17801
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 6856 . . . . 5 𝐵 ∈ V
54, 4xpex 7708 . . . 4 (𝐵 × 𝐵) ∈ V
6 fnex 7173 . . . 4 ((𝐺 Fn (𝐵 × 𝐵) ∧ (𝐵 × 𝐵) ∈ V) → 𝐺 ∈ V)
72, 5, 6sylancl 587 . . 3 (𝜑𝐺 ∈ V)
8 isfuncd.3 . . . . . 6 ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐺𝑦):(𝑥𝐻𝑦)⟶((𝐹𝑥)𝐽(𝐹𝑦)))
9 ovex 7401 . . . . . . 7 ((𝐹𝑥)𝐽(𝐹𝑦)) ∈ V
10 ovex 7401 . . . . . . 7 (𝑥𝐻𝑦) ∈ V
119, 10elmap 8821 . . . . . 6 ((𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)) ↔ (𝑥𝐺𝑦):(𝑥𝐻𝑦)⟶((𝐹𝑥)𝐽(𝐹𝑦)))
128, 11sylibr 234 . . . . 5 ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
1312ralrimivva 3181 . . . 4 (𝜑 → ∀𝑥𝐵𝑦𝐵 (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
14 fveq2 6842 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐺𝑧) = (𝐺‘⟨𝑥, 𝑦⟩))
15 df-ov 7371 . . . . . . 7 (𝑥𝐺𝑦) = (𝐺‘⟨𝑥, 𝑦⟩)
1614, 15eqtr4di 2790 . . . . . 6 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐺𝑧) = (𝑥𝐺𝑦))
17 vex 3446 . . . . . . . . . 10 𝑥 ∈ V
18 vex 3446 . . . . . . . . . 10 𝑦 ∈ V
1917, 18op1std 7953 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (1st𝑧) = 𝑥)
2019fveq2d 6846 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐹‘(1st𝑧)) = (𝐹𝑥))
2117, 18op2ndd 7954 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (2nd𝑧) = 𝑦)
2221fveq2d 6846 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐹‘(2nd𝑧)) = (𝐹𝑦))
2320, 22oveq12d 7386 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → ((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) = ((𝐹𝑥)𝐽(𝐹𝑦)))
24 fveq2 6842 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐻𝑧) = (𝐻‘⟨𝑥, 𝑦⟩))
25 df-ov 7371 . . . . . . . 8 (𝑥𝐻𝑦) = (𝐻‘⟨𝑥, 𝑦⟩)
2624, 25eqtr4di 2790 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐻𝑧) = (𝑥𝐻𝑦))
2723, 26oveq12d 7386 . . . . . 6 (𝑧 = ⟨𝑥, 𝑦⟩ → (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) = (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
2816, 27eleq12d 2831 . . . . 5 (𝑧 = ⟨𝑥, 𝑦⟩ → ((𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦))))
2928ralxp 5798 . . . 4 (∀𝑧 ∈ (𝐵 × 𝐵)(𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ ∀𝑥𝐵𝑦𝐵 (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
3013, 29sylibr 234 . . 3 (𝜑 → ∀𝑧 ∈ (𝐵 × 𝐵)(𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)))
31 elixp2 8851 . . 3 (𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ (𝐺 ∈ V ∧ 𝐺 Fn (𝐵 × 𝐵) ∧ ∀𝑧 ∈ (𝐵 × 𝐵)(𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧))))
327, 2, 30, 31syl3anbrc 1345 . 2 (𝜑𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)))
33 isfuncd.4 . . . 4 ((𝜑𝑥𝐵) → ((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)))
34 isfuncd.5 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑧𝐵) ∧ (𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧))) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
35343expia 1122 . . . . . . . 8 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑧𝐵)) → ((𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧)) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
36353exp2 1356 . . . . . . 7 (𝜑 → (𝑥𝐵 → (𝑦𝐵 → (𝑧𝐵 → ((𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧)) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))))))
3736imp43 427 . . . . . 6 (((𝜑𝑥𝐵) ∧ (𝑦𝐵𝑧𝐵)) → ((𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧)) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
3837ralrimivv 3179 . . . . 5 (((𝜑𝑥𝐵) ∧ (𝑦𝐵𝑧𝐵)) → ∀𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
3938ralrimivva 3181 . . . 4 ((𝜑𝑥𝐵) → ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
4033, 39jca 511 . . 3 ((𝜑𝑥𝐵) → (((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)) ∧ ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
4140ralrimiva 3130 . 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 17800 . 2 (𝜑 → (𝐹(𝐷 Func 𝐸)𝐺 ↔ (𝐹:𝐵𝐶𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ∧ ∀𝑥𝐵 (((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)) ∧ ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))))
521, 32, 41, 51mpbir3and 1344 1 (𝜑𝐹(𝐷 Func 𝐸)𝐺)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395  w3a 1087   = wceq 1542  wcel 2114  wral 3052  Vcvv 3442  cop 4588   class class class wbr 5100   × cxp 5630   Fn wfn 6495  wf 6496  cfv 6500  (class class class)co 7368  1st c1st 7941  2nd c2nd 7942  m cmap 8775  Xcixp 8847  Basecbs 17148  Hom chom 17200  compcco 17201  Catccat 17599  Idccid 17600   Func cfunc 17790
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5226  ax-sep 5243  ax-nul 5253  ax-pow 5312  ax-pr 5379  ax-un 7690
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3063  df-reu 3353  df-rab 3402  df-v 3444  df-sbc 3743  df-csb 3852  df-dif 3906  df-un 3908  df-in 3910  df-ss 3920  df-nul 4288  df-if 4482  df-pw 4558  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-iun 4950  df-br 5101  df-opab 5163  df-mpt 5182  df-id 5527  df-xp 5638  df-rel 5639  df-cnv 5640  df-co 5641  df-dm 5642  df-rn 5643  df-res 5644  df-ima 5645  df-iota 6456  df-fun 6502  df-fn 6503  df-f 6504  df-f1 6505  df-fo 6506  df-f1o 6507  df-fv 6508  df-ov 7371  df-oprab 7372  df-mpo 7373  df-1st 7943  df-2nd 7944  df-map 8777  df-ixp 8848  df-func 17794
This theorem is referenced by:  funcoppc  17811  funcres  17832  catcisolem  18046  funcestrcsetc  18084  funcsetcestrc  18099  1stfcl  18132  2ndfcl  18133  prfcl  18138  evlfcl  18157  curf1cl  18163  curfcl  18167  hofcl  18194  funcringcsetcALTV2  48659  funcringcsetcALTV  48682  swapffunc  49641  fucofunc  49718  fucoppc  49769
  Copyright terms: Public domain W3C validator