Metamath Proof Explorer


Theorem ishtpy

Description: Membership in the class of homotopies between two continuous functions. (Contributed by Mario Carneiro, 22-Feb-2015) (Revised by Mario Carneiro, 5-Sep-2015)

Ref Expression
Hypotheses ishtpy.1 φJTopOnX
ishtpy.3 φFJCnK
ishtpy.4 φGJCnK
Assertion ishtpy φHFJHtpyKGHJ×tIICnKsXsH0=FssH1=Gs

Proof

Step Hyp Ref Expression
1 ishtpy.1 φJTopOnX
2 ishtpy.3 φFJCnK
3 ishtpy.4 φGJCnK
4 df-htpy Htpy=jTop,kTopfjCnk,gjCnkhj×tIICnk|sjsh0=fssh1=gs
5 4 a1i φHtpy=jTop,kTopfjCnk,gjCnkhj×tIICnk|sjsh0=fssh1=gs
6 simprl φj=Jk=Kj=J
7 simprr φj=Jk=Kk=K
8 6 7 oveq12d φj=Jk=KjCnk=JCnK
9 6 oveq1d φj=Jk=Kj×tII=J×tII
10 9 7 oveq12d φj=Jk=Kj×tIICnk=J×tIICnK
11 6 unieqd φj=Jk=Kj=J
12 toponuni JTopOnXX=J
13 1 12 syl φX=J
14 13 adantr φj=Jk=KX=J
15 11 14 eqtr4d φj=Jk=Kj=X
16 15 raleqdv φj=Jk=Ksjsh0=fssh1=gssXsh0=fssh1=gs
17 10 16 rabeqbidv φj=Jk=Khj×tIICnk|sjsh0=fssh1=gs=hJ×tIICnK|sXsh0=fssh1=gs
18 8 8 17 mpoeq123dv φj=Jk=KfjCnk,gjCnkhj×tIICnk|sjsh0=fssh1=gs=fJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gs
19 topontop JTopOnXJTop
20 1 19 syl φJTop
21 cntop2 FJCnKKTop
22 2 21 syl φKTop
23 ovex J×tIICnKV
24 ssrab2 hJ×tIICnK|sXsh0=fssh1=gsJ×tIICnK
25 23 24 elpwi2 hJ×tIICnK|sXsh0=fssh1=gs𝒫J×tIICnK
26 25 rgen2w fJCnKgJCnKhJ×tIICnK|sXsh0=fssh1=gs𝒫J×tIICnK
27 eqid fJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gs=fJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gs
28 27 fmpo fJCnKgJCnKhJ×tIICnK|sXsh0=fssh1=gs𝒫J×tIICnKfJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gs:JCnK×JCnK𝒫J×tIICnK
29 26 28 mpbi fJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gs:JCnK×JCnK𝒫J×tIICnK
30 ovex JCnKV
31 30 30 xpex JCnK×JCnKV
32 23 pwex 𝒫J×tIICnKV
33 fex2 fJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gs:JCnK×JCnK𝒫J×tIICnKJCnK×JCnKV𝒫J×tIICnKVfJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gsV
34 29 31 32 33 mp3an fJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gsV
35 34 a1i φfJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gsV
36 5 18 20 22 35 ovmpod φJHtpyK=fJCnK,gJCnKhJ×tIICnK|sXsh0=fssh1=gs
37 fveq1 f=Ffs=Fs
38 37 eqeq2d f=Fsh0=fssh0=Fs
39 fveq1 g=Ggs=Gs
40 39 eqeq2d g=Gsh1=gssh1=Gs
41 38 40 bi2anan9 f=Fg=Gsh0=fssh1=gssh0=Fssh1=Gs
42 41 adantl φf=Fg=Gsh0=fssh1=gssh0=Fssh1=Gs
43 42 ralbidv φf=Fg=GsXsh0=fssh1=gssXsh0=Fssh1=Gs
44 43 rabbidv φf=Fg=GhJ×tIICnK|sXsh0=fssh1=gs=hJ×tIICnK|sXsh0=Fssh1=Gs
45 23 rabex hJ×tIICnK|sXsh0=Fssh1=GsV
46 45 a1i φhJ×tIICnK|sXsh0=Fssh1=GsV
47 36 44 2 3 46 ovmpod φFJHtpyKG=hJ×tIICnK|sXsh0=Fssh1=Gs
48 47 eleq2d φHFJHtpyKGHhJ×tIICnK|sXsh0=Fssh1=Gs
49 oveq h=Hsh0=sH0
50 49 eqeq1d h=Hsh0=FssH0=Fs
51 oveq h=Hsh1=sH1
52 51 eqeq1d h=Hsh1=GssH1=Gs
53 50 52 anbi12d h=Hsh0=Fssh1=GssH0=FssH1=Gs
54 53 ralbidv h=HsXsh0=Fssh1=GssXsH0=FssH1=Gs
55 54 elrab HhJ×tIICnK|sXsh0=Fssh1=GsHJ×tIICnKsXsH0=FssH1=Gs
56 48 55 bitrdi φHFJHtpyKGHJ×tIICnKsXsH0=FssH1=Gs