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

Theorem coapm 18163
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 2760 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41, 2, 3coafval 18156 . . . . 5 · = (𝑔𝐴, 𝑓 ∈ {𝐴 ∣ (coda) = (doma𝑔)} ↦ ⟨(doma𝑓), (coda𝑔), ((2nd𝑔)(⟨(doma𝑓), (doma𝑔)⟩(comp‘𝐶)(coda𝑔))(2nd𝑓))⟩)
54mpofun 7538 . . . 4 Fun ·
6 funfn 6564 . . . 4 (Fun ·· Fn dom · )
75, 6mpbi 233 . . 3 · Fn dom ·
81, 2dmcoass 18158 . . . . . . . . 9 dom · ⊆ (𝐴 × 𝐴)
98sseli 3927 . . . . . . . 8 (𝑧 ∈ dom ·𝑧 ∈ (𝐴 × 𝐴))
10 1st2nd2 8026 . . . . . . . 8 (𝑧 ∈ (𝐴 × 𝐴) → 𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
119, 10syl 18 . . . . . . 7 (𝑧 ∈ dom ·𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
1211fveq2d 6883 . . . . . 6 (𝑧 ∈ dom · → ( ·𝑧) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩))
13 df-ov 7417 . . . . . 6 ((1st𝑧) · (2nd𝑧)) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩)
1412, 13eqtr4di 2813 . . . . 5 (𝑧 ∈ dom · → ( ·𝑧) = ((1st𝑧) · (2nd𝑧)))
15 eqid 2760 . . . . . . 7 (Homa𝐶) = (Homa𝐶)
162, 15homarw 18138 . . . . . 6 ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))) ⊆ 𝐴
17 id 23 . . . . . . . . . . . . 13 (𝑧 ∈ dom ·𝑧 ∈ dom · )
1811, 17eqeltrrd 2861 . . . . . . . . . . . 12 (𝑧 ∈ dom · → ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
19 df-br 5104 . . . . . . . . . . . 12 ((1st𝑧)dom · (2nd𝑧) ↔ ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
2018, 19sylibr 237 . . . . . . . . . . 11 (𝑧 ∈ dom · → (1st𝑧)dom · (2nd𝑧))
211, 2eldmcoa 18157 . . . . . . . . . . 11 ((1st𝑧)dom · (2nd𝑧) ↔ ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2220, 21sylib 221 . . . . . . . . . 10 (𝑧 ∈ dom · → ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2322simp1d 1160 . . . . . . . . 9 (𝑧 ∈ dom · → (2nd𝑧) ∈ 𝐴)
242, 15arwhoma 18137 . . . . . . . . 9 ((2nd𝑧) ∈ 𝐴 → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2523, 24syl 18 . . . . . . . 8 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2622simp3d 1162 . . . . . . . . 9 (𝑧 ∈ dom · → (coda‘(2nd𝑧)) = (doma‘(1st𝑧)))
2726oveq2d 7430 . . . . . . . 8 (𝑧 ∈ dom · → ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))) = ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2825, 27eleqtrd 2862 . . . . . . 7 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2922simp2d 1161 . . . . . . . 8 (𝑧 ∈ dom · → (1st𝑧) ∈ 𝐴)
302, 15arwhoma 18137 . . . . . . . 8 ((1st𝑧) ∈ 𝐴 → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3129, 30syl 18 . . . . . . 7 (𝑧 ∈ dom · → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
321, 15, 28, 31coahom 18162 . . . . . 6 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3316, 32sselid 3929 . . . . 5 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ 𝐴)
3414, 33eqeltrd 2860 . . . 4 (𝑧 ∈ dom · → ( ·𝑧) ∈ 𝐴)
3534rgen 3078 . . 3 𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴
36 ffnfv 7113 . . 3 ( · :dom ·𝐴 ↔ ( · Fn dom · ∧ ∀𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴))
377, 35, 36mpbir2an 724 . 2 · :dom ·𝐴
382fvexi 6893 . . 3 𝐴 ∈ V
3938, 38xpex 7753 . . 3 (𝐴 × 𝐴) ∈ V
4038, 39elpm2 8884 . 2 ( · ∈ (𝐴pm (𝐴 × 𝐴)) ↔ ( · :dom ·𝐴 ∧ dom · ⊆ (𝐴 × 𝐴)))
4137, 8, 40mpbir2an 724 1 · ∈ (𝐴pm (𝐴 × 𝐴))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  w3a 1103   = wceq 1570  wcel 2145  wral 3076  {crab 3412  wss 3899  cop 4590  cotp 4592   class class class wbr 5103   × cxp 5653  dom cdm 5655  Fun wfun 6527   Fn wfn 6528  wf 6529  cfv 6533  (class class class)co 7414  1st c1st 7985  2nd c2nd 7986  pm cpm 8830  compcco 17357  domacdoma 18112  codaccoda 18113  Arrowcarw 18114  Homachoma 18115  compaccoa 18146
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5232  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7737
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-ot 4593  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5550  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-ov 7417  df-oprab 7418  df-mpo 7419  df-1st 7987  df-2nd 7988  df-pm 8832  df-cat 17759  df-doma 18116  df-coda 18117  df-homa 18118  df-arw 18119  df-coa 18148
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator