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

Theorem phtpcer 25183
Description: Path homotopy is an equivalence relation. Proposition 1.2 of [Hatcher] p. 26. (Contributed by Jeff Madsen, 2-Sep-2009.) (Revised by Mario Carneiro, 6-Jul-2015.) (Proof shortened by AV, 1-May-2021.)
Assertion
Ref Expression
phtpcer ( ≃ph𝐽) Er (II Cn 𝐽)

Proof of Theorem phtpcer
Dummy variables 𝑓 𝑔 𝑢 𝑣 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 phtpcrel 25181 . 2 Rel ( ≃ph𝐽)
2 isphtpc 25182 . . . 4 (𝑥( ≃ph𝐽)𝑦 ↔ (𝑥 ∈ (II Cn 𝐽) ∧ 𝑦 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑦) ≠ ∅))
32simp2bi 1164 . . 3 (𝑥( ≃ph𝐽)𝑦𝑦 ∈ (II Cn 𝐽))
42simp1bi 1163 . . 3 (𝑥( ≃ph𝐽)𝑦𝑥 ∈ (II Cn 𝐽))
52simp3bi 1165 . . . . 5 (𝑥( ≃ph𝐽)𝑦 → (𝑥(PHtpy‘𝐽)𝑦) ≠ ∅)
6 n0 4307 . . . . 5 ((𝑥(PHtpy‘𝐽)𝑦) ≠ ∅ ↔ ∃𝑓 𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦))
75, 6sylib 221 . . . 4 (𝑥( ≃ph𝐽)𝑦 → ∃𝑓 𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦))
84adantr 486 . . . . . 6 ((𝑥( ≃ph𝐽)𝑦𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦)) → 𝑥 ∈ (II Cn 𝐽))
93adantr 486 . . . . . 6 ((𝑥( ≃ph𝐽)𝑦𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦)) → 𝑦 ∈ (II Cn 𝐽))
10 eqid 2765 . . . . . 6 (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ (𝑢𝑓(1 − 𝑣))) = (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ (𝑢𝑓(1 − 𝑣)))
11 simpr 490 . . . . . 6 ((𝑥( ≃ph𝐽)𝑦𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦)) → 𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦))
128, 9, 10, 11phtpycom 25176 . . . . 5 ((𝑥( ≃ph𝐽)𝑦𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦)) → (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ (𝑢𝑓(1 − 𝑣))) ∈ (𝑦(PHtpy‘𝐽)𝑥))
1312ne0d 4295 . . . 4 ((𝑥( ≃ph𝐽)𝑦𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦)) → (𝑦(PHtpy‘𝐽)𝑥) ≠ ∅)
147, 13exlimddv 1968 . . 3 (𝑥( ≃ph𝐽)𝑦 → (𝑦(PHtpy‘𝐽)𝑥) ≠ ∅)
15 isphtpc 25182 . . 3 (𝑦( ≃ph𝐽)𝑥 ↔ (𝑦 ∈ (II Cn 𝐽) ∧ 𝑥 ∈ (II Cn 𝐽) ∧ (𝑦(PHtpy‘𝐽)𝑥) ≠ ∅))
163, 4, 14, 15syl3anbrc 1362 . 2 (𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑥)
174adantr 486 . . 3 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → 𝑥 ∈ (II Cn 𝐽))
18 simpr 490 . . . . 5 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → 𝑦( ≃ph𝐽)𝑧)
19 isphtpc 25182 . . . . 5 (𝑦( ≃ph𝐽)𝑧 ↔ (𝑦 ∈ (II Cn 𝐽) ∧ 𝑧 ∈ (II Cn 𝐽) ∧ (𝑦(PHtpy‘𝐽)𝑧) ≠ ∅))
2018, 19sylib 221 . . . 4 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → (𝑦 ∈ (II Cn 𝐽) ∧ 𝑧 ∈ (II Cn 𝐽) ∧ (𝑦(PHtpy‘𝐽)𝑧) ≠ ∅))
2120simp2d 1161 . . 3 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → 𝑧 ∈ (II Cn 𝐽))
225adantr 486 . . . . . 6 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → (𝑥(PHtpy‘𝐽)𝑦) ≠ ∅)
2322, 6sylib 221 . . . . 5 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → ∃𝑓 𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦))
2420simp3d 1162 . . . . . 6 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → (𝑦(PHtpy‘𝐽)𝑧) ≠ ∅)
25 n0 4307 . . . . . 6 ((𝑦(PHtpy‘𝐽)𝑧) ≠ ∅ ↔ ∃𝑔 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))
2624, 25sylib 221 . . . . 5 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → ∃𝑔 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))
27 exdistrv 1988 . . . . 5 (∃𝑓𝑔(𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧)) ↔ (∃𝑓 𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ ∃𝑔 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧)))
2823, 26, 27sylanbrc 595 . . . 4 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → ∃𝑓𝑔(𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧)))
29 eqid 2765 . . . . . . . 8 (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ if(𝑣 ≤ (1 / 2), (𝑢𝑓(2 · 𝑣)), (𝑢𝑔((2 · 𝑣) − 1)))) = (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ if(𝑣 ≤ (1 / 2), (𝑢𝑓(2 · 𝑣)), (𝑢𝑔((2 · 𝑣) − 1))))
3017adantr 486 . . . . . . . 8 (((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) ∧ (𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))) → 𝑥 ∈ (II Cn 𝐽))
3120simp1d 1160 . . . . . . . . 9 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → 𝑦 ∈ (II Cn 𝐽))
3231adantr 486 . . . . . . . 8 (((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) ∧ (𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))) → 𝑦 ∈ (II Cn 𝐽))
3321adantr 486 . . . . . . . 8 (((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) ∧ (𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))) → 𝑧 ∈ (II Cn 𝐽))
34 simprl 783 . . . . . . . 8 (((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) ∧ (𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))) → 𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦))
35 simprr 785 . . . . . . . 8 (((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) ∧ (𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))) → 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))
3629, 30, 32, 33, 34, 35phtpycc 25179 . . . . . . 7 (((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) ∧ (𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))) → (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ if(𝑣 ≤ (1 / 2), (𝑢𝑓(2 · 𝑣)), (𝑢𝑔((2 · 𝑣) − 1)))) ∈ (𝑥(PHtpy‘𝐽)𝑧))
3736ne0d 4295 . . . . . 6 (((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) ∧ (𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))) → (𝑥(PHtpy‘𝐽)𝑧) ≠ ∅)
3837ex 418 . . . . 5 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → ((𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧)) → (𝑥(PHtpy‘𝐽)𝑧) ≠ ∅))
3938exlimdvv 1967 . . . 4 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → (∃𝑓𝑔(𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧)) → (𝑥(PHtpy‘𝐽)𝑧) ≠ ∅))
4028, 39mpd 16 . . 3 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → (𝑥(PHtpy‘𝐽)𝑧) ≠ ∅)
41 isphtpc 25182 . . 3 (𝑥( ≃ph𝐽)𝑧 ↔ (𝑥 ∈ (II Cn 𝐽) ∧ 𝑧 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑧) ≠ ∅))
4217, 21, 40, 41syl3anbrc 1362 . 2 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → 𝑥( ≃ph𝐽)𝑧)
43 eqid 2765 . . . . . . . 8 (𝑦 ∈ (0[,]1), 𝑧 ∈ (0[,]1) ↦ (𝑥𝑦)) = (𝑦 ∈ (0[,]1), 𝑧 ∈ (0[,]1) ↦ (𝑥𝑦))
44 id 23 . . . . . . . 8 (𝑥 ∈ (II Cn 𝐽) → 𝑥 ∈ (II Cn 𝐽))
4543, 44phtpyid 25177 . . . . . . 7 (𝑥 ∈ (II Cn 𝐽) → (𝑦 ∈ (0[,]1), 𝑧 ∈ (0[,]1) ↦ (𝑥𝑦)) ∈ (𝑥(PHtpy‘𝐽)𝑥))
4645ne0d 4295 . . . . . 6 (𝑥 ∈ (II Cn 𝐽) → (𝑥(PHtpy‘𝐽)𝑥) ≠ ∅)
4746ancli 558 . . . . 5 (𝑥 ∈ (II Cn 𝐽) → (𝑥 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑥) ≠ ∅))
4847pm4.71ri 570 . . . 4 (𝑥 ∈ (II Cn 𝐽) ↔ ((𝑥 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑥) ≠ ∅) ∧ 𝑥 ∈ (II Cn 𝐽)))
49 df-3an 1105 . . . 4 ((𝑥 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑥) ≠ ∅ ∧ 𝑥 ∈ (II Cn 𝐽)) ↔ ((𝑥 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑥) ≠ ∅) ∧ 𝑥 ∈ (II Cn 𝐽)))
50 3ancomb 1116 . . . 4 ((𝑥 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑥) ≠ ∅ ∧ 𝑥 ∈ (II Cn 𝐽)) ↔ (𝑥 ∈ (II Cn 𝐽) ∧ 𝑥 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑥) ≠ ∅))
5148, 49, 503bitr2i 302 . . 3 (𝑥 ∈ (II Cn 𝐽) ↔ (𝑥 ∈ (II Cn 𝐽) ∧ 𝑥 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑥) ≠ ∅))
52 isphtpc 25182 . . 3 (𝑥( ≃ph𝐽)𝑥 ↔ (𝑥 ∈ (II Cn 𝐽) ∧ 𝑥 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑥) ≠ ∅))
5351, 52bitr4i 281 . 2 (𝑥 ∈ (II Cn 𝐽) ↔ 𝑥( ≃ph𝐽)𝑥)
541, 16, 42, 53iseri 8724 1 ( ≃ph𝐽) Er (II Cn 𝐽)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wa 401  w3a 1103  wex 1812  wcel 2146  wne 2960  c0 4286  ifcif 4489   class class class wbr 5111  cfv 6540  (class class class)co 7416  cmpo 7418   Er wer 8693  0cc0 11111  1c1 11112   · cmul 11116  cle 11255  cmin 11452   / cdiv 11882  2c2 12306  [,]cicc 13386   Cn ccn 23410  IIcii 25063  PHtpycphtpy 25156  phcphtpc 25157
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 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2737  ax-rep 5240  ax-sep 5259  ax-nul 5271  ax-pow 5338  ax-pr 5406  ax-un 7738  ax-cnex 11167  ax-resscn 11168  ax-1cn 11169  ax-icn 11170  ax-addcl 11171  ax-addrcl 11172  ax-mulcl 11173  ax-mulrcl 11174  ax-mulcom 11175  ax-addass 11176  ax-mulass 11177  ax-distr 11178  ax-i2m1 11179  ax-1ne0 11180  ax-1rid 11181  ax-rnegex 11182  ax-rrecex 11183  ax-cnre 11184  ax-pre-lttri 11185  ax-pre-lttrn 11186  ax-pre-ltadd 11187  ax-pre-mulgt0 11188  ax-pre-sup 11189
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-nel 3067  df-ral 3082  df-rex 3092  df-rmo 3371  df-reu 3372  df-rab 3419  df-v 3459  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4287  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-tp 4596  df-op 4598  df-uni 4875  df-int 4915  df-iun 4960  df-iin 4961  df-br 5112  df-opab 5176  df-mpt 5195  df-tr 5221  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-se 5617  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6306  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6496  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-isom 6549  df-riota 7373  df-ov 7419  df-oprab 7420  df-mpo 7421  df-of 7680  df-om 7865  df-1st 7988  df-2nd 7989  df-supp 8159  df-frecs 8280  df-wrecs 8311  df-recs 8360  df-rdg 8399  df-1o 8455  df-2o 8456  df-er 8696  df-map 8828  df-ixp 8898  df-en 8946  df-dom 8947  df-sdom 8948  df-fin 8949  df-fsupp 9325  df-fi 9374  df-sup 9405  df-inf 9406  df-oi 9475  df-card 9937  df-pnf 11256  df-mnf 11257  df-xr 11258  df-ltxr 11259  df-le 11260  df-sub 11454  df-neg 11455  df-div 11883  df-nn 12245  df-2 12314  df-3 12315  df-4 12316  df-5 12317  df-6 12318  df-7 12319  df-8 12320  df-9 12321  df-n0 12516  df-z 12603  df-dec 12723  df-uz 12874  df-q 12984  df-rp 13028  df-xneg 13148  df-xadd 13149  df-xmul 13150  df-ioo 13387  df-icc 13390  df-fz 13547  df-fzo 13695  df-seq 14051  df-exp 14111  df-hash 14380  df-cj 15169  df-re 15170  df-im 15171  df-sqrt 15305  df-abs 15306  df-struct 17224  df-sets 17241  df-slot 17259  df-ndx 17271  df-base 17287  df-ress 17308  df-plusg 17340  df-mulr 17341  df-starv 17342  df-sca 17343  df-vsca 17344  df-ip 17345  df-tset 17346  df-ple 17347  df-ds 17349  df-unif 17350  df-hom 17351  df-cco 17352  df-rest 17492  df-topn 17493  df-0g 17511  df-gsum 17512  df-topgen 17513  df-pt 17514  df-prds 17517  df-xrs 17573  df-qtop 17578  df-imas 17579  df-xps 17581  df-mre 17655  df-mrc 17656  df-acs 17658  df-mgm 18715  df-sgrp 18798  df-mnd 18814  df-submnd 18865  df-mulg 19157  df-cntz 19410  df-cmn 19875  df-psmet 21543  df-xmet 21544  df-met 21545  df-bl 21546  df-mopn 21547  df-cnfld 21552  df-top 23080  df-topon 23097  df-topsp 23119  df-bases 23132  df-cld 23205  df-cn 23413  df-cnp 23414  df-tx 23748  df-hmeo 23941  df-xms 24506  df-ms 24507  df-tms 24508  df-ii 25065  df-htpy 25158  df-phtpy 25159  df-phtpc 25180
This theorem is used by:  pcophtb  25217  pi1buni  25228  pi1addf  25235  pi1addval  25236  pi1grplem  25237  pi1inv  25240  pi1xfrf  25241  pi1xfr  25243  pi1xfrcnvlem  25244  pi1cof  25247  sconnpi1  35744
  Copyright terms: Public domain W3C validator