Metamath Proof Explorer


Theorem finodsubmsubg

Description: A submonoid whose elements have finite order is a subgroup. (Contributed by SN, 31-Jan-2025)

Ref Expression
Hypotheses finodsubmsubg.o 𝑂 = ( od ‘ 𝐺 )
finodsubmsubg.g ( 𝜑𝐺 ∈ Grp )
finodsubmsubg.s ( 𝜑𝑆 ∈ ( SubMnd ‘ 𝐺 ) )
finodsubmsubg.1 ( 𝜑 → ∀ 𝑎𝑆 ( 𝑂𝑎 ) ∈ ℕ )
Assertion finodsubmsubg ( 𝜑𝑆 ∈ ( SubGrp ‘ 𝐺 ) )

Proof

Step Hyp Ref Expression
1 finodsubmsubg.o 𝑂 = ( od ‘ 𝐺 )
2 finodsubmsubg.g ( 𝜑𝐺 ∈ Grp )
3 finodsubmsubg.s ( 𝜑𝑆 ∈ ( SubMnd ‘ 𝐺 ) )
4 finodsubmsubg.1 ( 𝜑 → ∀ 𝑎𝑆 ( 𝑂𝑎 ) ∈ ℕ )
5 eqid ( Base ‘ 𝐺 ) = ( Base ‘ 𝐺 )
6 eqid ( .g𝐺 ) = ( .g𝐺 )
7 eqid ( invg𝐺 ) = ( invg𝐺 )
8 2 adantr ( ( 𝜑𝑎𝑆 ) → 𝐺 ∈ Grp )
9 5 submss ( 𝑆 ∈ ( SubMnd ‘ 𝐺 ) → 𝑆 ⊆ ( Base ‘ 𝐺 ) )
10 3 9 syl ( 𝜑𝑆 ⊆ ( Base ‘ 𝐺 ) )
11 10 sselda ( ( 𝜑𝑎𝑆 ) → 𝑎 ∈ ( Base ‘ 𝐺 ) )
12 5 1 6 7 8 11 odm1inv ( ( 𝜑𝑎𝑆 ) → ( ( ( 𝑂𝑎 ) − 1 ) ( .g𝐺 ) 𝑎 ) = ( ( invg𝐺 ) ‘ 𝑎 ) )
13 12 adantr ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → ( ( ( 𝑂𝑎 ) − 1 ) ( .g𝐺 ) 𝑎 ) = ( ( invg𝐺 ) ‘ 𝑎 ) )
14 eqid ( Base ‘ ( 𝐺s 𝑆 ) ) = ( Base ‘ ( 𝐺s 𝑆 ) )
15 eqid ( .g ‘ ( 𝐺s 𝑆 ) ) = ( .g ‘ ( 𝐺s 𝑆 ) )
16 eqid ( 𝐺s 𝑆 ) = ( 𝐺s 𝑆 )
17 16 submmnd ( 𝑆 ∈ ( SubMnd ‘ 𝐺 ) → ( 𝐺s 𝑆 ) ∈ Mnd )
18 3 17 syl ( 𝜑 → ( 𝐺s 𝑆 ) ∈ Mnd )
19 18 ad2antrr ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → ( 𝐺s 𝑆 ) ∈ Mnd )
20 nnm1nn0 ( ( 𝑂𝑎 ) ∈ ℕ → ( ( 𝑂𝑎 ) − 1 ) ∈ ℕ0 )
21 20 adantl ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → ( ( 𝑂𝑎 ) − 1 ) ∈ ℕ0 )
22 simplr ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → 𝑎𝑆 )
23 16 5 ressbas2 ( 𝑆 ⊆ ( Base ‘ 𝐺 ) → 𝑆 = ( Base ‘ ( 𝐺s 𝑆 ) ) )
24 10 23 syl ( 𝜑𝑆 = ( Base ‘ ( 𝐺s 𝑆 ) ) )
25 24 ad2antrr ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → 𝑆 = ( Base ‘ ( 𝐺s 𝑆 ) ) )
26 22 25 eleqtrd ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → 𝑎 ∈ ( Base ‘ ( 𝐺s 𝑆 ) ) )
27 14 15 19 21 26 mulgnn0cld ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → ( ( ( 𝑂𝑎 ) − 1 ) ( .g ‘ ( 𝐺s 𝑆 ) ) 𝑎 ) ∈ ( Base ‘ ( 𝐺s 𝑆 ) ) )
28 3 ad2antrr ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → 𝑆 ∈ ( SubMnd ‘ 𝐺 ) )
29 6 16 15 submmulg ( ( 𝑆 ∈ ( SubMnd ‘ 𝐺 ) ∧ ( ( 𝑂𝑎 ) − 1 ) ∈ ℕ0𝑎𝑆 ) → ( ( ( 𝑂𝑎 ) − 1 ) ( .g𝐺 ) 𝑎 ) = ( ( ( 𝑂𝑎 ) − 1 ) ( .g ‘ ( 𝐺s 𝑆 ) ) 𝑎 ) )
30 28 21 22 29 syl3anc ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → ( ( ( 𝑂𝑎 ) − 1 ) ( .g𝐺 ) 𝑎 ) = ( ( ( 𝑂𝑎 ) − 1 ) ( .g ‘ ( 𝐺s 𝑆 ) ) 𝑎 ) )
31 27 30 25 3eltr4d ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → ( ( ( 𝑂𝑎 ) − 1 ) ( .g𝐺 ) 𝑎 ) ∈ 𝑆 )
32 13 31 eqeltrrd ( ( ( 𝜑𝑎𝑆 ) ∧ ( 𝑂𝑎 ) ∈ ℕ ) → ( ( invg𝐺 ) ‘ 𝑎 ) ∈ 𝑆 )
33 32 ex ( ( 𝜑𝑎𝑆 ) → ( ( 𝑂𝑎 ) ∈ ℕ → ( ( invg𝐺 ) ‘ 𝑎 ) ∈ 𝑆 ) )
34 33 ralimdva ( 𝜑 → ( ∀ 𝑎𝑆 ( 𝑂𝑎 ) ∈ ℕ → ∀ 𝑎𝑆 ( ( invg𝐺 ) ‘ 𝑎 ) ∈ 𝑆 ) )
35 4 34 mpd ( 𝜑 → ∀ 𝑎𝑆 ( ( invg𝐺 ) ‘ 𝑎 ) ∈ 𝑆 )
36 7 issubg3 ( 𝐺 ∈ Grp → ( 𝑆 ∈ ( SubGrp ‘ 𝐺 ) ↔ ( 𝑆 ∈ ( SubMnd ‘ 𝐺 ) ∧ ∀ 𝑎𝑆 ( ( invg𝐺 ) ‘ 𝑎 ) ∈ 𝑆 ) ) )
37 2 36 syl ( 𝜑 → ( 𝑆 ∈ ( SubGrp ‘ 𝐺 ) ↔ ( 𝑆 ∈ ( SubMnd ‘ 𝐺 ) ∧ ∀ 𝑎𝑆 ( ( invg𝐺 ) ‘ 𝑎 ) ∈ 𝑆 ) ) )
38 3 35 37 mpbir2and ( 𝜑𝑆 ∈ ( SubGrp ‘ 𝐺 ) )