Metamath Proof Explorer


Theorem odlem2

Description: Any positive annihilator of a group element is an upper bound on the (positive) order of the element. (Contributed by Mario Carneiro, 14-Jan-2015) (Revised by Stefan O'Rear, 5-Sep-2015) (Proof shortened by AV, 5-Oct-2020)

Ref Expression
Hypotheses odcl.1 𝑋 = ( Base ‘ 𝐺 )
odcl.2 𝑂 = ( od ‘ 𝐺 )
odid.3 · = ( .g𝐺 )
odid.4 0 = ( 0g𝐺 )
Assertion odlem2 ( ( 𝐴𝑋𝑁 ∈ ℕ ∧ ( 𝑁 · 𝐴 ) = 0 ) → ( 𝑂𝐴 ) ∈ ( 1 ... 𝑁 ) )

Proof

Step Hyp Ref Expression
1 odcl.1 𝑋 = ( Base ‘ 𝐺 )
2 odcl.2 𝑂 = ( od ‘ 𝐺 )
3 odid.3 · = ( .g𝐺 )
4 odid.4 0 = ( 0g𝐺 )
5 oveq1 ( 𝑦 = 𝑁 → ( 𝑦 · 𝐴 ) = ( 𝑁 · 𝐴 ) )
6 5 eqeq1d ( 𝑦 = 𝑁 → ( ( 𝑦 · 𝐴 ) = 0 ↔ ( 𝑁 · 𝐴 ) = 0 ) )
7 6 elrab ( 𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ↔ ( 𝑁 ∈ ℕ ∧ ( 𝑁 · 𝐴 ) = 0 ) )
8 eqid { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } = { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 }
9 1 3 4 2 8 odval ( 𝐴𝑋 → ( 𝑂𝐴 ) = if ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } = ∅ , 0 , inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ) )
10 n0i ( 𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } → ¬ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } = ∅ )
11 10 iffalsed ( 𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } → if ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } = ∅ , 0 , inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ) = inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) )
12 9 11 sylan9eq ( ( 𝐴𝑋𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ) → ( 𝑂𝐴 ) = inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) )
13 ssrab2 { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ⊆ ℕ
14 nnuz ℕ = ( ℤ ‘ 1 )
15 13 14 sseqtri { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ⊆ ( ℤ ‘ 1 )
16 ne0i ( 𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } → { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ≠ ∅ )
17 16 adantl ( ( 𝐴𝑋𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ) → { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ≠ ∅ )
18 infssuzcl ( ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ⊆ ( ℤ ‘ 1 ) ∧ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ≠ ∅ ) → inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } )
19 15 17 18 sylancr ( ( 𝐴𝑋𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ) → inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } )
20 13 19 sselid ( ( 𝐴𝑋𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ) → inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ ℕ )
21 infssuzle ( ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ⊆ ( ℤ ‘ 1 ) ∧ 𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ) → inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ≤ 𝑁 )
22 15 21 mpan ( 𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } → inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ≤ 𝑁 )
23 22 adantl ( ( 𝐴𝑋𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ) → inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ≤ 𝑁 )
24 elrabi ( 𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } → 𝑁 ∈ ℕ )
25 24 nnzd ( 𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } → 𝑁 ∈ ℤ )
26 fznn ( 𝑁 ∈ ℤ → ( inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ ( 1 ... 𝑁 ) ↔ ( inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ ℕ ∧ inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ≤ 𝑁 ) ) )
27 25 26 syl ( 𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } → ( inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ ( 1 ... 𝑁 ) ↔ ( inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ ℕ ∧ inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ≤ 𝑁 ) ) )
28 27 adantl ( ( 𝐴𝑋𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ) → ( inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ ( 1 ... 𝑁 ) ↔ ( inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ ℕ ∧ inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ≤ 𝑁 ) ) )
29 20 23 28 mpbir2and ( ( 𝐴𝑋𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ) → inf ( { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } , ℝ , < ) ∈ ( 1 ... 𝑁 ) )
30 12 29 eqeltrd ( ( 𝐴𝑋𝑁 ∈ { 𝑦 ∈ ℕ ∣ ( 𝑦 · 𝐴 ) = 0 } ) → ( 𝑂𝐴 ) ∈ ( 1 ... 𝑁 ) )
31 7 30 sylan2br ( ( 𝐴𝑋 ∧ ( 𝑁 ∈ ℕ ∧ ( 𝑁 · 𝐴 ) = 0 ) ) → ( 𝑂𝐴 ) ∈ ( 1 ... 𝑁 ) )
32 31 3impb ( ( 𝐴𝑋𝑁 ∈ ℕ ∧ ( 𝑁 · 𝐴 ) = 0 ) → ( 𝑂𝐴 ) ∈ ( 1 ... 𝑁 ) )