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

Theorem coapm 17323
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 2798 . . . . . 6 (comp‘𝐶) = (comp‘𝐶)
41, 2, 3coafval 17316 . . . . 5 · = (𝑔𝐴, 𝑓 ∈ {𝐴 ∣ (coda) = (doma𝑔)} ↦ ⟨(doma𝑓), (coda𝑔), ((2nd𝑔)(⟨(doma𝑓), (doma𝑔)⟩(comp‘𝐶)(coda𝑔))(2nd𝑓))⟩)
54mpofun 7255 . . . 4 Fun ·
6 funfn 6354 . . . 4 (Fun ·· Fn dom · )
75, 6mpbi 233 . . 3 · Fn dom ·
81, 2dmcoass 17318 . . . . . . . . 9 dom · ⊆ (𝐴 × 𝐴)
98sseli 3911 . . . . . . . 8 (𝑧 ∈ dom ·𝑧 ∈ (𝐴 × 𝐴))
10 1st2nd2 7710 . . . . . . . 8 (𝑧 ∈ (𝐴 × 𝐴) → 𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
119, 10syl 17 . . . . . . 7 (𝑧 ∈ dom ·𝑧 = ⟨(1st𝑧), (2nd𝑧)⟩)
1211fveq2d 6649 . . . . . 6 (𝑧 ∈ dom · → ( ·𝑧) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩))
13 df-ov 7138 . . . . . 6 ((1st𝑧) · (2nd𝑧)) = ( · ‘⟨(1st𝑧), (2nd𝑧)⟩)
1412, 13eqtr4di 2851 . . . . 5 (𝑧 ∈ dom · → ( ·𝑧) = ((1st𝑧) · (2nd𝑧)))
15 eqid 2798 . . . . . . 7 (Homa𝐶) = (Homa𝐶)
162, 15homarw 17298 . . . . . 6 ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))) ⊆ 𝐴
17 id 22 . . . . . . . . . . . . 13 (𝑧 ∈ dom ·𝑧 ∈ dom · )
1811, 17eqeltrrd 2891 . . . . . . . . . . . 12 (𝑧 ∈ dom · → ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
19 df-br 5031 . . . . . . . . . . . 12 ((1st𝑧)dom · (2nd𝑧) ↔ ⟨(1st𝑧), (2nd𝑧)⟩ ∈ dom · )
2018, 19sylibr 237 . . . . . . . . . . 11 (𝑧 ∈ dom · → (1st𝑧)dom · (2nd𝑧))
211, 2eldmcoa 17317 . . . . . . . . . . 11 ((1st𝑧)dom · (2nd𝑧) ↔ ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2220, 21sylib 221 . . . . . . . . . 10 (𝑧 ∈ dom · → ((2nd𝑧) ∈ 𝐴 ∧ (1st𝑧) ∈ 𝐴 ∧ (coda‘(2nd𝑧)) = (doma‘(1st𝑧))))
2322simp1d 1139 . . . . . . . . 9 (𝑧 ∈ dom · → (2nd𝑧) ∈ 𝐴)
242, 15arwhoma 17297 . . . . . . . . 9 ((2nd𝑧) ∈ 𝐴 → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2523, 24syl 17 . . . . . . . 8 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))))
2622simp3d 1141 . . . . . . . . 9 (𝑧 ∈ dom · → (coda‘(2nd𝑧)) = (doma‘(1st𝑧)))
2726oveq2d 7151 . . . . . . . 8 (𝑧 ∈ dom · → ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(2nd𝑧))) = ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2825, 27eleqtrd 2892 . . . . . . 7 (𝑧 ∈ dom · → (2nd𝑧) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(doma‘(1st𝑧))))
2922simp2d 1140 . . . . . . . 8 (𝑧 ∈ dom · → (1st𝑧) ∈ 𝐴)
302, 15arwhoma 17297 . . . . . . . 8 ((1st𝑧) ∈ 𝐴 → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3129, 30syl 17 . . . . . . 7 (𝑧 ∈ dom · → (1st𝑧) ∈ ((doma‘(1st𝑧))(Homa𝐶)(coda‘(1st𝑧))))
321, 15, 28, 31coahom 17322 . . . . . 6 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ ((doma‘(2nd𝑧))(Homa𝐶)(coda‘(1st𝑧))))
3316, 32sseldi 3913 . . . . 5 (𝑧 ∈ dom · → ((1st𝑧) · (2nd𝑧)) ∈ 𝐴)
3414, 33eqeltrd 2890 . . . 4 (𝑧 ∈ dom · → ( ·𝑧) ∈ 𝐴)
3534rgen 3116 . . 3 𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴
36 ffnfv 6859 . . 3 ( · :dom ·𝐴 ↔ ( · Fn dom · ∧ ∀𝑧 ∈ dom · ( ·𝑧) ∈ 𝐴))
377, 35, 36mpbir2an 710 . 2 · :dom ·𝐴
382fvexi 6659 . . 3 𝐴 ∈ V
3938, 38xpex 7456 . . 3 (𝐴 × 𝐴) ∈ V
4038, 39elpm2 8421 . 2 ( · ∈ (𝐴pm (𝐴 × 𝐴)) ↔ ( · :dom ·𝐴 ∧ dom · ⊆ (𝐴 × 𝐴)))
4137, 8, 40mpbir2an 710 1 · ∈ (𝐴pm (𝐴 × 𝐴))
Colors of variables: wff setvar class
Syntax hints:  w3a 1084   = wceq 1538  wcel 2111  wral 3106  {crab 3110  wss 3881  cop 4531  cotp 4533   class class class wbr 5030   × cxp 5517  dom cdm 5519  Fun wfun 6318   Fn wfn 6319  wf 6320  cfv 6324  (class class class)co 7135  1st c1st 7669  2nd c2nd 7670  pm cpm 8390  compcco 16569  domacdoma 17272  codaccoda 17273  Arrowcarw 17274  Homachoma 17275  compaccoa 17306
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 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-rep 5154  ax-sep 5167  ax-nul 5174  ax-pow 5231  ax-pr 5295  ax-un 7441
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-ral 3111  df-rex 3112  df-reu 3113  df-rab 3115  df-v 3443  df-sbc 3721  df-csb 3829  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-nul 4244  df-if 4426  df-pw 4499  df-sn 4526  df-pr 4528  df-op 4532  df-ot 4534  df-uni 4801  df-iun 4883  df-br 5031  df-opab 5093  df-mpt 5111  df-id 5425  df-xp 5525  df-rel 5526  df-cnv 5527  df-co 5528  df-dm 5529  df-rn 5530  df-res 5531  df-ima 5532  df-iota 6283  df-fun 6326  df-fn 6327  df-f 6328  df-f1 6329  df-fo 6330  df-f1o 6331  df-fv 6332  df-ov 7138  df-oprab 7139  df-mpo 7140  df-1st 7671  df-2nd 7672  df-pm 8392  df-cat 16931  df-doma 17276  df-coda 17277  df-homa 17278  df-arw 17279  df-coa 17308
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator