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

Theorem cofurid 18066
Description: The identity functor is a right identity for composition. (Contributed by Mario Carneiro, 3-Jan-2017.)
Hypotheses
Ref Expression
cofulid.g (𝜑 → 𝐹 ∈ (𝐶 Func 𝐷))
cofurid.1 𝐼 = (idfunc‘𝐶)
Assertion
Ref Expression
cofurid (𝜑 → (𝐹 ∘func 𝐼) = 𝐹)

Proof of Theorem cofurid
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 cofurid.1 . . . . . 6 𝐼 = (idfunc‘𝐶)
2 eqid 2761 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
3 cofulid.g . . . . . . . 8 (𝜑 → 𝐹 ∈ (𝐶 Func 𝐷))
4 funcrcl 18038 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
53, 4syl 18 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
65simpld 500 . . . . . 6 (𝜑 → 𝐶 ∈ Cat)
71, 2, 6idfu1st 18054 . . . . 5 (𝜑 → (1st ‘𝐼) = ( I ↾ (Base‘𝐶)))
87coeq2d 5840 . . . 4 (𝜑 → ((1st ‘𝐹) ∘ (1st ‘𝐼)) = ((1st ‘𝐹) ∘ ( I ↾ (Base‘𝐶))))
9 eqid 2761 . . . . . 6 (Base‘𝐷) = (Base‘𝐷)
10 relfunc 18037 . . . . . . 7 Rel (𝐶 Func 𝐷)
11 1st2ndbr 8053 . . . . . . 7 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹))
1210, 3, 11sylancr 599 . . . . . 6 (𝜑 → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹))
132, 9, 12funcf1 18041 . . . . 5 (𝜑 → (1st ‘𝐹):(Base‘𝐶)⟶(Base‘𝐷))
14 fcoi1 6756 . . . . 5 ((1st ‘𝐹):(Base‘𝐶)⟶(Base‘𝐷) → ((1st ‘𝐹) ∘ ( I ↾ (Base‘𝐶))) = (1st ‘𝐹))
1513, 14syl 18 . . . 4 (𝜑 → ((1st ‘𝐹) ∘ ( I ↾ (Base‘𝐶))) = (1st ‘𝐹))
168, 15eqtrd 2796 . . 3 (𝜑 → ((1st ‘𝐹) ∘ (1st ‘𝐼)) = (1st ‘𝐹))
1773ad2ant1 1151 . . . . . . . . . 10 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (1st ‘𝐼) = ( I ↾ (Base‘𝐶)))
1817fveq1d 6887 . . . . . . . . 9 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → ((1st ‘𝐼)‘𝑥) = (( I ↾ (Base‘𝐶))‘𝑥))
19 fvresi 7178 . . . . . . . . . 10 (𝑥 ∈ (Base‘𝐶) → (( I ↾ (Base‘𝐶))‘𝑥) = 𝑥)
20193ad2ant2 1152 . . . . . . . . 9 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (( I ↾ (Base‘𝐶))‘𝑥) = 𝑥)
2118, 20eqtrd 2796 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → ((1st ‘𝐼)‘𝑥) = 𝑥)
2217fveq1d 6887 . . . . . . . . 9 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → ((1st ‘𝐼)‘𝑦) = (( I ↾ (Base‘𝐶))‘𝑦))
23 fvresi 7178 . . . . . . . . . 10 (𝑦 ∈ (Base‘𝐶) → (( I ↾ (Base‘𝐶))‘𝑦) = 𝑦)
24233ad2ant3 1153 . . . . . . . . 9 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (( I ↾ (Base‘𝐶))‘𝑦) = 𝑦)
2522, 24eqtrd 2796 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → ((1st ‘𝐼)‘𝑦) = 𝑦)
2621, 25oveq12d 7438 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (((1st ‘𝐼)‘𝑥)(2nd ‘𝐹)((1st ‘𝐼)‘𝑦)) = (𝑥(2nd ‘𝐹)𝑦))
2763ad2ant1 1151 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
28 eqid 2761 . . . . . . . 8 (Hom ‘𝐶) = (Hom ‘𝐶)
29 simp2 1155 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
30 simp3 1156 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → 𝑦 ∈ (Base‘𝐶))
311, 2, 27, 28, 29, 30idfu2nd 18052 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (𝑥(2nd ‘𝐼)𝑦) = ( I ↾ (𝑥(Hom ‘𝐶)𝑦)))
3226, 31coeq12d 5842 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → ((((1st ‘𝐼)‘𝑥)(2nd ‘𝐹)((1st ‘𝐼)‘𝑦)) ∘ (𝑥(2nd ‘𝐼)𝑦)) = ((𝑥(2nd ‘𝐹)𝑦) ∘ ( I ↾ (𝑥(Hom ‘𝐶)𝑦))))
33 eqid 2761 . . . . . . . 8 (Hom ‘𝐷) = (Hom ‘𝐷)
34123ad2ant1 1151 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹))
352, 28, 33, 34, 29, 30funcf2 18043 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (𝑥(2nd ‘𝐹)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st ‘𝐹)‘𝑥)(Hom ‘𝐷)((1st ‘𝐹)‘𝑦)))
36 fcoi1 6756 . . . . . . 7 ((𝑥(2nd ‘𝐹)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st ‘𝐹)‘𝑥)(Hom ‘𝐷)((1st ‘𝐹)‘𝑦)) → ((𝑥(2nd ‘𝐹)𝑦) ∘ ( I ↾ (𝑥(Hom ‘𝐶)𝑦))) = (𝑥(2nd ‘𝐹)𝑦))
3735, 36syl 18 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → ((𝑥(2nd ‘𝐹)𝑦) ∘ ( I ↾ (𝑥(Hom ‘𝐶)𝑦))) = (𝑥(2nd ‘𝐹)𝑦))
3832, 37eqtrd 2796 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → ((((1st ‘𝐼)‘𝑥)(2nd ‘𝐹)((1st ‘𝐼)‘𝑦)) ∘ (𝑥(2nd ‘𝐼)𝑦)) = (𝑥(2nd ‘𝐹)𝑦))
3938mpoeq3dva 7497 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ ((((1st ‘𝐼)‘𝑥)(2nd ‘𝐹)((1st ‘𝐼)‘𝑦)) ∘ (𝑥(2nd ‘𝐼)𝑦))) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd ‘𝐹)𝑦)))
402, 12funcfn2 18044 . . . . 5 (𝜑 → (2nd ‘𝐹) Fn ((Base‘𝐶) × (Base‘𝐶)))
41 fnov 7551 . . . . 5 ((2nd ‘𝐹) Fn ((Base‘𝐶) × (Base‘𝐶)) ↔ (2nd ‘𝐹) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd ‘𝐹)𝑦)))
4240, 41sylib 221 . . . 4 (𝜑 → (2nd ‘𝐹) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd ‘𝐹)𝑦)))
4339, 42eqtr4d 2799 . . 3 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ ((((1st ‘𝐼)‘𝑥)(2nd ‘𝐹)((1st ‘𝐼)‘𝑦)) ∘ (𝑥(2nd ‘𝐼)𝑦))) = (2nd ‘𝐹))
4416, 43opeq12d 4841 . 2 (𝜑 → ⟨((1st ‘𝐹) ∘ (1st ‘𝐼)), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ ((((1st ‘𝐼)‘𝑥)(2nd ‘𝐹)((1st ‘𝐼)‘𝑦)) ∘ (𝑥(2nd ‘𝐼)𝑦)))⟩ = ⟨(1st ‘𝐹), (2nd ‘𝐹)⟩)
451idfucl 18056 . . . 4 (𝐶 ∈ Cat → 𝐼 ∈ (𝐶 Func 𝐶))
466, 45syl 18 . . 3 (𝜑 → 𝐼 ∈ (𝐶 Func 𝐶))
472, 46, 3cofuval 18057 . 2 (𝜑 → (𝐹 ∘func 𝐼) = ⟨((1st ‘𝐹) ∘ (1st ‘𝐼)), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ ((((1st ‘𝐼)‘𝑥)(2nd ‘𝐹)((1st ‘𝐼)‘𝑦)) ∘ (𝑥(2nd ‘𝐼)𝑦)))⟩)
48 1st2nd 8050 . . 3 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → 𝐹 = ⟨(1st ‘𝐹), (2nd ‘𝐹)⟩)
4910, 3, 48sylancr 599 . 2 (𝜑 → 𝐹 = ⟨(1st ‘𝐹), (2nd ‘𝐹)⟩)
5044, 47, 493eqtr4d 2806 1 (𝜑 → (𝐹 ∘func 𝐼) = 𝐹)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   ∧ w3a 1103   = wceq 1570   ∈ wcel 2145  ⟨cop 4590   class class class wbr 5103   I cid 5545   × cxp 5649   ↾ cres 5653   ∘ ccom 5655  Rel wrel 5656   Fn wfn 6533  ⟶wf 6534  ‘cfv 6538  (class class class)co 7420   ∈ cmpo 7422  1st c1st 7999  2nd c2nd 8000  Basecbs 17387  Hom chom 17439  Catccat 17838   Func cfunc 18029  idfunccidfu 18030   ∘func ccofu 18031
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 2733  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7751
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 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-rmo 3366  df-reu 3367  df-rab 3414  df-v 3453  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-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-riota 7377  df-ov 7423  df-oprab 7424  df-mpo 7425  df-1st 8001  df-2nd 8002  df-map 8849  df-ixp 8926  df-cat 17842  df-cid 17843  df-func 18033  df-idfu 18034  df-cofu 18035
This theorem is used by:  catccatid  18281
  Copyright terms: Public domain W3C validator