Metamath Proof Explorer


Theorem cycsubm

Description: The set of nonnegative integer powers of an element A of a monoid forms a submonoid containing A (see cycsubmcl ), called the cyclic monoid generated by the element A . This corresponds to the statement in Lang p. 6. (Contributed by AV, 28-Dec-2023)

Ref Expression
Hypotheses cycsubm.b ⊢ B = Base G
cycsubm.t ⊢ · ˙ = ⋅ G
cycsubm.f ⊢ F = x ∈ ℕ 0 ⟼ x · ˙ A
cycsubm.c ⊢ C = ran ⁡ F
Assertion cycsubm ⊢ G ∈ Mnd ∧ A ∈ B → C ∈ SubMnd ⁡ G

Proof

Step Hyp Ref Expression
1 cycsubm.b ⊢ B = Base G
2 cycsubm.t ⊢ · ˙ = ⋅ G
3 cycsubm.f ⊢ F = x ∈ ℕ 0 ⟼ x · ˙ A
4 cycsubm.c ⊢ C = ran ⁡ F
5 1 2 mulgnn0cl ⊢ G ∈ Mnd ∧ x ∈ ℕ 0 ∧ A ∈ B → x · ˙ A ∈ B
6 5 3expa ⊢ G ∈ Mnd ∧ x ∈ ℕ 0 ∧ A ∈ B → x · ˙ A ∈ B
7 6 an32s ⊢ G ∈ Mnd ∧ A ∈ B ∧ x ∈ ℕ 0 → x · ˙ A ∈ B
8 7 3 fmptd ⊢ G ∈ Mnd ∧ A ∈ B → F : ℕ 0 ⟶ B
9 8 frnd ⊢ G ∈ Mnd ∧ A ∈ B → ran ⁡ F ⊆ B
10 4 9 eqsstrid ⊢ G ∈ Mnd ∧ A ∈ B → C ⊆ B
11 0nn0 ⊢ 0 ∈ ℕ 0
12 11 a1i ⊢ G ∈ Mnd ∧ A ∈ B → 0 ∈ ℕ 0
13 oveq1 ⊢ i = 0 → i · ˙ A = 0 · ˙ A
14 13 eqeq2d ⊢ i = 0 → 0 G = i · ˙ A ↔ 0 G = 0 · ˙ A
15 14 adantl ⊢ G ∈ Mnd ∧ A ∈ B ∧ i = 0 → 0 G = i · ˙ A ↔ 0 G = 0 · ˙ A
16 eqid ⊢ 0 G = 0 G
17 1 16 2 mulg0 ⊢ A ∈ B → 0 · ˙ A = 0 G
18 17 adantl ⊢ G ∈ Mnd ∧ A ∈ B → 0 · ˙ A = 0 G
19 18 eqcomd ⊢ G ∈ Mnd ∧ A ∈ B → 0 G = 0 · ˙ A
20 12 15 19 rspcedvd ⊢ G ∈ Mnd ∧ A ∈ B → ∃ i ∈ ℕ 0 0 G = i · ˙ A
21 1 2 3 4 cycsubmel ⊢ 0 G ∈ C ↔ ∃ i ∈ ℕ 0 0 G = i · ˙ A
22 20 21 sylibr ⊢ G ∈ Mnd ∧ A ∈ B → 0 G ∈ C
23 simplr ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 → i ∈ ℕ 0
24 simpr ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 → j ∈ ℕ 0
25 23 24 nn0addcld ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 → i + j ∈ ℕ 0
26 25 adantr ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 ∧ b = j · ˙ A ∧ a = i · ˙ A → i + j ∈ ℕ 0
27 oveq1 ⊢ k = i + j → k · ˙ A = i + j · ˙ A
28 27 eqeq2d ⊢ k = i + j → a + G b = k · ˙ A ↔ a + G b = i + j · ˙ A
29 28 adantl ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 ∧ b = j · ˙ A ∧ a = i · ˙ A ∧ k = i + j → a + G b = k · ˙ A ↔ a + G b = i + j · ˙ A
30 oveq12 ⊢ a = i · ˙ A ∧ b = j · ˙ A → a + G b = i · ˙ A + G j · ˙ A
31 30 ancoms ⊢ b = j · ˙ A ∧ a = i · ˙ A → a + G b = i · ˙ A + G j · ˙ A
32 simplll ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 → G ∈ Mnd
33 simpllr ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 → A ∈ B
34 eqid ⊢ + G = + G
35 1 2 34 mulgnn0dir ⊢ G ∈ Mnd ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 ∧ A ∈ B → i + j · ˙ A = i · ˙ A + G j · ˙ A
36 32 23 24 33 35 syl13anc ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 → i + j · ˙ A = i · ˙ A + G j · ˙ A
37 36 eqcomd ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 → i · ˙ A + G j · ˙ A = i + j · ˙ A
38 31 37 sylan9eqr ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 ∧ b = j · ˙ A ∧ a = i · ˙ A → a + G b = i + j · ˙ A
39 26 29 38 rspcedvd ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 ∧ b = j · ˙ A ∧ a = i · ˙ A → ∃ k ∈ ℕ 0 a + G b = k · ˙ A
40 39 exp32 ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 ∧ j ∈ ℕ 0 → b = j · ˙ A → a = i · ˙ A → ∃ k ∈ ℕ 0 a + G b = k · ˙ A
41 40 rexlimdva ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 → ∃ j ∈ ℕ 0 b = j · ˙ A → a = i · ˙ A → ∃ k ∈ ℕ 0 a + G b = k · ˙ A
42 41 com23 ⊢ G ∈ Mnd ∧ A ∈ B ∧ i ∈ ℕ 0 → a = i · ˙ A → ∃ j ∈ ℕ 0 b = j · ˙ A → ∃ k ∈ ℕ 0 a + G b = k · ˙ A
43 42 rexlimdva ⊢ G ∈ Mnd ∧ A ∈ B → ∃ i ∈ ℕ 0 a = i · ˙ A → ∃ j ∈ ℕ 0 b = j · ˙ A → ∃ k ∈ ℕ 0 a + G b = k · ˙ A
44 43 impd ⊢ G ∈ Mnd ∧ A ∈ B → ∃ i ∈ ℕ 0 a = i · ˙ A ∧ ∃ j ∈ ℕ 0 b = j · ˙ A → ∃ k ∈ ℕ 0 a + G b = k · ˙ A
45 1 2 3 4 cycsubmel ⊢ a ∈ C ↔ ∃ i ∈ ℕ 0 a = i · ˙ A
46 1 2 3 4 cycsubmel ⊢ b ∈ C ↔ ∃ j ∈ ℕ 0 b = j · ˙ A
47 45 46 anbi12i ⊢ a ∈ C ∧ b ∈ C ↔ ∃ i ∈ ℕ 0 a = i · ˙ A ∧ ∃ j ∈ ℕ 0 b = j · ˙ A
48 1 2 3 4 cycsubmel ⊢ a + G b ∈ C ↔ ∃ k ∈ ℕ 0 a + G b = k · ˙ A
49 44 47 48 3imtr4g ⊢ G ∈ Mnd ∧ A ∈ B → a ∈ C ∧ b ∈ C → a + G b ∈ C
50 49 ralrimivv ⊢ G ∈ Mnd ∧ A ∈ B → ∀ a ∈ C ∀ b ∈ C a + G b ∈ C
51 1 16 34 issubm ⊢ G ∈ Mnd → C ∈ SubMnd ⁡ G ↔ C ⊆ B ∧ 0 G ∈ C ∧ ∀ a ∈ C ∀ b ∈ C a + G b ∈ C
52 51 adantr ⊢ G ∈ Mnd ∧ A ∈ B → C ∈ SubMnd ⁡ G ↔ C ⊆ B ∧ 0 G ∈ C ∧ ∀ a ∈ C ∀ b ∈ C a + G b ∈ C
53 10 22 50 52 mpbir3and ⊢ G ∈ Mnd ∧ A ∈ B → C ∈ SubMnd ⁡ G