Metamath Proof Explorer


Theorem istmd

Description: The predicate "is a topological monoid". (Contributed by Mario Carneiro, 19-Sep-2015)

Ref Expression
Hypotheses istmd.1 𝐹 = ( +𝑓𝐺 )
istmd.2 𝐽 = ( TopOpen ‘ 𝐺 )
Assertion istmd ( 𝐺 ∈ TopMnd ↔ ( 𝐺 ∈ Mnd ∧ 𝐺 ∈ TopSp ∧ 𝐹 ∈ ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) ) )

Proof

Step Hyp Ref Expression
1 istmd.1 𝐹 = ( +𝑓𝐺 )
2 istmd.2 𝐽 = ( TopOpen ‘ 𝐺 )
3 elin ( 𝐺 ∈ ( Mnd ∩ TopSp ) ↔ ( 𝐺 ∈ Mnd ∧ 𝐺 ∈ TopSp ) )
4 3 anbi1i ( ( 𝐺 ∈ ( Mnd ∩ TopSp ) ∧ 𝐹 ∈ ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) ) ↔ ( ( 𝐺 ∈ Mnd ∧ 𝐺 ∈ TopSp ) ∧ 𝐹 ∈ ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) ) )
5 fvexd ( 𝑓 = 𝐺 → ( TopOpen ‘ 𝑓 ) ∈ V )
6 simpl ( ( 𝑓 = 𝐺𝑗 = ( TopOpen ‘ 𝑓 ) ) → 𝑓 = 𝐺 )
7 6 fveq2d ( ( 𝑓 = 𝐺𝑗 = ( TopOpen ‘ 𝑓 ) ) → ( +𝑓𝑓 ) = ( +𝑓𝐺 ) )
8 7 1 eqtr4di ( ( 𝑓 = 𝐺𝑗 = ( TopOpen ‘ 𝑓 ) ) → ( +𝑓𝑓 ) = 𝐹 )
9 id ( 𝑗 = ( TopOpen ‘ 𝑓 ) → 𝑗 = ( TopOpen ‘ 𝑓 ) )
10 fveq2 ( 𝑓 = 𝐺 → ( TopOpen ‘ 𝑓 ) = ( TopOpen ‘ 𝐺 ) )
11 10 2 eqtr4di ( 𝑓 = 𝐺 → ( TopOpen ‘ 𝑓 ) = 𝐽 )
12 9 11 sylan9eqr ( ( 𝑓 = 𝐺𝑗 = ( TopOpen ‘ 𝑓 ) ) → 𝑗 = 𝐽 )
13 12 12 oveq12d ( ( 𝑓 = 𝐺𝑗 = ( TopOpen ‘ 𝑓 ) ) → ( 𝑗 ×t 𝑗 ) = ( 𝐽 ×t 𝐽 ) )
14 13 12 oveq12d ( ( 𝑓 = 𝐺𝑗 = ( TopOpen ‘ 𝑓 ) ) → ( ( 𝑗 ×t 𝑗 ) Cn 𝑗 ) = ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) )
15 8 14 eleq12d ( ( 𝑓 = 𝐺𝑗 = ( TopOpen ‘ 𝑓 ) ) → ( ( +𝑓𝑓 ) ∈ ( ( 𝑗 ×t 𝑗 ) Cn 𝑗 ) ↔ 𝐹 ∈ ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) ) )
16 5 15 sbcied ( 𝑓 = 𝐺 → ( [ ( TopOpen ‘ 𝑓 ) / 𝑗 ] ( +𝑓𝑓 ) ∈ ( ( 𝑗 ×t 𝑗 ) Cn 𝑗 ) ↔ 𝐹 ∈ ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) ) )
17 df-tmd TopMnd = { 𝑓 ∈ ( Mnd ∩ TopSp ) ∣ [ ( TopOpen ‘ 𝑓 ) / 𝑗 ] ( +𝑓𝑓 ) ∈ ( ( 𝑗 ×t 𝑗 ) Cn 𝑗 ) }
18 16 17 elrab2 ( 𝐺 ∈ TopMnd ↔ ( 𝐺 ∈ ( Mnd ∩ TopSp ) ∧ 𝐹 ∈ ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) ) )
19 df-3an ( ( 𝐺 ∈ Mnd ∧ 𝐺 ∈ TopSp ∧ 𝐹 ∈ ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) ) ↔ ( ( 𝐺 ∈ Mnd ∧ 𝐺 ∈ TopSp ) ∧ 𝐹 ∈ ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) ) )
20 4 18 19 3bitr4i ( 𝐺 ∈ TopMnd ↔ ( 𝐺 ∈ Mnd ∧ 𝐺 ∈ TopSp ∧ 𝐹 ∈ ( ( 𝐽 ×t 𝐽 ) Cn 𝐽 ) ) )