Metamath Proof Explorer


Theorem om1val

Description: The definition of the loop space. (Contributed by Mario Carneiro, 10-Jul-2015)

Ref Expression
Hypotheses om1val.o 𝑂 = ( 𝐽 Ω1 𝑌 )
om1val.b ( 𝜑𝐵 = { 𝑓 ∈ ( II Cn 𝐽 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑌 ∧ ( 𝑓 ‘ 1 ) = 𝑌 ) } )
om1val.p ( 𝜑+ = ( *𝑝𝐽 ) )
om1val.k ( 𝜑𝐾 = ( 𝐽ko II ) )
om1val.j ( 𝜑𝐽 ∈ ( TopOn ‘ 𝑋 ) )
om1val.y ( 𝜑𝑌𝑋 )
Assertion om1val ( 𝜑𝑂 = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐾 ⟩ } )

Proof

Step Hyp Ref Expression
1 om1val.o 𝑂 = ( 𝐽 Ω1 𝑌 )
2 om1val.b ( 𝜑𝐵 = { 𝑓 ∈ ( II Cn 𝐽 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑌 ∧ ( 𝑓 ‘ 1 ) = 𝑌 ) } )
3 om1val.p ( 𝜑+ = ( *𝑝𝐽 ) )
4 om1val.k ( 𝜑𝐾 = ( 𝐽ko II ) )
5 om1val.j ( 𝜑𝐽 ∈ ( TopOn ‘ 𝑋 ) )
6 om1val.y ( 𝜑𝑌𝑋 )
7 df-om1 Ω1 = ( 𝑗 ∈ Top , 𝑦 𝑗 ↦ { ⟨ ( Base ‘ ndx ) , { 𝑓 ∈ ( II Cn 𝑗 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑦 ∧ ( 𝑓 ‘ 1 ) = 𝑦 ) } ⟩ , ⟨ ( +g ‘ ndx ) , ( *𝑝𝑗 ) ⟩ , ⟨ ( TopSet ‘ ndx ) , ( 𝑗ko II ) ⟩ } )
8 7 a1i ( 𝜑 → Ω1 = ( 𝑗 ∈ Top , 𝑦 𝑗 ↦ { ⟨ ( Base ‘ ndx ) , { 𝑓 ∈ ( II Cn 𝑗 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑦 ∧ ( 𝑓 ‘ 1 ) = 𝑦 ) } ⟩ , ⟨ ( +g ‘ ndx ) , ( *𝑝𝑗 ) ⟩ , ⟨ ( TopSet ‘ ndx ) , ( 𝑗ko II ) ⟩ } ) )
9 simprl ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → 𝑗 = 𝐽 )
10 9 oveq2d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ( II Cn 𝑗 ) = ( II Cn 𝐽 ) )
11 simprr ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → 𝑦 = 𝑌 )
12 11 eqeq2d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ( ( 𝑓 ‘ 0 ) = 𝑦 ↔ ( 𝑓 ‘ 0 ) = 𝑌 ) )
13 11 eqeq2d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ( ( 𝑓 ‘ 1 ) = 𝑦 ↔ ( 𝑓 ‘ 1 ) = 𝑌 ) )
14 12 13 anbi12d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ( ( ( 𝑓 ‘ 0 ) = 𝑦 ∧ ( 𝑓 ‘ 1 ) = 𝑦 ) ↔ ( ( 𝑓 ‘ 0 ) = 𝑌 ∧ ( 𝑓 ‘ 1 ) = 𝑌 ) ) )
15 10 14 rabeqbidv ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → { 𝑓 ∈ ( II Cn 𝑗 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑦 ∧ ( 𝑓 ‘ 1 ) = 𝑦 ) } = { 𝑓 ∈ ( II Cn 𝐽 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑌 ∧ ( 𝑓 ‘ 1 ) = 𝑌 ) } )
16 2 adantr ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → 𝐵 = { 𝑓 ∈ ( II Cn 𝐽 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑌 ∧ ( 𝑓 ‘ 1 ) = 𝑌 ) } )
17 15 16 eqtr4d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → { 𝑓 ∈ ( II Cn 𝑗 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑦 ∧ ( 𝑓 ‘ 1 ) = 𝑦 ) } = 𝐵 )
18 17 opeq2d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ⟨ ( Base ‘ ndx ) , { 𝑓 ∈ ( II Cn 𝑗 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑦 ∧ ( 𝑓 ‘ 1 ) = 𝑦 ) } ⟩ = ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ )
19 9 fveq2d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ( *𝑝𝑗 ) = ( *𝑝𝐽 ) )
20 3 adantr ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → + = ( *𝑝𝐽 ) )
21 19 20 eqtr4d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ( *𝑝𝑗 ) = + )
22 21 opeq2d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ⟨ ( +g ‘ ndx ) , ( *𝑝𝑗 ) ⟩ = ⟨ ( +g ‘ ndx ) , + ⟩ )
23 9 oveq1d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ( 𝑗ko II ) = ( 𝐽ko II ) )
24 4 adantr ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → 𝐾 = ( 𝐽ko II ) )
25 23 24 eqtr4d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ( 𝑗ko II ) = 𝐾 )
26 25 opeq2d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → ⟨ ( TopSet ‘ ndx ) , ( 𝑗ko II ) ⟩ = ⟨ ( TopSet ‘ ndx ) , 𝐾 ⟩ )
27 18 22 26 tpeq123d ( ( 𝜑 ∧ ( 𝑗 = 𝐽𝑦 = 𝑌 ) ) → { ⟨ ( Base ‘ ndx ) , { 𝑓 ∈ ( II Cn 𝑗 ) ∣ ( ( 𝑓 ‘ 0 ) = 𝑦 ∧ ( 𝑓 ‘ 1 ) = 𝑦 ) } ⟩ , ⟨ ( +g ‘ ndx ) , ( *𝑝𝑗 ) ⟩ , ⟨ ( TopSet ‘ ndx ) , ( 𝑗ko II ) ⟩ } = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐾 ⟩ } )
28 unieq ( 𝑗 = 𝐽 𝑗 = 𝐽 )
29 28 adantl ( ( 𝜑𝑗 = 𝐽 ) → 𝑗 = 𝐽 )
30 toponuni ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) → 𝑋 = 𝐽 )
31 5 30 syl ( 𝜑𝑋 = 𝐽 )
32 31 adantr ( ( 𝜑𝑗 = 𝐽 ) → 𝑋 = 𝐽 )
33 29 32 eqtr4d ( ( 𝜑𝑗 = 𝐽 ) → 𝑗 = 𝑋 )
34 topontop ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) → 𝐽 ∈ Top )
35 5 34 syl ( 𝜑𝐽 ∈ Top )
36 tpex { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐾 ⟩ } ∈ V
37 36 a1i ( 𝜑 → { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐾 ⟩ } ∈ V )
38 8 27 33 35 6 37 ovmpodx ( 𝜑 → ( 𝐽 Ω1 𝑌 ) = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐾 ⟩ } )
39 1 38 eqtrid ( 𝜑𝑂 = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐾 ⟩ } )