Metamath Proof Explorer


Theorem htpycc

Description: Concatenate two homotopies. (Contributed by Jeff Madsen, 2-Sep-2009) (Revised by Mario Carneiro, 23-Feb-2015)

Ref Expression
Hypotheses htpycc.1
|- N = ( x e. X , y e. ( 0 [,] 1 ) |-> if ( y <_ ( 1 / 2 ) , ( x L ( 2 x. y ) ) , ( x M ( ( 2 x. y ) - 1 ) ) ) )
htpycc.2
|- ( ph -> J e. ( TopOn ` X ) )
htpycc.4
|- ( ph -> F e. ( J Cn K ) )
htpycc.5
|- ( ph -> G e. ( J Cn K ) )
htpycc.6
|- ( ph -> H e. ( J Cn K ) )
htpycc.7
|- ( ph -> L e. ( F ( J Htpy K ) G ) )
htpycc.8
|- ( ph -> M e. ( G ( J Htpy K ) H ) )
Assertion htpycc
|- ( ph -> N e. ( F ( J Htpy K ) H ) )

Proof

Step Hyp Ref Expression
1 htpycc.1
 |-  N = ( x e. X , y e. ( 0 [,] 1 ) |-> if ( y <_ ( 1 / 2 ) , ( x L ( 2 x. y ) ) , ( x M ( ( 2 x. y ) - 1 ) ) ) )
2 htpycc.2
 |-  ( ph -> J e. ( TopOn ` X ) )
3 htpycc.4
 |-  ( ph -> F e. ( J Cn K ) )
4 htpycc.5
 |-  ( ph -> G e. ( J Cn K ) )
5 htpycc.6
 |-  ( ph -> H e. ( J Cn K ) )
6 htpycc.7
 |-  ( ph -> L e. ( F ( J Htpy K ) G ) )
7 htpycc.8
 |-  ( ph -> M e. ( G ( J Htpy K ) H ) )
8 iitopon
 |-  II e. ( TopOn ` ( 0 [,] 1 ) )
9 8 a1i
 |-  ( ph -> II e. ( TopOn ` ( 0 [,] 1 ) ) )
10 eqid
 |-  ( topGen ` ran (,) ) = ( topGen ` ran (,) )
11 eqid
 |-  ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) = ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) )
12 eqid
 |-  ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) = ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) )
13 dfii2
 |-  II = ( ( topGen ` ran (,) ) |`t ( 0 [,] 1 ) )
14 0red
 |-  ( ph -> 0 e. RR )
15 1red
 |-  ( ph -> 1 e. RR )
16 halfre
 |-  ( 1 / 2 ) e. RR
17 halfge0
 |-  0 <_ ( 1 / 2 )
18 1re
 |-  1 e. RR
19 halflt1
 |-  ( 1 / 2 ) < 1
20 16 18 19 ltleii
 |-  ( 1 / 2 ) <_ 1
21 elicc01
 |-  ( ( 1 / 2 ) e. ( 0 [,] 1 ) <-> ( ( 1 / 2 ) e. RR /\ 0 <_ ( 1 / 2 ) /\ ( 1 / 2 ) <_ 1 ) )
22 16 17 20 21 mpbir3an
 |-  ( 1 / 2 ) e. ( 0 [,] 1 )
23 22 a1i
 |-  ( ph -> ( 1 / 2 ) e. ( 0 [,] 1 ) )
24 2 3 4 6 htpyi
 |-  ( ( ph /\ s e. X ) -> ( ( s L 0 ) = ( F ` s ) /\ ( s L 1 ) = ( G ` s ) ) )
25 24 simprd
 |-  ( ( ph /\ s e. X ) -> ( s L 1 ) = ( G ` s ) )
26 2 4 5 7 htpyi
 |-  ( ( ph /\ s e. X ) -> ( ( s M 0 ) = ( G ` s ) /\ ( s M 1 ) = ( H ` s ) ) )
27 26 simpld
 |-  ( ( ph /\ s e. X ) -> ( s M 0 ) = ( G ` s ) )
28 25 27 eqtr4d
 |-  ( ( ph /\ s e. X ) -> ( s L 1 ) = ( s M 0 ) )
29 28 ralrimiva
 |-  ( ph -> A. s e. X ( s L 1 ) = ( s M 0 ) )
30 oveq1
 |-  ( s = x -> ( s L 1 ) = ( x L 1 ) )
31 oveq1
 |-  ( s = x -> ( s M 0 ) = ( x M 0 ) )
32 30 31 eqeq12d
 |-  ( s = x -> ( ( s L 1 ) = ( s M 0 ) <-> ( x L 1 ) = ( x M 0 ) ) )
33 32 rspccva
 |-  ( ( A. s e. X ( s L 1 ) = ( s M 0 ) /\ x e. X ) -> ( x L 1 ) = ( x M 0 ) )
34 29 33 sylan
 |-  ( ( ph /\ x e. X ) -> ( x L 1 ) = ( x M 0 ) )
35 34 adantrl
 |-  ( ( ph /\ ( y = ( 1 / 2 ) /\ x e. X ) ) -> ( x L 1 ) = ( x M 0 ) )
36 simprl
 |-  ( ( ph /\ ( y = ( 1 / 2 ) /\ x e. X ) ) -> y = ( 1 / 2 ) )
37 36 oveq2d
 |-  ( ( ph /\ ( y = ( 1 / 2 ) /\ x e. X ) ) -> ( 2 x. y ) = ( 2 x. ( 1 / 2 ) ) )
38 2thalfe1
 |-  ( 2 x. ( 1 / 2 ) ) = 1
39 37 38 eqtrdi
 |-  ( ( ph /\ ( y = ( 1 / 2 ) /\ x e. X ) ) -> ( 2 x. y ) = 1 )
40 39 oveq2d
 |-  ( ( ph /\ ( y = ( 1 / 2 ) /\ x e. X ) ) -> ( x L ( 2 x. y ) ) = ( x L 1 ) )
41 39 oveq1d
 |-  ( ( ph /\ ( y = ( 1 / 2 ) /\ x e. X ) ) -> ( ( 2 x. y ) - 1 ) = ( 1 - 1 ) )
42 1m1e0
 |-  ( 1 - 1 ) = 0
43 41 42 eqtrdi
 |-  ( ( ph /\ ( y = ( 1 / 2 ) /\ x e. X ) ) -> ( ( 2 x. y ) - 1 ) = 0 )
44 43 oveq2d
 |-  ( ( ph /\ ( y = ( 1 / 2 ) /\ x e. X ) ) -> ( x M ( ( 2 x. y ) - 1 ) ) = ( x M 0 ) )
45 35 40 44 3eqtr4d
 |-  ( ( ph /\ ( y = ( 1 / 2 ) /\ x e. X ) ) -> ( x L ( 2 x. y ) ) = ( x M ( ( 2 x. y ) - 1 ) ) )
46 retopon
 |-  ( topGen ` ran (,) ) e. ( TopOn ` RR )
47 0re
 |-  0 e. RR
48 iccssre
 |-  ( ( 0 e. RR /\ ( 1 / 2 ) e. RR ) -> ( 0 [,] ( 1 / 2 ) ) C_ RR )
49 47 16 48 mp2an
 |-  ( 0 [,] ( 1 / 2 ) ) C_ RR
50 resttopon
 |-  ( ( ( topGen ` ran (,) ) e. ( TopOn ` RR ) /\ ( 0 [,] ( 1 / 2 ) ) C_ RR ) -> ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) e. ( TopOn ` ( 0 [,] ( 1 / 2 ) ) ) )
51 46 49 50 mp2an
 |-  ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) e. ( TopOn ` ( 0 [,] ( 1 / 2 ) ) )
52 51 a1i
 |-  ( ph -> ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) e. ( TopOn ` ( 0 [,] ( 1 / 2 ) ) ) )
53 52 2 cnmpt2nd
 |-  ( ph -> ( y e. ( 0 [,] ( 1 / 2 ) ) , x e. X |-> x ) e. ( ( ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) tX J ) Cn J ) )
54 52 2 cnmpt1st
 |-  ( ph -> ( y e. ( 0 [,] ( 1 / 2 ) ) , x e. X |-> y ) e. ( ( ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) tX J ) Cn ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) ) )
55 11 iihalf1cn
 |-  ( z e. ( 0 [,] ( 1 / 2 ) ) |-> ( 2 x. z ) ) e. ( ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) Cn II )
56 55 a1i
 |-  ( ph -> ( z e. ( 0 [,] ( 1 / 2 ) ) |-> ( 2 x. z ) ) e. ( ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) Cn II ) )
57 oveq2
 |-  ( z = y -> ( 2 x. z ) = ( 2 x. y ) )
58 52 2 54 52 56 57 cnmpt21
 |-  ( ph -> ( y e. ( 0 [,] ( 1 / 2 ) ) , x e. X |-> ( 2 x. y ) ) e. ( ( ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) tX J ) Cn II ) )
59 2 3 4 htpycn
 |-  ( ph -> ( F ( J Htpy K ) G ) C_ ( ( J tX II ) Cn K ) )
60 59 6 sseldd
 |-  ( ph -> L e. ( ( J tX II ) Cn K ) )
61 52 2 53 58 60 cnmpt22f
 |-  ( ph -> ( y e. ( 0 [,] ( 1 / 2 ) ) , x e. X |-> ( x L ( 2 x. y ) ) ) e. ( ( ( ( topGen ` ran (,) ) |`t ( 0 [,] ( 1 / 2 ) ) ) tX J ) Cn K ) )
62 iccssre
 |-  ( ( ( 1 / 2 ) e. RR /\ 1 e. RR ) -> ( ( 1 / 2 ) [,] 1 ) C_ RR )
63 16 18 62 mp2an
 |-  ( ( 1 / 2 ) [,] 1 ) C_ RR
64 resttopon
 |-  ( ( ( topGen ` ran (,) ) e. ( TopOn ` RR ) /\ ( ( 1 / 2 ) [,] 1 ) C_ RR ) -> ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) e. ( TopOn ` ( ( 1 / 2 ) [,] 1 ) ) )
65 46 63 64 mp2an
 |-  ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) e. ( TopOn ` ( ( 1 / 2 ) [,] 1 ) )
66 65 a1i
 |-  ( ph -> ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) e. ( TopOn ` ( ( 1 / 2 ) [,] 1 ) ) )
67 66 2 cnmpt2nd
 |-  ( ph -> ( y e. ( ( 1 / 2 ) [,] 1 ) , x e. X |-> x ) e. ( ( ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) tX J ) Cn J ) )
68 66 2 cnmpt1st
 |-  ( ph -> ( y e. ( ( 1 / 2 ) [,] 1 ) , x e. X |-> y ) e. ( ( ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) tX J ) Cn ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) ) )
69 12 iihalf2cn
 |-  ( z e. ( ( 1 / 2 ) [,] 1 ) |-> ( ( 2 x. z ) - 1 ) ) e. ( ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) Cn II )
70 69 a1i
 |-  ( ph -> ( z e. ( ( 1 / 2 ) [,] 1 ) |-> ( ( 2 x. z ) - 1 ) ) e. ( ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) Cn II ) )
71 57 oveq1d
 |-  ( z = y -> ( ( 2 x. z ) - 1 ) = ( ( 2 x. y ) - 1 ) )
72 66 2 68 66 70 71 cnmpt21
 |-  ( ph -> ( y e. ( ( 1 / 2 ) [,] 1 ) , x e. X |-> ( ( 2 x. y ) - 1 ) ) e. ( ( ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) tX J ) Cn II ) )
73 2 4 5 htpycn
 |-  ( ph -> ( G ( J Htpy K ) H ) C_ ( ( J tX II ) Cn K ) )
74 73 7 sseldd
 |-  ( ph -> M e. ( ( J tX II ) Cn K ) )
75 66 2 67 72 74 cnmpt22f
 |-  ( ph -> ( y e. ( ( 1 / 2 ) [,] 1 ) , x e. X |-> ( x M ( ( 2 x. y ) - 1 ) ) ) e. ( ( ( ( topGen ` ran (,) ) |`t ( ( 1 / 2 ) [,] 1 ) ) tX J ) Cn K ) )
76 10 11 12 13 14 15 23 2 45 61 75 cnmpopc
 |-  ( ph -> ( y e. ( 0 [,] 1 ) , x e. X |-> if ( y <_ ( 1 / 2 ) , ( x L ( 2 x. y ) ) , ( x M ( ( 2 x. y ) - 1 ) ) ) ) e. ( ( II tX J ) Cn K ) )
77 9 2 76 cnmptcom
 |-  ( ph -> ( x e. X , y e. ( 0 [,] 1 ) |-> if ( y <_ ( 1 / 2 ) , ( x L ( 2 x. y ) ) , ( x M ( ( 2 x. y ) - 1 ) ) ) ) e. ( ( J tX II ) Cn K ) )
78 1 77 eqeltrid
 |-  ( ph -> N e. ( ( J tX II ) Cn K ) )
79 simpr
 |-  ( ( ph /\ s e. X ) -> s e. X )
80 0elunit
 |-  0 e. ( 0 [,] 1 )
81 simpr
 |-  ( ( x = s /\ y = 0 ) -> y = 0 )
82 81 17 eqbrtrdi
 |-  ( ( x = s /\ y = 0 ) -> y <_ ( 1 / 2 ) )
83 82 iftrued
 |-  ( ( x = s /\ y = 0 ) -> if ( y <_ ( 1 / 2 ) , ( x L ( 2 x. y ) ) , ( x M ( ( 2 x. y ) - 1 ) ) ) = ( x L ( 2 x. y ) ) )
84 simpl
 |-  ( ( x = s /\ y = 0 ) -> x = s )
85 81 oveq2d
 |-  ( ( x = s /\ y = 0 ) -> ( 2 x. y ) = ( 2 x. 0 ) )
86 2t0e0
 |-  ( 2 x. 0 ) = 0
87 85 86 eqtrdi
 |-  ( ( x = s /\ y = 0 ) -> ( 2 x. y ) = 0 )
88 84 87 oveq12d
 |-  ( ( x = s /\ y = 0 ) -> ( x L ( 2 x. y ) ) = ( s L 0 ) )
89 83 88 eqtrd
 |-  ( ( x = s /\ y = 0 ) -> if ( y <_ ( 1 / 2 ) , ( x L ( 2 x. y ) ) , ( x M ( ( 2 x. y ) - 1 ) ) ) = ( s L 0 ) )
90 ovex
 |-  ( s L 0 ) e. _V
91 89 1 90 ovmpoa
 |-  ( ( s e. X /\ 0 e. ( 0 [,] 1 ) ) -> ( s N 0 ) = ( s L 0 ) )
92 79 80 91 sylancl
 |-  ( ( ph /\ s e. X ) -> ( s N 0 ) = ( s L 0 ) )
93 24 simpld
 |-  ( ( ph /\ s e. X ) -> ( s L 0 ) = ( F ` s ) )
94 92 93 eqtrd
 |-  ( ( ph /\ s e. X ) -> ( s N 0 ) = ( F ` s ) )
95 1elunit
 |-  1 e. ( 0 [,] 1 )
96 16 18 ltnlei
 |-  ( ( 1 / 2 ) < 1 <-> -. 1 <_ ( 1 / 2 ) )
97 19 96 mpbi
 |-  -. 1 <_ ( 1 / 2 )
98 simpr
 |-  ( ( x = s /\ y = 1 ) -> y = 1 )
99 98 breq1d
 |-  ( ( x = s /\ y = 1 ) -> ( y <_ ( 1 / 2 ) <-> 1 <_ ( 1 / 2 ) ) )
100 97 99 mtbiri
 |-  ( ( x = s /\ y = 1 ) -> -. y <_ ( 1 / 2 ) )
101 100 iffalsed
 |-  ( ( x = s /\ y = 1 ) -> if ( y <_ ( 1 / 2 ) , ( x L ( 2 x. y ) ) , ( x M ( ( 2 x. y ) - 1 ) ) ) = ( x M ( ( 2 x. y ) - 1 ) ) )
102 simpl
 |-  ( ( x = s /\ y = 1 ) -> x = s )
103 98 oveq2d
 |-  ( ( x = s /\ y = 1 ) -> ( 2 x. y ) = ( 2 x. 1 ) )
104 2t1e2
 |-  ( 2 x. 1 ) = 2
105 103 104 eqtrdi
 |-  ( ( x = s /\ y = 1 ) -> ( 2 x. y ) = 2 )
106 105 oveq1d
 |-  ( ( x = s /\ y = 1 ) -> ( ( 2 x. y ) - 1 ) = ( 2 - 1 ) )
107 2m1e1
 |-  ( 2 - 1 ) = 1
108 106 107 eqtrdi
 |-  ( ( x = s /\ y = 1 ) -> ( ( 2 x. y ) - 1 ) = 1 )
109 102 108 oveq12d
 |-  ( ( x = s /\ y = 1 ) -> ( x M ( ( 2 x. y ) - 1 ) ) = ( s M 1 ) )
110 101 109 eqtrd
 |-  ( ( x = s /\ y = 1 ) -> if ( y <_ ( 1 / 2 ) , ( x L ( 2 x. y ) ) , ( x M ( ( 2 x. y ) - 1 ) ) ) = ( s M 1 ) )
111 ovex
 |-  ( s M 1 ) e. _V
112 110 1 111 ovmpoa
 |-  ( ( s e. X /\ 1 e. ( 0 [,] 1 ) ) -> ( s N 1 ) = ( s M 1 ) )
113 79 95 112 sylancl
 |-  ( ( ph /\ s e. X ) -> ( s N 1 ) = ( s M 1 ) )
114 26 simprd
 |-  ( ( ph /\ s e. X ) -> ( s M 1 ) = ( H ` s ) )
115 113 114 eqtrd
 |-  ( ( ph /\ s e. X ) -> ( s N 1 ) = ( H ` s ) )
116 2 3 5 78 94 115 ishtpyd
 |-  ( ph -> N e. ( F ( J Htpy K ) H ) )