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

Theorem coapm 18033
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 2729 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41, 2, 3coafval 18026 . . . . 5 · = (𝑔𝐴, 𝑓 ∈ {𝐴 ∣ (coda) = (doma𝑔)} ↦ ⟨(doma𝑓), (coda𝑔), ((2nd𝑔)(⟨(doma𝑓), (doma𝑔)⟩(comp‘𝐶)(coda𝑔))(2nd𝑓))⟩)
54mpofun 7513 . . . 4 Fun ·
6 funfn 6546 . . . 4 (Fun ·· Fn dom · )
75, 6mpbi 230 . . 3 · Fn dom ·
81, 2dmcoass 18028 . . . . . . . . 9 dom · ⊆ (𝐴 × 𝐴)
98sseli 3942 . . . . . . . 8 (𝑧 ∈ dom ·𝑧 ∈ (𝐴 × 𝐴))
10 1st2nd2 8007 . . . . . . . 8 (𝑧 ∈ (𝐴 × 𝐴) → 𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
119, 10syl 17 . . . . . . 7 (𝑧 ∈ dom ·𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
1211fveq2d 6862 . . . . . 6 (𝑧 ∈ dom · → ( ·𝑧) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩))
13 df-ov 7390 . . . . . 6 ((1st𝑧) · (2nd𝑧)) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩)
1412, 13eqtr4di 2782 . . . . 5 (𝑧 ∈ dom · → ( ·𝑧) = ((1st𝑧) · (2nd𝑧)))
15 eqid 2729 . . . . . . 7 (Homa𝐶) = (Homa𝐶)
162, 15homarw 18008 . . . . . 6 ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))) ⊆ 𝐴
17 id 22 . . . . . . . . . . . . 13 (𝑧 ∈ dom ·𝑧 ∈ dom · )
1811, 17eqeltrrd 2829 . . . . . . . . . . . 12 (𝑧 ∈ dom · → ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
19 df-br 5108 . . . . . . . . . . . 12 ((1st𝑧)dom · (2nd𝑧) ↔ ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
2018, 19sylibr 234 . . . . . . . . . . 11 (𝑧 ∈ dom · → (1st𝑧)dom · (2nd𝑧))
211, 2eldmcoa 18027 . . . . . . . . . . 11 ((1st𝑧)dom · (2nd𝑧) ↔ ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2220, 21sylib 218 . . . . . . . . . 10 (𝑧 ∈ dom · → ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2322simp1d 1142 . . . . . . . . 9 (𝑧 ∈ dom · → (2nd𝑧) ∈ 𝐴)
242, 15arwhoma 18007 . . . . . . . . 9 ((2nd𝑧) ∈ 𝐴 → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2523, 24syl 17 . . . . . . . 8 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2622simp3d 1144 . . . . . . . . 9 (𝑧 ∈ dom · → (coda‘(2nd𝑧)) = (doma‘(1st𝑧)))
2726oveq2d 7403 . . . . . . . 8 (𝑧 ∈ dom · → ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))) = ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2825, 27eleqtrd 2830 . . . . . . 7 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2922simp2d 1143 . . . . . . . 8 (𝑧 ∈ dom · → (1st𝑧) ∈ 𝐴)
302, 15arwhoma 18007 . . . . . . . 8 ((1st𝑧) ∈ 𝐴 → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3129, 30syl 17 . . . . . . 7 (𝑧 ∈ dom · → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
321, 15, 28, 31coahom 18032 . . . . . 6 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3316, 32sselid 3944 . . . . 5 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ 𝐴)
3414, 33eqeltrd 2828 . . . 4 (𝑧 ∈ dom · → ( ·𝑧) ∈ 𝐴)
3534rgen 3046 . . 3 𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴
36 ffnfv 7091 . . 3 ( · :dom ·𝐴 ↔ ( · Fn dom · ∧ ∀𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴))
377, 35, 36mpbir2an 711 . 2 · :dom ·𝐴
382fvexi 6872 . . 3 𝐴 ∈ V
3938, 38xpex 7729 . . 3 (𝐴 × 𝐴) ∈ V
4038, 39elpm2 8847 . 2 ( · ∈ (𝐴pm (𝐴 × 𝐴)) ↔ ( · :dom ·𝐴 ∧ dom · ⊆ (𝐴 × 𝐴)))
4137, 8, 40mpbir2an 711 1 · ∈ (𝐴pm (𝐴 × 𝐴))
Colors of variables: wff setvar class
Syntax hints:  w3a 1086   = wceq 1540  wcel 2109  wral 3044  {crab 3405  wss 3914  cop 4595  cotp 4597   class class class wbr 5107   × cxp 5636  dom cdm 5638  Fun wfun 6505   Fn wfn 6506  wf 6507  cfv 6511  (class class class)co 7387  1st c1st 7966  2nd c2nd 7967  pm cpm 8800  compcco 17232  domacdoma 17982  codaccoda 17983  Arrowcarw 17984  Homachoma 17985  compaccoa 18016
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-rep 5234  ax-sep 5251  ax-nul 5261  ax-pow 5320  ax-pr 5387  ax-un 7711
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-ral 3045  df-rex 3054  df-reu 3355  df-rab 3406  df-v 3449  df-sbc 3754  df-csb 3863  df-dif 3917  df-un 3919  df-in 3921  df-ss 3931  df-nul 4297  df-if 4489  df-pw 4565  df-sn 4590  df-pr 4592  df-op 4596  df-ot 4598  df-uni 4872  df-iun 4957  df-br 5108  df-opab 5170  df-mpt 5189  df-id 5533  df-xp 5644  df-rel 5645  df-cnv 5646  df-co 5647  df-dm 5648  df-rn 5649  df-res 5650  df-ima 5651  df-iota 6464  df-fun 6513  df-fn 6514  df-f 6515  df-f1 6516  df-fo 6517  df-f1o 6518  df-fv 6519  df-ov 7390  df-oprab 7391  df-mpo 7392  df-1st 7968  df-2nd 7969  df-pm 8802  df-cat 17629  df-doma 17986  df-coda 17987  df-homa 17988  df-arw 17989  df-coa 18018
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator