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

Theorem coapm 17786
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 2738 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41, 2, 3coafval 17779 . . . . 5 · = (𝑔𝐴, 𝑓 ∈ {𝐴 ∣ (coda) = (doma𝑔)} ↦ ⟨(doma𝑓), (coda𝑔), ((2nd𝑔)(⟨(doma𝑓), (doma𝑔)⟩(comp‘𝐶)(coda𝑔))(2nd𝑓))⟩)
54mpofun 7398 . . . 4 Fun ·
6 funfn 6464 . . . 4 (Fun ·· Fn dom · )
75, 6mpbi 229 . . 3 · Fn dom ·
81, 2dmcoass 17781 . . . . . . . . 9 dom · ⊆ (𝐴 × 𝐴)
98sseli 3917 . . . . . . . 8 (𝑧 ∈ dom ·𝑧 ∈ (𝐴 × 𝐴))
10 1st2nd2 7870 . . . . . . . 8 (𝑧 ∈ (𝐴 × 𝐴) → 𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
119, 10syl 17 . . . . . . 7 (𝑧 ∈ dom ·𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
1211fveq2d 6778 . . . . . 6 (𝑧 ∈ dom · → ( ·𝑧) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩))
13 df-ov 7278 . . . . . 6 ((1st𝑧) · (2nd𝑧)) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩)
1412, 13eqtr4di 2796 . . . . 5 (𝑧 ∈ dom · → ( ·𝑧) = ((1st𝑧) · (2nd𝑧)))
15 eqid 2738 . . . . . . 7 (Homa𝐶) = (Homa𝐶)
162, 15homarw 17761 . . . . . 6 ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))) ⊆ 𝐴
17 id 22 . . . . . . . . . . . . 13 (𝑧 ∈ dom ·𝑧 ∈ dom · )
1811, 17eqeltrrd 2840 . . . . . . . . . . . 12 (𝑧 ∈ dom · → ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
19 df-br 5075 . . . . . . . . . . . 12 ((1st𝑧)dom · (2nd𝑧) ↔ ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
2018, 19sylibr 233 . . . . . . . . . . 11 (𝑧 ∈ dom · → (1st𝑧)dom · (2nd𝑧))
211, 2eldmcoa 17780 . . . . . . . . . . 11 ((1st𝑧)dom · (2nd𝑧) ↔ ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2220, 21sylib 217 . . . . . . . . . 10 (𝑧 ∈ dom · → ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2322simp1d 1141 . . . . . . . . 9 (𝑧 ∈ dom · → (2nd𝑧) ∈ 𝐴)
242, 15arwhoma 17760 . . . . . . . . 9 ((2nd𝑧) ∈ 𝐴 → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2523, 24syl 17 . . . . . . . 8 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2622simp3d 1143 . . . . . . . . 9 (𝑧 ∈ dom · → (coda‘(2nd𝑧)) = (doma‘(1st𝑧)))
2726oveq2d 7291 . . . . . . . 8 (𝑧 ∈ dom · → ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))) = ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2825, 27eleqtrd 2841 . . . . . . 7 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2922simp2d 1142 . . . . . . . 8 (𝑧 ∈ dom · → (1st𝑧) ∈ 𝐴)
302, 15arwhoma 17760 . . . . . . . 8 ((1st𝑧) ∈ 𝐴 → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3129, 30syl 17 . . . . . . 7 (𝑧 ∈ dom · → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
321, 15, 28, 31coahom 17785 . . . . . 6 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3316, 32sselid 3919 . . . . 5 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ 𝐴)
3414, 33eqeltrd 2839 . . . 4 (𝑧 ∈ dom · → ( ·𝑧) ∈ 𝐴)
3534rgen 3074 . . 3 𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴
36 ffnfv 6992 . . 3 ( · :dom ·𝐴 ↔ ( · Fn dom · ∧ ∀𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴))
377, 35, 36mpbir2an 708 . 2 · :dom ·𝐴
382fvexi 6788 . . 3 𝐴 ∈ V
3938, 38xpex 7603 . . 3 (𝐴 × 𝐴) ∈ V
4038, 39elpm2 8662 . 2 ( · ∈ (𝐴pm (𝐴 × 𝐴)) ↔ ( · :dom ·𝐴 ∧ dom · ⊆ (𝐴 × 𝐴)))
4137, 8, 40mpbir2an 708 1 · ∈ (𝐴pm (𝐴 × 𝐴))
Colors of variables: wff setvar class
Syntax hints:  w3a 1086   = wceq 1539  wcel 2106  wral 3064  {crab 3068  wss 3887  cop 4567  cotp 4569   class class class wbr 5074   × cxp 5587  dom cdm 5589  Fun wfun 6427   Fn wfn 6428  wf 6429  cfv 6433  (class class class)co 7275  1st c1st 7829  2nd c2nd 7830  pm cpm 8616  compcco 16974  domacdoma 17735  codaccoda 17736  Arrowcarw 17737  Homachoma 17738  compaccoa 17769
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2709  ax-rep 5209  ax-sep 5223  ax-nul 5230  ax-pow 5288  ax-pr 5352  ax-un 7588
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2068  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2816  df-nfc 2889  df-ne 2944  df-ral 3069  df-rex 3070  df-reu 3072  df-rab 3073  df-v 3434  df-sbc 3717  df-csb 3833  df-dif 3890  df-un 3892  df-in 3894  df-ss 3904  df-nul 4257  df-if 4460  df-pw 4535  df-sn 4562  df-pr 4564  df-op 4568  df-ot 4570  df-uni 4840  df-iun 4926  df-br 5075  df-opab 5137  df-mpt 5158  df-id 5489  df-xp 5595  df-rel 5596  df-cnv 5597  df-co 5598  df-dm 5599  df-rn 5600  df-res 5601  df-ima 5602  df-iota 6391  df-fun 6435  df-fn 6436  df-f 6437  df-f1 6438  df-fo 6439  df-f1o 6440  df-fv 6441  df-ov 7278  df-oprab 7279  df-mpo 7280  df-1st 7831  df-2nd 7832  df-pm 8618  df-cat 17377  df-doma 17739  df-coda 17740  df-homa 17741  df-arw 17742  df-coa 17771
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator