Metamath Proof Explorer


Theorem pi1xfrf

Description: Functionality of the loop transfer function on the equivalence class of a path. (Contributed by Mario Carneiro, 23-Dec-2016)

Ref Expression
Hypotheses pi1xfr.p 𝑃 = ( 𝐽 π1 ( 𝐹 ‘ 0 ) )
pi1xfr.q 𝑄 = ( 𝐽 π1 ( 𝐹 ‘ 1 ) )
pi1xfr.b 𝐵 = ( Base ‘ 𝑃 )
pi1xfr.g 𝐺 = ran ( 𝑔 𝐵 ↦ ⟨ [ 𝑔 ] ( ≃ph𝐽 ) , [ ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ] ( ≃ph𝐽 ) ⟩ )
pi1xfr.j ( 𝜑𝐽 ∈ ( TopOn ‘ 𝑋 ) )
pi1xfr.f ( 𝜑𝐹 ∈ ( II Cn 𝐽 ) )
pi1xfrval.i ( 𝜑𝐼 ∈ ( II Cn 𝐽 ) )
pi1xfrval.1 ( 𝜑 → ( 𝐹 ‘ 1 ) = ( 𝐼 ‘ 0 ) )
pi1xfrval.2 ( 𝜑 → ( 𝐼 ‘ 1 ) = ( 𝐹 ‘ 0 ) )
Assertion pi1xfrf ( 𝜑𝐺 : 𝐵 ⟶ ( Base ‘ 𝑄 ) )

Proof

Step Hyp Ref Expression
1 pi1xfr.p 𝑃 = ( 𝐽 π1 ( 𝐹 ‘ 0 ) )
2 pi1xfr.q 𝑄 = ( 𝐽 π1 ( 𝐹 ‘ 1 ) )
3 pi1xfr.b 𝐵 = ( Base ‘ 𝑃 )
4 pi1xfr.g 𝐺 = ran ( 𝑔 𝐵 ↦ ⟨ [ 𝑔 ] ( ≃ph𝐽 ) , [ ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ] ( ≃ph𝐽 ) ⟩ )
5 pi1xfr.j ( 𝜑𝐽 ∈ ( TopOn ‘ 𝑋 ) )
6 pi1xfr.f ( 𝜑𝐹 ∈ ( II Cn 𝐽 ) )
7 pi1xfrval.i ( 𝜑𝐼 ∈ ( II Cn 𝐽 ) )
8 pi1xfrval.1 ( 𝜑 → ( 𝐹 ‘ 1 ) = ( 𝐼 ‘ 0 ) )
9 pi1xfrval.2 ( 𝜑 → ( 𝐼 ‘ 1 ) = ( 𝐹 ‘ 0 ) )
10 5 adantr ( ( 𝜑𝑔 𝐵 ) → 𝐽 ∈ ( TopOn ‘ 𝑋 ) )
11 iitopon II ∈ ( TopOn ‘ ( 0 [,] 1 ) )
12 cnf2 ( ( II ∈ ( TopOn ‘ ( 0 [,] 1 ) ) ∧ 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐹 ∈ ( II Cn 𝐽 ) ) → 𝐹 : ( 0 [,] 1 ) ⟶ 𝑋 )
13 11 5 6 12 mp3an2i ( 𝜑𝐹 : ( 0 [,] 1 ) ⟶ 𝑋 )
14 0elunit 0 ∈ ( 0 [,] 1 )
15 ffvelrn ( ( 𝐹 : ( 0 [,] 1 ) ⟶ 𝑋 ∧ 0 ∈ ( 0 [,] 1 ) ) → ( 𝐹 ‘ 0 ) ∈ 𝑋 )
16 13 14 15 sylancl ( 𝜑 → ( 𝐹 ‘ 0 ) ∈ 𝑋 )
17 16 adantr ( ( 𝜑𝑔 𝐵 ) → ( 𝐹 ‘ 0 ) ∈ 𝑋 )
18 3 a1i ( 𝜑𝐵 = ( Base ‘ 𝑃 ) )
19 1 5 16 18 pi1eluni ( 𝜑 → ( 𝑔 𝐵 ↔ ( 𝑔 ∈ ( II Cn 𝐽 ) ∧ ( 𝑔 ‘ 0 ) = ( 𝐹 ‘ 0 ) ∧ ( 𝑔 ‘ 1 ) = ( 𝐹 ‘ 0 ) ) ) )
20 19 biimpa ( ( 𝜑𝑔 𝐵 ) → ( 𝑔 ∈ ( II Cn 𝐽 ) ∧ ( 𝑔 ‘ 0 ) = ( 𝐹 ‘ 0 ) ∧ ( 𝑔 ‘ 1 ) = ( 𝐹 ‘ 0 ) ) )
21 20 simp1d ( ( 𝜑𝑔 𝐵 ) → 𝑔 ∈ ( II Cn 𝐽 ) )
22 20 simp2d ( ( 𝜑𝑔 𝐵 ) → ( 𝑔 ‘ 0 ) = ( 𝐹 ‘ 0 ) )
23 20 simp3d ( ( 𝜑𝑔 𝐵 ) → ( 𝑔 ‘ 1 ) = ( 𝐹 ‘ 0 ) )
24 1 3 10 17 21 22 23 elpi1i ( ( 𝜑𝑔 𝐵 ) → [ 𝑔 ] ( ≃ph𝐽 ) ∈ 𝐵 )
25 eqid ( Base ‘ 𝑄 ) = ( Base ‘ 𝑄 )
26 1elunit 1 ∈ ( 0 [,] 1 )
27 ffvelrn ( ( 𝐹 : ( 0 [,] 1 ) ⟶ 𝑋 ∧ 1 ∈ ( 0 [,] 1 ) ) → ( 𝐹 ‘ 1 ) ∈ 𝑋 )
28 13 26 27 sylancl ( 𝜑 → ( 𝐹 ‘ 1 ) ∈ 𝑋 )
29 28 adantr ( ( 𝜑𝑔 𝐵 ) → ( 𝐹 ‘ 1 ) ∈ 𝑋 )
30 7 adantr ( ( 𝜑𝑔 𝐵 ) → 𝐼 ∈ ( II Cn 𝐽 ) )
31 6 adantr ( ( 𝜑𝑔 𝐵 ) → 𝐹 ∈ ( II Cn 𝐽 ) )
32 21 31 23 pcocn ( ( 𝜑𝑔 𝐵 ) → ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ∈ ( II Cn 𝐽 ) )
33 21 31 pco0 ( ( 𝜑𝑔 𝐵 ) → ( ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ‘ 0 ) = ( 𝑔 ‘ 0 ) )
34 9 adantr ( ( 𝜑𝑔 𝐵 ) → ( 𝐼 ‘ 1 ) = ( 𝐹 ‘ 0 ) )
35 22 33 34 3eqtr4rd ( ( 𝜑𝑔 𝐵 ) → ( 𝐼 ‘ 1 ) = ( ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ‘ 0 ) )
36 30 32 35 pcocn ( ( 𝜑𝑔 𝐵 ) → ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ∈ ( II Cn 𝐽 ) )
37 30 32 pco0 ( ( 𝜑𝑔 𝐵 ) → ( ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ‘ 0 ) = ( 𝐼 ‘ 0 ) )
38 8 adantr ( ( 𝜑𝑔 𝐵 ) → ( 𝐹 ‘ 1 ) = ( 𝐼 ‘ 0 ) )
39 37 38 eqtr4d ( ( 𝜑𝑔 𝐵 ) → ( ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ‘ 0 ) = ( 𝐹 ‘ 1 ) )
40 30 32 pco1 ( ( 𝜑𝑔 𝐵 ) → ( ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ‘ 1 ) = ( ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ‘ 1 ) )
41 21 31 pco1 ( ( 𝜑𝑔 𝐵 ) → ( ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ‘ 1 ) = ( 𝐹 ‘ 1 ) )
42 40 41 eqtrd ( ( 𝜑𝑔 𝐵 ) → ( ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ‘ 1 ) = ( 𝐹 ‘ 1 ) )
43 2 25 10 29 36 39 42 elpi1i ( ( 𝜑𝑔 𝐵 ) → [ ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ] ( ≃ph𝐽 ) ∈ ( Base ‘ 𝑄 ) )
44 eceq1 ( 𝑔 = → [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) )
45 oveq1 ( 𝑔 = → ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) = ( ( *𝑝𝐽 ) 𝐹 ) )
46 45 oveq2d ( 𝑔 = → ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) = ( 𝐼 ( *𝑝𝐽 ) ( ( *𝑝𝐽 ) 𝐹 ) ) )
47 46 eceq1d ( 𝑔 = → [ ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ] ( ≃ph𝐽 ) = [ ( 𝐼 ( *𝑝𝐽 ) ( ( *𝑝𝐽 ) 𝐹 ) ) ] ( ≃ph𝐽 ) )
48 phtpcer ( ≃ph𝐽 ) Er ( II Cn 𝐽 )
49 48 a1i ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → ( ≃ph𝐽 ) Er ( II Cn 𝐽 ) )
50 22 3ad2antr1 ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → ( 𝑔 ‘ 0 ) = ( 𝐹 ‘ 0 ) )
51 21 3ad2antr1 ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → 𝑔 ∈ ( II Cn 𝐽 ) )
52 6 adantr ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → 𝐹 ∈ ( II Cn 𝐽 ) )
53 51 52 pco0 ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → ( ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ‘ 0 ) = ( 𝑔 ‘ 0 ) )
54 9 adantr ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → ( 𝐼 ‘ 1 ) = ( 𝐹 ‘ 0 ) )
55 50 53 54 3eqtr4rd ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → ( 𝐼 ‘ 1 ) = ( ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ‘ 0 ) )
56 7 adantr ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → 𝐼 ∈ ( II Cn 𝐽 ) )
57 49 56 erref ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → 𝐼 ( ≃ph𝐽 ) 𝐼 )
58 23 3ad2antr1 ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → ( 𝑔 ‘ 1 ) = ( 𝐹 ‘ 0 ) )
59 simpr3 ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) )
60 49 51 erth ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → ( 𝑔 ( ≃ph𝐽 ) ↔ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) )
61 59 60 mpbird ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → 𝑔 ( ≃ph𝐽 ) )
62 49 52 erref ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → 𝐹 ( ≃ph𝐽 ) 𝐹 )
63 58 61 62 pcohtpy ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ( ≃ph𝐽 ) ( ( *𝑝𝐽 ) 𝐹 ) )
64 55 57 63 pcohtpy ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ( ≃ph𝐽 ) ( 𝐼 ( *𝑝𝐽 ) ( ( *𝑝𝐽 ) 𝐹 ) ) )
65 49 64 erthi ( ( 𝜑 ∧ ( 𝑔 𝐵 𝐵 ∧ [ 𝑔 ] ( ≃ph𝐽 ) = [ ] ( ≃ph𝐽 ) ) ) → [ ( 𝐼 ( *𝑝𝐽 ) ( 𝑔 ( *𝑝𝐽 ) 𝐹 ) ) ] ( ≃ph𝐽 ) = [ ( 𝐼 ( *𝑝𝐽 ) ( ( *𝑝𝐽 ) 𝐹 ) ) ] ( ≃ph𝐽 ) )
66 4 24 43 44 47 65 fliftfund ( 𝜑 → Fun 𝐺 )
67 4 24 43 fliftf ( 𝜑 → ( Fun 𝐺𝐺 : ran ( 𝑔 𝐵 ↦ [ 𝑔 ] ( ≃ph𝐽 ) ) ⟶ ( Base ‘ 𝑄 ) ) )
68 66 67 mpbid ( 𝜑𝐺 : ran ( 𝑔 𝐵 ↦ [ 𝑔 ] ( ≃ph𝐽 ) ) ⟶ ( Base ‘ 𝑄 ) )
69 1 5 16 18 pi1bas2 ( 𝜑𝐵 = ( 𝐵 / ( ≃ph𝐽 ) ) )
70 df-qs ( 𝐵 / ( ≃ph𝐽 ) ) = { 𝑠 ∣ ∃ 𝑔 𝐵 𝑠 = [ 𝑔 ] ( ≃ph𝐽 ) }
71 eqid ( 𝑔 𝐵 ↦ [ 𝑔 ] ( ≃ph𝐽 ) ) = ( 𝑔 𝐵 ↦ [ 𝑔 ] ( ≃ph𝐽 ) )
72 71 rnmpt ran ( 𝑔 𝐵 ↦ [ 𝑔 ] ( ≃ph𝐽 ) ) = { 𝑠 ∣ ∃ 𝑔 𝐵 𝑠 = [ 𝑔 ] ( ≃ph𝐽 ) }
73 70 72 eqtr4i ( 𝐵 / ( ≃ph𝐽 ) ) = ran ( 𝑔 𝐵 ↦ [ 𝑔 ] ( ≃ph𝐽 ) )
74 69 73 eqtrdi ( 𝜑𝐵 = ran ( 𝑔 𝐵 ↦ [ 𝑔 ] ( ≃ph𝐽 ) ) )
75 74 feq2d ( 𝜑 → ( 𝐺 : 𝐵 ⟶ ( Base ‘ 𝑄 ) ↔ 𝐺 : ran ( 𝑔 𝐵 ↦ [ 𝑔 ] ( ≃ph𝐽 ) ) ⟶ ( Base ‘ 𝑄 ) ) )
76 68 75 mpbird ( 𝜑𝐺 : 𝐵 ⟶ ( Base ‘ 𝑄 ) )