| Step | Hyp | Ref | Expression | 
						
							| 1 |  | odf1.1 | ⊢ 𝑋  =  ( Base ‘ 𝐺 ) | 
						
							| 2 |  | odf1.2 | ⊢ 𝑂  =  ( od ‘ 𝐺 ) | 
						
							| 3 |  | odf1.3 | ⊢  ·   =  ( .g ‘ 𝐺 ) | 
						
							| 4 |  | odf1.4 | ⊢ 𝐹  =  ( 𝑥  ∈  ℤ  ↦  ( 𝑥  ·  𝐴 ) ) | 
						
							| 5 |  | fzfid | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ∈  Fin ) | 
						
							| 6 | 1 3 | mulgcl | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝑥  ∈  ℤ  ∧  𝐴  ∈  𝑋 )  →  ( 𝑥  ·  𝐴 )  ∈  𝑋 ) | 
						
							| 7 | 6 | 3expa | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝑥  ∈  ℤ )  ∧  𝐴  ∈  𝑋 )  →  ( 𝑥  ·  𝐴 )  ∈  𝑋 ) | 
						
							| 8 | 7 | an32s | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  𝑥  ∈  ℤ )  →  ( 𝑥  ·  𝐴 )  ∈  𝑋 ) | 
						
							| 9 | 8 | adantlr | ⊢ ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  →  ( 𝑥  ·  𝐴 )  ∈  𝑋 ) | 
						
							| 10 | 9 4 | fmptd | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  𝐹 : ℤ ⟶ 𝑋 ) | 
						
							| 11 |  | frn | ⊢ ( 𝐹 : ℤ ⟶ 𝑋  →  ran  𝐹  ⊆  𝑋 ) | 
						
							| 12 | 1 | fvexi | ⊢ 𝑋  ∈  V | 
						
							| 13 | 12 | ssex | ⊢ ( ran  𝐹  ⊆  𝑋  →  ran  𝐹  ∈  V ) | 
						
							| 14 | 10 11 13 | 3syl | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ran  𝐹  ∈  V ) | 
						
							| 15 |  | elfzelz | ⊢ ( 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  →  𝑦  ∈  ℤ ) | 
						
							| 16 | 15 | adantl | ⊢ ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  𝑦  ∈  ℤ ) | 
						
							| 17 |  | ovex | ⊢ ( 𝑦  ·  𝐴 )  ∈  V | 
						
							| 18 |  | oveq1 | ⊢ ( 𝑥  =  𝑦  →  ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) | 
						
							| 19 | 4 18 | elrnmpt1s | ⊢ ( ( 𝑦  ∈  ℤ  ∧  ( 𝑦  ·  𝐴 )  ∈  V )  →  ( 𝑦  ·  𝐴 )  ∈  ran  𝐹 ) | 
						
							| 20 | 16 17 19 | sylancl | ⊢ ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( 𝑦  ·  𝐴 )  ∈  ran  𝐹 ) | 
						
							| 21 | 20 | ralrimiva | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ∀ 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( 𝑦  ·  𝐴 )  ∈  ran  𝐹 ) | 
						
							| 22 |  | zmodfz | ⊢ ( ( 𝑥  ∈  ℤ  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 23 | 22 | ancoms | ⊢ ( ( ( 𝑂 ‘ 𝐴 )  ∈  ℕ  ∧  𝑥  ∈  ℤ )  →  ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 24 | 23 | adantll | ⊢ ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  →  ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 25 |  | simpllr | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( 𝑂 ‘ 𝐴 )  ∈  ℕ ) | 
						
							| 26 |  | simplr | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  𝑥  ∈  ℤ ) | 
						
							| 27 | 15 | adantl | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  𝑦  ∈  ℤ ) | 
						
							| 28 |  | moddvds | ⊢ ( ( ( 𝑂 ‘ 𝐴 )  ∈  ℕ  ∧  𝑥  ∈  ℤ  ∧  𝑦  ∈  ℤ )  →  ( ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  =  ( 𝑦  mod  ( 𝑂 ‘ 𝐴 ) )  ↔  ( 𝑂 ‘ 𝐴 )  ∥  ( 𝑥  −  𝑦 ) ) ) | 
						
							| 29 | 25 26 27 28 | syl3anc | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  =  ( 𝑦  mod  ( 𝑂 ‘ 𝐴 ) )  ↔  ( 𝑂 ‘ 𝐴 )  ∥  ( 𝑥  −  𝑦 ) ) ) | 
						
							| 30 | 27 | zred | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  𝑦  ∈  ℝ ) | 
						
							| 31 | 25 | nnrpd | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( 𝑂 ‘ 𝐴 )  ∈  ℝ+ ) | 
						
							| 32 |  | 0z | ⊢ 0  ∈  ℤ | 
						
							| 33 |  | nnz | ⊢ ( ( 𝑂 ‘ 𝐴 )  ∈  ℕ  →  ( 𝑂 ‘ 𝐴 )  ∈  ℤ ) | 
						
							| 34 | 33 | adantl | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 𝑂 ‘ 𝐴 )  ∈  ℤ ) | 
						
							| 35 | 34 | adantr | ⊢ ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  →  ( 𝑂 ‘ 𝐴 )  ∈  ℤ ) | 
						
							| 36 |  | elfzm11 | ⊢ ( ( 0  ∈  ℤ  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℤ )  →  ( 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ↔  ( 𝑦  ∈  ℤ  ∧  0  ≤  𝑦  ∧  𝑦  <  ( 𝑂 ‘ 𝐴 ) ) ) ) | 
						
							| 37 | 32 35 36 | sylancr | ⊢ ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  →  ( 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ↔  ( 𝑦  ∈  ℤ  ∧  0  ≤  𝑦  ∧  𝑦  <  ( 𝑂 ‘ 𝐴 ) ) ) ) | 
						
							| 38 | 37 | biimpa | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( 𝑦  ∈  ℤ  ∧  0  ≤  𝑦  ∧  𝑦  <  ( 𝑂 ‘ 𝐴 ) ) ) | 
						
							| 39 | 38 | simp2d | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  0  ≤  𝑦 ) | 
						
							| 40 | 38 | simp3d | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  𝑦  <  ( 𝑂 ‘ 𝐴 ) ) | 
						
							| 41 |  | modid | ⊢ ( ( ( 𝑦  ∈  ℝ  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℝ+ )  ∧  ( 0  ≤  𝑦  ∧  𝑦  <  ( 𝑂 ‘ 𝐴 ) ) )  →  ( 𝑦  mod  ( 𝑂 ‘ 𝐴 ) )  =  𝑦 ) | 
						
							| 42 | 30 31 39 40 41 | syl22anc | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( 𝑦  mod  ( 𝑂 ‘ 𝐴 ) )  =  𝑦 ) | 
						
							| 43 | 42 | eqeq2d | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  =  ( 𝑦  mod  ( 𝑂 ‘ 𝐴 ) )  ↔  ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  =  𝑦 ) ) | 
						
							| 44 |  | eqcom | ⊢ ( ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  =  𝑦  ↔  𝑦  =  ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) ) ) | 
						
							| 45 | 43 44 | bitrdi | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  =  ( 𝑦  mod  ( 𝑂 ‘ 𝐴 ) )  ↔  𝑦  =  ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) ) ) ) | 
						
							| 46 |  | simp-4l | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  𝐺  ∈  Grp ) | 
						
							| 47 |  | simp-4r | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  𝐴  ∈  𝑋 ) | 
						
							| 48 |  | eqid | ⊢ ( 0g ‘ 𝐺 )  =  ( 0g ‘ 𝐺 ) | 
						
							| 49 | 1 2 3 48 | odcong | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋  ∧  ( 𝑥  ∈  ℤ  ∧  𝑦  ∈  ℤ ) )  →  ( ( 𝑂 ‘ 𝐴 )  ∥  ( 𝑥  −  𝑦 )  ↔  ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) ) | 
						
							| 50 | 46 47 26 27 49 | syl112anc | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( ( 𝑂 ‘ 𝐴 )  ∥  ( 𝑥  −  𝑦 )  ↔  ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) ) | 
						
							| 51 | 29 45 50 | 3bitr3rd | ⊢ ( ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  ∧  𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) )  →  ( ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 )  ↔  𝑦  =  ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) ) ) ) | 
						
							| 52 | 51 | ralrimiva | ⊢ ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  →  ∀ 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 )  ↔  𝑦  =  ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) ) ) ) | 
						
							| 53 |  | reu6i | ⊢ ( ( ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) )  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ∧  ∀ 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 )  ↔  𝑦  =  ( 𝑥  mod  ( 𝑂 ‘ 𝐴 ) ) ) )  →  ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) | 
						
							| 54 | 24 52 53 | syl2anc | ⊢ ( ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  ∧  𝑥  ∈  ℤ )  →  ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) | 
						
							| 55 | 54 | ralrimiva | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ∀ 𝑥  ∈  ℤ ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) | 
						
							| 56 |  | ovex | ⊢ ( 𝑥  ·  𝐴 )  ∈  V | 
						
							| 57 | 56 | rgenw | ⊢ ∀ 𝑥  ∈  ℤ ( 𝑥  ·  𝐴 )  ∈  V | 
						
							| 58 |  | eqeq1 | ⊢ ( 𝑧  =  ( 𝑥  ·  𝐴 )  →  ( 𝑧  =  ( 𝑦  ·  𝐴 )  ↔  ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) ) | 
						
							| 59 | 58 | reubidv | ⊢ ( 𝑧  =  ( 𝑥  ·  𝐴 )  →  ( ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) 𝑧  =  ( 𝑦  ·  𝐴 )  ↔  ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) ) | 
						
							| 60 | 4 59 | ralrnmptw | ⊢ ( ∀ 𝑥  ∈  ℤ ( 𝑥  ·  𝐴 )  ∈  V  →  ( ∀ 𝑧  ∈  ran  𝐹 ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) 𝑧  =  ( 𝑦  ·  𝐴 )  ↔  ∀ 𝑥  ∈  ℤ ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) ) | 
						
							| 61 | 57 60 | ax-mp | ⊢ ( ∀ 𝑧  ∈  ran  𝐹 ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) 𝑧  =  ( 𝑦  ·  𝐴 )  ↔  ∀ 𝑥  ∈  ℤ ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( 𝑥  ·  𝐴 )  =  ( 𝑦  ·  𝐴 ) ) | 
						
							| 62 | 55 61 | sylibr | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ∀ 𝑧  ∈  ran  𝐹 ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) 𝑧  =  ( 𝑦  ·  𝐴 ) ) | 
						
							| 63 |  | eqid | ⊢ ( 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ↦  ( 𝑦  ·  𝐴 ) )  =  ( 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ↦  ( 𝑦  ·  𝐴 ) ) | 
						
							| 64 | 63 | f1ompt | ⊢ ( ( 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ↦  ( 𝑦  ·  𝐴 ) ) : ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) –1-1-onto→ ran  𝐹  ↔  ( ∀ 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ( 𝑦  ·  𝐴 )  ∈  ran  𝐹  ∧  ∀ 𝑧  ∈  ran  𝐹 ∃! 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) 𝑧  =  ( 𝑦  ·  𝐴 ) ) ) | 
						
							| 65 | 21 62 64 | sylanbrc | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ↦  ( 𝑦  ·  𝐴 ) ) : ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) –1-1-onto→ ran  𝐹 ) | 
						
							| 66 |  | f1oen2g | ⊢ ( ( ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ∈  Fin  ∧  ran  𝐹  ∈  V  ∧  ( 𝑦  ∈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ↦  ( 𝑦  ·  𝐴 ) ) : ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) –1-1-onto→ ran  𝐹 )  →  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ≈  ran  𝐹 ) | 
						
							| 67 | 5 14 65 66 | syl3anc | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ≈  ran  𝐹 ) | 
						
							| 68 |  | enfi | ⊢ ( ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ≈  ran  𝐹  →  ( ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ∈  Fin  ↔  ran  𝐹  ∈  Fin ) ) | 
						
							| 69 | 67 68 | syl | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ∈  Fin  ↔  ran  𝐹  ∈  Fin ) ) | 
						
							| 70 | 5 69 | mpbid | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ran  𝐹  ∈  Fin ) | 
						
							| 71 | 70 | iftrued | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  if ( ran  𝐹  ∈  Fin ,  ( ♯ ‘ ran  𝐹 ) ,  0 )  =  ( ♯ ‘ ran  𝐹 ) ) | 
						
							| 72 |  | fz01en | ⊢ ( ( 𝑂 ‘ 𝐴 )  ∈  ℤ  →  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ≈  ( 1 ... ( 𝑂 ‘ 𝐴 ) ) ) | 
						
							| 73 |  | ensym | ⊢ ( ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ≈  ( 1 ... ( 𝑂 ‘ 𝐴 ) )  →  ( 1 ... ( 𝑂 ‘ 𝐴 ) )  ≈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 74 | 34 72 73 | 3syl | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 1 ... ( 𝑂 ‘ 𝐴 ) )  ≈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) ) ) | 
						
							| 75 |  | entr | ⊢ ( ( ( 1 ... ( 𝑂 ‘ 𝐴 ) )  ≈  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ∧  ( 0 ... ( ( 𝑂 ‘ 𝐴 )  −  1 ) )  ≈  ran  𝐹 )  →  ( 1 ... ( 𝑂 ‘ 𝐴 ) )  ≈  ran  𝐹 ) | 
						
							| 76 | 74 67 75 | syl2anc | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 1 ... ( 𝑂 ‘ 𝐴 ) )  ≈  ran  𝐹 ) | 
						
							| 77 |  | fzfid | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 1 ... ( 𝑂 ‘ 𝐴 ) )  ∈  Fin ) | 
						
							| 78 |  | hashen | ⊢ ( ( ( 1 ... ( 𝑂 ‘ 𝐴 ) )  ∈  Fin  ∧  ran  𝐹  ∈  Fin )  →  ( ( ♯ ‘ ( 1 ... ( 𝑂 ‘ 𝐴 ) ) )  =  ( ♯ ‘ ran  𝐹 )  ↔  ( 1 ... ( 𝑂 ‘ 𝐴 ) )  ≈  ran  𝐹 ) ) | 
						
							| 79 | 77 70 78 | syl2anc | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( ( ♯ ‘ ( 1 ... ( 𝑂 ‘ 𝐴 ) ) )  =  ( ♯ ‘ ran  𝐹 )  ↔  ( 1 ... ( 𝑂 ‘ 𝐴 ) )  ≈  ran  𝐹 ) ) | 
						
							| 80 | 76 79 | mpbird | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( ♯ ‘ ( 1 ... ( 𝑂 ‘ 𝐴 ) ) )  =  ( ♯ ‘ ran  𝐹 ) ) | 
						
							| 81 |  | nnnn0 | ⊢ ( ( 𝑂 ‘ 𝐴 )  ∈  ℕ  →  ( 𝑂 ‘ 𝐴 )  ∈  ℕ0 ) | 
						
							| 82 | 81 | adantl | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 𝑂 ‘ 𝐴 )  ∈  ℕ0 ) | 
						
							| 83 |  | hashfz1 | ⊢ ( ( 𝑂 ‘ 𝐴 )  ∈  ℕ0  →  ( ♯ ‘ ( 1 ... ( 𝑂 ‘ 𝐴 ) ) )  =  ( 𝑂 ‘ 𝐴 ) ) | 
						
							| 84 | 82 83 | syl | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( ♯ ‘ ( 1 ... ( 𝑂 ‘ 𝐴 ) ) )  =  ( 𝑂 ‘ 𝐴 ) ) | 
						
							| 85 | 71 80 84 | 3eqtr2rd | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  ∈  ℕ )  →  ( 𝑂 ‘ 𝐴 )  =  if ( ran  𝐹  ∈  Fin ,  ( ♯ ‘ ran  𝐹 ) ,  0 ) ) | 
						
							| 86 |  | simp3 | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋  ∧  ( 𝑂 ‘ 𝐴 )  =  0 )  →  ( 𝑂 ‘ 𝐴 )  =  0 ) | 
						
							| 87 | 1 2 3 4 | odinf | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋  ∧  ( 𝑂 ‘ 𝐴 )  =  0 )  →  ¬  ran  𝐹  ∈  Fin ) | 
						
							| 88 | 87 | iffalsed | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋  ∧  ( 𝑂 ‘ 𝐴 )  =  0 )  →  if ( ran  𝐹  ∈  Fin ,  ( ♯ ‘ ran  𝐹 ) ,  0 )  =  0 ) | 
						
							| 89 | 86 88 | eqtr4d | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋  ∧  ( 𝑂 ‘ 𝐴 )  =  0 )  →  ( 𝑂 ‘ 𝐴 )  =  if ( ran  𝐹  ∈  Fin ,  ( ♯ ‘ ran  𝐹 ) ,  0 ) ) | 
						
							| 90 | 89 | 3expa | ⊢ ( ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  ∧  ( 𝑂 ‘ 𝐴 )  =  0 )  →  ( 𝑂 ‘ 𝐴 )  =  if ( ran  𝐹  ∈  Fin ,  ( ♯ ‘ ran  𝐹 ) ,  0 ) ) | 
						
							| 91 | 1 2 | odcl | ⊢ ( 𝐴  ∈  𝑋  →  ( 𝑂 ‘ 𝐴 )  ∈  ℕ0 ) | 
						
							| 92 | 91 | adantl | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  →  ( 𝑂 ‘ 𝐴 )  ∈  ℕ0 ) | 
						
							| 93 |  | elnn0 | ⊢ ( ( 𝑂 ‘ 𝐴 )  ∈  ℕ0  ↔  ( ( 𝑂 ‘ 𝐴 )  ∈  ℕ  ∨  ( 𝑂 ‘ 𝐴 )  =  0 ) ) | 
						
							| 94 | 92 93 | sylib | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  →  ( ( 𝑂 ‘ 𝐴 )  ∈  ℕ  ∨  ( 𝑂 ‘ 𝐴 )  =  0 ) ) | 
						
							| 95 | 85 90 94 | mpjaodan | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  →  ( 𝑂 ‘ 𝐴 )  =  if ( ran  𝐹  ∈  Fin ,  ( ♯ ‘ ran  𝐹 ) ,  0 ) ) |