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

Theorem isfuncd 17129
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 6678 . . . . 5 𝐵 ∈ V
54, 4xpex 7470 . . . 4 (𝐵 × 𝐵) ∈ V
6 fnex 6974 . . . 4 ((𝐺 Fn (𝐵 × 𝐵) ∧ (𝐵 × 𝐵) ∈ V) → 𝐺 ∈ V)
72, 5, 6sylancl 588 . . 3 (𝜑𝐺 ∈ V)
8 isfuncd.3 . . . . . 6 ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐺𝑦):(𝑥𝐻𝑦)⟶((𝐹𝑥)𝐽(𝐹𝑦)))
9 ovex 7183 . . . . . . 7 ((𝐹𝑥)𝐽(𝐹𝑦)) ∈ V
10 ovex 7183 . . . . . . 7 (𝑥𝐻𝑦) ∈ V
119, 10elmap 8429 . . . . . 6 ((𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)) ↔ (𝑥𝐺𝑦):(𝑥𝐻𝑦)⟶((𝐹𝑥)𝐽(𝐹𝑦)))
128, 11sylibr 236 . . . . 5 ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
1312ralrimivva 3191 . . . 4 (𝜑 → ∀𝑥𝐵𝑦𝐵 (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
14 fveq2 6664 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐺𝑧) = (𝐺‘⟨𝑥, 𝑦⟩))
15 df-ov 7153 . . . . . . 7 (𝑥𝐺𝑦) = (𝐺‘⟨𝑥, 𝑦⟩)
1614, 15syl6eqr 2874 . . . . . 6 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐺𝑧) = (𝑥𝐺𝑦))
17 vex 3497 . . . . . . . . . 10 𝑥 ∈ V
18 vex 3497 . . . . . . . . . 10 𝑦 ∈ V
1917, 18op1std 7693 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (1st𝑧) = 𝑥)
2019fveq2d 6668 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐹‘(1st𝑧)) = (𝐹𝑥))
2117, 18op2ndd 7694 . . . . . . . . 9 (𝑧 = ⟨𝑥, 𝑦⟩ → (2nd𝑧) = 𝑦)
2221fveq2d 6668 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐹‘(2nd𝑧)) = (𝐹𝑦))
2320, 22oveq12d 7168 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → ((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) = ((𝐹𝑥)𝐽(𝐹𝑦)))
24 fveq2 6664 . . . . . . . 8 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐻𝑧) = (𝐻‘⟨𝑥, 𝑦⟩))
25 df-ov 7153 . . . . . . . 8 (𝑥𝐻𝑦) = (𝐻‘⟨𝑥, 𝑦⟩)
2624, 25syl6eqr 2874 . . . . . . 7 (𝑧 = ⟨𝑥, 𝑦⟩ → (𝐻𝑧) = (𝑥𝐻𝑦))
2723, 26oveq12d 7168 . . . . . 6 (𝑧 = ⟨𝑥, 𝑦⟩ → (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) = (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
2816, 27eleq12d 2907 . . . . 5 (𝑧 = ⟨𝑥, 𝑦⟩ → ((𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦))))
2928ralxp 5706 . . . 4 (∀𝑧 ∈ (𝐵 × 𝐵)(𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ ∀𝑥𝐵𝑦𝐵 (𝑥𝐺𝑦) ∈ (((𝐹𝑥)𝐽(𝐹𝑦)) ↑m (𝑥𝐻𝑦)))
3013, 29sylibr 236 . . 3 (𝜑 → ∀𝑧 ∈ (𝐵 × 𝐵)(𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)))
31 elixp2 8459 . . 3 (𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ (𝐺 ∈ V ∧ 𝐺 Fn (𝐵 × 𝐵) ∧ ∀𝑧 ∈ (𝐵 × 𝐵)(𝐺𝑧) ∈ (((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧))))
327, 2, 30, 31syl3anbrc 1339 . 2 (𝜑𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)))
33 isfuncd.4 . . . 4 ((𝜑𝑥𝐵) → ((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)))
34 isfuncd.5 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑧𝐵) ∧ (𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧))) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
35343expia 1117 . . . . . . . 8 ((𝜑 ∧ (𝑥𝐵𝑦𝐵𝑧𝐵)) → ((𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧)) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
36353exp2 1350 . . . . . . 7 (𝜑 → (𝑥𝐵 → (𝑦𝐵 → (𝑧𝐵 → ((𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧)) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))))))
3736imp43 430 . . . . . 6 (((𝜑𝑥𝐵) ∧ (𝑦𝐵𝑧𝐵)) → ((𝑚 ∈ (𝑥𝐻𝑦) ∧ 𝑛 ∈ (𝑦𝐻𝑧)) → ((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
3837ralrimivv 3190 . . . . 5 (((𝜑𝑥𝐵) ∧ (𝑦𝐵𝑧𝐵)) → ∀𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
3938ralrimivva 3191 . . . 4 ((𝜑𝑥𝐵) → ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚)))
4033, 39jca 514 . . 3 ((𝜑𝑥𝐵) → (((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)) ∧ ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))
4140ralrimiva 3182 . 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 17128 . 2 (𝜑 → (𝐹(𝐷 Func 𝐸)𝐺 ↔ (𝐹:𝐵𝐶𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ∧ ∀𝑥𝐵 (((𝑥𝐺𝑥)‘( 1𝑥)) = (𝐼‘(𝐹𝑥)) ∧ ∀𝑦𝐵𝑧𝐵𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝐺𝑧)‘(𝑛(⟨𝑥, 𝑦· 𝑧)𝑚)) = (((𝑦𝐺𝑧)‘𝑛)(⟨(𝐹𝑥), (𝐹𝑦)⟩𝑂(𝐹𝑧))((𝑥𝐺𝑦)‘𝑚))))))
521, 32, 41, 51mpbir3and 1338 1 (𝜑𝐹(𝐷 Func 𝐸)𝐺)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 398  w3a 1083   = wceq 1533  wcel 2110  wral 3138  Vcvv 3494  cop 4566   class class class wbr 5058   × cxp 5547   Fn wfn 6344  wf 6345  cfv 6349  (class class class)co 7150  1st c1st 7681  2nd c2nd 7682  m cmap 8400  Xcixp 8455  Basecbs 16477  Hom chom 16570  compcco 16571  Catccat 16929  Idccid 16930   Func cfunc 17118
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1792  ax-4 1806  ax-5 1907  ax-6 1966  ax-7 2011  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2157  ax-12 2173  ax-ext 2793  ax-rep 5182  ax-sep 5195  ax-nul 5202  ax-pow 5258  ax-pr 5321  ax-un 7455
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3an 1085  df-tru 1536  df-ex 1777  df-nf 1781  df-sb 2066  df-mo 2618  df-eu 2650  df-clab 2800  df-cleq 2814  df-clel 2893  df-nfc 2963  df-ne 3017  df-ral 3143  df-rex 3144  df-reu 3145  df-rab 3147  df-v 3496  df-sbc 3772  df-csb 3883  df-dif 3938  df-un 3940  df-in 3942  df-ss 3951  df-nul 4291  df-if 4467  df-pw 4540  df-sn 4561  df-pr 4563  df-op 4567  df-uni 4832  df-iun 4913  df-br 5059  df-opab 5121  df-mpt 5139  df-id 5454  df-xp 5555  df-rel 5556  df-cnv 5557  df-co 5558  df-dm 5559  df-rn 5560  df-res 5561  df-ima 5562  df-iota 6308  df-fun 6351  df-fn 6352  df-f 6353  df-f1 6354  df-fo 6355  df-f1o 6356  df-fv 6357  df-ov 7153  df-oprab 7154  df-mpo 7155  df-1st 7683  df-2nd 7684  df-map 8402  df-ixp 8456  df-func 17122
This theorem is referenced by:  funcoppc  17139  funcres  17160  catcisolem  17360  funcestrcsetc  17393  funcsetcestrc  17408  1stfcl  17441  2ndfcl  17442  prfcl  17447  evlfcl  17466  curf1cl  17472  curfcl  17476  hofcl  17503  funcringcsetcALTV2  44310  funcringcsetcALTV  44333
  Copyright terms: Public domain W3C validator