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

Theorem coapm 18032
Description: Composition of arrows is a partial binary operation on arrows. (Contributed by Mario Carneiro, 11-Jan-2017.)
Hypotheses
Ref Expression
coapm.o · = (compa𝐶)
coapm.a 𝐴 = (Arrow‘𝐶)
Assertion
Ref Expression
coapm · ∈ (𝐴pm (𝐴 × 𝐴))

Proof of Theorem coapm
Dummy variables 𝑓 𝑔 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 coapm.o . . . . . 6 · = (compa𝐶)
2 coapm.a . . . . . 6 𝐴 = (Arrow‘𝐶)
3 eqid 2737 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41, 2, 3coafval 18025 . . . . 5 · = (𝑔𝐴, 𝑓 ∈ {𝐴 ∣ (coda) = (doma𝑔)} ↦ ⟨(doma𝑓), (coda𝑔), ((2nd𝑔)(⟨(doma𝑓), (doma𝑔)⟩(comp‘𝐶)(coda𝑔))(2nd𝑓))⟩)
54mpofun 7485 . . . 4 Fun ·
6 funfn 6523 . . . 4 (Fun ·· Fn dom · )
75, 6mpbi 230 . . 3 · Fn dom ·
81, 2dmcoass 18027 . . . . . . . . 9 dom · ⊆ (𝐴 × 𝐴)
98sseli 3918 . . . . . . . 8 (𝑧 ∈ dom ·𝑧 ∈ (𝐴 × 𝐴))
10 1st2nd2 7975 . . . . . . . 8 (𝑧 ∈ (𝐴 × 𝐴) → 𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
119, 10syl 17 . . . . . . 7 (𝑧 ∈ dom ·𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
1211fveq2d 6839 . . . . . 6 (𝑧 ∈ dom · → ( ·𝑧) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩))
13 df-ov 7364 . . . . . 6 ((1st𝑧) · (2nd𝑧)) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩)
1412, 13eqtr4di 2790 . . . . 5 (𝑧 ∈ dom · → ( ·𝑧) = ((1st𝑧) · (2nd𝑧)))
15 eqid 2737 . . . . . . 7 (Homa𝐶) = (Homa𝐶)
162, 15homarw 18007 . . . . . 6 ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))) ⊆ 𝐴
17 id 22 . . . . . . . . . . . . 13 (𝑧 ∈ dom ·𝑧 ∈ dom · )
1811, 17eqeltrrd 2838 . . . . . . . . . . . 12 (𝑧 ∈ dom · → ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
19 df-br 5087 . . . . . . . . . . . 12 ((1st𝑧)dom · (2nd𝑧) ↔ ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
2018, 19sylibr 234 . . . . . . . . . . 11 (𝑧 ∈ dom · → (1st𝑧)dom · (2nd𝑧))
211, 2eldmcoa 18026 . . . . . . . . . . 11 ((1st𝑧)dom · (2nd𝑧) ↔ ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2220, 21sylib 218 . . . . . . . . . 10 (𝑧 ∈ dom · → ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2322simp1d 1143 . . . . . . . . 9 (𝑧 ∈ dom · → (2nd𝑧) ∈ 𝐴)
242, 15arwhoma 18006 . . . . . . . . 9 ((2nd𝑧) ∈ 𝐴 → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2523, 24syl 17 . . . . . . . 8 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2622simp3d 1145 . . . . . . . . 9 (𝑧 ∈ dom · → (coda‘(2nd𝑧)) = (doma‘(1st𝑧)))
2726oveq2d 7377 . . . . . . . 8 (𝑧 ∈ dom · → ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))) = ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2825, 27eleqtrd 2839 . . . . . . 7 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2922simp2d 1144 . . . . . . . 8 (𝑧 ∈ dom · → (1st𝑧) ∈ 𝐴)
302, 15arwhoma 18006 . . . . . . . 8 ((1st𝑧) ∈ 𝐴 → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3129, 30syl 17 . . . . . . 7 (𝑧 ∈ dom · → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
321, 15, 28, 31coahom 18031 . . . . . 6 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3316, 32sselid 3920 . . . . 5 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ 𝐴)
3414, 33eqeltrd 2837 . . . 4 (𝑧 ∈ dom · → ( ·𝑧) ∈ 𝐴)
3534rgen 3054 . . 3 𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴
36 ffnfv 7066 . . 3 ( · :dom ·𝐴 ↔ ( · Fn dom · ∧ ∀𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴))
377, 35, 36mpbir2an 712 . 2 · :dom ·𝐴
382fvexi 6849 . . 3 𝐴 ∈ V
3938, 38xpex 7701 . . 3 (𝐴 × 𝐴) ∈ V
4038, 39elpm2 8816 . 2 ( · ∈ (𝐴pm (𝐴 × 𝐴)) ↔ ( · :dom ·𝐴 ∧ dom · ⊆ (𝐴 × 𝐴)))
4137, 8, 40mpbir2an 712 1 · ∈ (𝐴pm (𝐴 × 𝐴))
Colors of variables: wff setvar class
Syntax hints:  w3a 1087   = wceq 1542  wcel 2114  wral 3052  {crab 3390  wss 3890  cop 4574  cotp 4576   class class class wbr 5086   × cxp 5623  dom cdm 5625  Fun wfun 6487   Fn wfn 6488  wf 6489  cfv 6493  (class class class)co 7361  1st c1st 7934  2nd c2nd 7935  pm cpm 8768  compcco 17226  domacdoma 17981  codaccoda 17982  Arrowcarw 17983  Homachoma 17984  compaccoa 18015
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 5213  ax-sep 5232  ax-nul 5242  ax-pow 5303  ax-pr 5371  ax-un 7683
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 3344  df-rab 3391  df-v 3432  df-sbc 3730  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-nul 4275  df-if 4468  df-pw 4544  df-sn 4569  df-pr 4571  df-op 4575  df-ot 4577  df-uni 4852  df-iun 4936  df-br 5087  df-opab 5149  df-mpt 5168  df-id 5520  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-iota 6449  df-fun 6495  df-fn 6496  df-f 6497  df-f1 6498  df-fo 6499  df-f1o 6500  df-fv 6501  df-ov 7364  df-oprab 7365  df-mpo 7366  df-1st 7936  df-2nd 7937  df-pm 8770  df-cat 17628  df-doma 17985  df-coda 17986  df-homa 17987  df-arw 17988  df-coa 18017
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator