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

Theorem phtpcer 25223
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 25221 . 2 Rel ( ≃ph𝐽)
2 isphtpc 25222 . . . 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 4300 . . . . 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 2760 . . . . . 6 (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ (𝑢𝑓(1 − 𝑣))) = (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ (𝑢𝑓(1 − 𝑣)))
11 simpr 490 . . . . . 6 ((𝑥( ≃ph𝐽)𝑦𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦)) → 𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦))
128, 9, 10, 11phtpycom 25216 . . . . 5 ((𝑥( ≃ph𝐽)𝑦𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦)) → (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ (𝑢𝑓(1 − 𝑣))) ∈ (𝑦(PHtpy‘𝐽)𝑥))
1312ne0d 4288 . . . 4 ((𝑥( ≃ph𝐽)𝑦𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦)) → (𝑦(PHtpy‘𝐽)𝑥) ≠ ∅)
147, 13exlimddv 1968 . . 3 (𝑥( ≃ph𝐽)𝑦 → (𝑦(PHtpy‘𝐽)𝑥) ≠ ∅)
15 isphtpc 25222 . . 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 25222 . . . . 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 4300 . . . . . 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 2760 . . . . . . . 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 25219 . . . . . . 7 (((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) ∧ (𝑓 ∈ (𝑥(PHtpy‘𝐽)𝑦) ∧ 𝑔 ∈ (𝑦(PHtpy‘𝐽)𝑧))) → (𝑢 ∈ (0[,]1), 𝑣 ∈ (0[,]1) ↦ if(𝑣 ≤ (1 / 2), (𝑢𝑓(2 · 𝑣)), (𝑢𝑔((2 · 𝑣) − 1)))) ∈ (𝑥(PHtpy‘𝐽)𝑧))
3736ne0d 4288 . . . . . 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 25222 . . 3 (𝑥( ≃ph𝐽)𝑧 ↔ (𝑥 ∈ (II Cn 𝐽) ∧ 𝑧 ∈ (II Cn 𝐽) ∧ (𝑥(PHtpy‘𝐽)𝑧) ≠ ∅))
4217, 21, 40, 41syl3anbrc 1362 . 2 ((𝑥( ≃ph𝐽)𝑦𝑦( ≃ph𝐽)𝑧) → 𝑥( ≃ph𝐽)𝑧)
43 eqid 2760 . . . . . . . 8 (𝑦 ∈ (0[,]1), 𝑧 ∈ (0[,]1) ↦ (𝑥𝑦)) = (𝑦 ∈ (0[,]1), 𝑧 ∈ (0[,]1) ↦ (𝑥𝑦))
44 id 23 . . . . . . . 8 (𝑥 ∈ (II Cn 𝐽) → 𝑥 ∈ (II Cn 𝐽))
4543, 44phtpyid 25217 . . . . . . 7 (𝑥 ∈ (II Cn 𝐽) → (𝑦 ∈ (0[,]1), 𝑧 ∈ (0[,]1) ↦ (𝑥𝑦)) ∈ (𝑥(PHtpy‘𝐽)𝑥))
4645ne0d 4288 . . . . . 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 25222 . . 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 2145  wne 2955  c0 4279  ifcif 4482   class class class wbr 5103  cfv 6533  (class class class)co 7413  cmpo 7415   Er wer 8693  0cc0 11124  1c1 11125   · cmul 11129  cle 11268  cmin 11465   / cdiv 11895  2c2 12319  [,]cicc 13401   Cn ccn 23449  IIcii 25103  PHtpycphtpy 25196  phcphtpc 25197
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 7736  ax-cnex 11180  ax-resscn 11181  ax-1cn 11182  ax-icn 11183  ax-addcl 11184  ax-addrcl 11185  ax-mulcl 11186  ax-mulrcl 11187  ax-mulcom 11188  ax-addass 11189  ax-mulass 11190  ax-distr 11191  ax-i2m1 11192  ax-1ne0 11193  ax-1rid 11194  ax-rnegex 11195  ax-rrecex 11196  ax-cnre 11197  ax-pre-lttri 11198  ax-pre-lttrn 11199  ax-pre-ltadd 11200  ax-pre-mulgt0 11201  ax-pre-sup 11202
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 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3365  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-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-iin 4954  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-se 5609  df-we 5610  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-pred 6299  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  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-isom 6542  df-riota 7370  df-ov 7416  df-oprab 7417  df-mpo 7418  df-of 7678  df-om 7863  df-1st 7986  df-2nd 7987  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 8905  df-en 8953  df-dom 8954  df-sdom 8955  df-fin 8956  df-fsupp 9332  df-fi 9381  df-sup 9412  df-inf 9413  df-oi 9482  df-card 9944  df-pnf 11269  df-mnf 11270  df-xr 11271  df-ltxr 11272  df-le 11273  df-sub 11467  df-neg 11468  df-div 11896  df-nn 12258  df-2 12327  df-3 12328  df-4 12329  df-5 12330  df-6 12331  df-7 12332  df-8 12333  df-9 12334  df-n0 12529  df-z 12616  df-dec 12737  df-uz 12888  df-q 12998  df-rp 13043  df-xneg 13163  df-xadd 13164  df-xmul 13165  df-ioo 13402  df-icc 13405  df-fz 13562  df-fzo 13710  df-seq 14066  df-exp 14126  df-hash 14395  df-cj 15186  df-re 15187  df-im 15188  df-sqrt 15322  df-abs 15323  df-struct 17239  df-sets 17256  df-slot 17274  df-ndx 17286  df-base 17302  df-ress 17323  df-plusg 17355  df-mulr 17356  df-starv 17357  df-sca 17358  df-vsca 17359  df-ip 17360  df-tset 17361  df-ple 17362  df-ds 17364  df-unif 17365  df-hom 17366  df-cco 17367  df-rest 17507  df-topn 17508  df-0g 17526  df-gsum 17527  df-topgen 17528  df-pt 17529  df-prds 17532  df-xrs 17588  df-qtop 17593  df-imas 17594  df-xps 17596  df-mre 17670  df-mrc 17671  df-acs 17673  df-mgm 18730  df-sgrp 18821  df-mnd 18837  df-submnd 18892  df-mulg 19191  df-cntz 19444  df-cmn 19909  df-psmet 21577  df-xmet 21578  df-met 21579  df-bl 21580  df-mopn 21581  df-cnfld 21586  df-top 23119  df-topon 23136  df-topsp 23158  df-bases 23171  df-cld 23244  df-cn 23452  df-cnp 23453  df-tx 23788  df-hmeo 23981  df-xms 24546  df-ms 24547  df-tms 24548  df-ii 25105  df-htpy 25198  df-phtpy 25199  df-phtpc 25220
This theorem is used by:  pcophtb  25257  pi1buni  25268  pi1addf  25275  pi1addval  25276  pi1grplem  25277  pi1inv  25280  pi1xfrf  25281  pi1xfr  25283  pi1xfrcnvlem  25284  pi1cof  25287  sconnpi1  35818
  Copyright terms: Public domain W3C validator