| Step | Hyp | Ref | Expression | 
						
							| 1 |  | eqid | ⊢ ( ℤ≥ ‘ 𝑀 )  =  ( ℤ≥ ‘ 𝑀 ) | 
						
							| 2 |  | simpr | ⊢ ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∧  𝑀  ∈  ℤ )  →  𝑀  ∈  ℤ ) | 
						
							| 3 |  | ax-1ne0 | ⊢ 1  ≠  0 | 
						
							| 4 | 3 | a1i | ⊢ ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∧  𝑀  ∈  ℤ )  →  1  ≠  0 ) | 
						
							| 5 | 1 | prodfclim1 | ⊢ ( 𝑀  ∈  ℤ  →  seq 𝑀 (  ·  ,  ( ( ℤ≥ ‘ 𝑀 )  ×  { 1 } ) )  ⇝  1 ) | 
						
							| 6 | 5 | adantl | ⊢ ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∧  𝑀  ∈  ℤ )  →  seq 𝑀 (  ·  ,  ( ( ℤ≥ ‘ 𝑀 )  ×  { 1 } ) )  ⇝  1 ) | 
						
							| 7 |  | simpl | ⊢ ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∧  𝑀  ∈  ℤ )  →  𝐴  ⊆  ( ℤ≥ ‘ 𝑀 ) ) | 
						
							| 8 |  | 1ex | ⊢ 1  ∈  V | 
						
							| 9 | 8 | fvconst2 | ⊢ ( 𝑘  ∈  ( ℤ≥ ‘ 𝑀 )  →  ( ( ( ℤ≥ ‘ 𝑀 )  ×  { 1 } ) ‘ 𝑘 )  =  1 ) | 
						
							| 10 |  | ifid | ⊢ if ( 𝑘  ∈  𝐴 ,  1 ,  1 )  =  1 | 
						
							| 11 | 9 10 | eqtr4di | ⊢ ( 𝑘  ∈  ( ℤ≥ ‘ 𝑀 )  →  ( ( ( ℤ≥ ‘ 𝑀 )  ×  { 1 } ) ‘ 𝑘 )  =  if ( 𝑘  ∈  𝐴 ,  1 ,  1 ) ) | 
						
							| 12 | 11 | adantl | ⊢ ( ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∧  𝑀  ∈  ℤ )  ∧  𝑘  ∈  ( ℤ≥ ‘ 𝑀 ) )  →  ( ( ( ℤ≥ ‘ 𝑀 )  ×  { 1 } ) ‘ 𝑘 )  =  if ( 𝑘  ∈  𝐴 ,  1 ,  1 ) ) | 
						
							| 13 |  | 1cnd | ⊢ ( ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∧  𝑀  ∈  ℤ )  ∧  𝑘  ∈  𝐴 )  →  1  ∈  ℂ ) | 
						
							| 14 | 1 2 4 6 7 12 13 | zprodn0 | ⊢ ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∧  𝑀  ∈  ℤ )  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) | 
						
							| 15 |  | uzf | ⊢ ℤ≥ : ℤ ⟶ 𝒫  ℤ | 
						
							| 16 | 15 | fdmi | ⊢ dom  ℤ≥  =  ℤ | 
						
							| 17 | 16 | eleq2i | ⊢ ( 𝑀  ∈  dom  ℤ≥  ↔  𝑀  ∈  ℤ ) | 
						
							| 18 |  | ndmfv | ⊢ ( ¬  𝑀  ∈  dom  ℤ≥  →  ( ℤ≥ ‘ 𝑀 )  =  ∅ ) | 
						
							| 19 | 17 18 | sylnbir | ⊢ ( ¬  𝑀  ∈  ℤ  →  ( ℤ≥ ‘ 𝑀 )  =  ∅ ) | 
						
							| 20 | 19 | sseq2d | ⊢ ( ¬  𝑀  ∈  ℤ  →  ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ↔  𝐴  ⊆  ∅ ) ) | 
						
							| 21 | 20 | biimpac | ⊢ ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∧  ¬  𝑀  ∈  ℤ )  →  𝐴  ⊆  ∅ ) | 
						
							| 22 |  | ss0 | ⊢ ( 𝐴  ⊆  ∅  →  𝐴  =  ∅ ) | 
						
							| 23 |  | prodeq1 | ⊢ ( 𝐴  =  ∅  →  ∏ 𝑘  ∈  𝐴 1  =  ∏ 𝑘  ∈  ∅ 1 ) | 
						
							| 24 |  | prod0 | ⊢ ∏ 𝑘  ∈  ∅ 1  =  1 | 
						
							| 25 | 23 24 | eqtrdi | ⊢ ( 𝐴  =  ∅  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) | 
						
							| 26 | 21 22 25 | 3syl | ⊢ ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∧  ¬  𝑀  ∈  ℤ )  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) | 
						
							| 27 | 14 26 | pm2.61dan | ⊢ ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) | 
						
							| 28 |  | fz1f1o | ⊢ ( 𝐴  ∈  Fin  →  ( 𝐴  =  ∅  ∨  ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  ∃ 𝑓 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) ) ) | 
						
							| 29 |  | eqidd | ⊢ ( 𝑘  =  ( 𝑓 ‘ 𝑗 )  →  1  =  1 ) | 
						
							| 30 |  | simpl | ⊢ ( ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 )  →  ( ♯ ‘ 𝐴 )  ∈  ℕ ) | 
						
							| 31 |  | simpr | ⊢ ( ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 )  →  𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) | 
						
							| 32 |  | 1cnd | ⊢ ( ( ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 )  ∧  𝑘  ∈  𝐴 )  →  1  ∈  ℂ ) | 
						
							| 33 |  | elfznn | ⊢ ( 𝑗  ∈  ( 1 ... ( ♯ ‘ 𝐴 ) )  →  𝑗  ∈  ℕ ) | 
						
							| 34 | 8 | fvconst2 | ⊢ ( 𝑗  ∈  ℕ  →  ( ( ℕ  ×  { 1 } ) ‘ 𝑗 )  =  1 ) | 
						
							| 35 | 33 34 | syl | ⊢ ( 𝑗  ∈  ( 1 ... ( ♯ ‘ 𝐴 ) )  →  ( ( ℕ  ×  { 1 } ) ‘ 𝑗 )  =  1 ) | 
						
							| 36 | 35 | adantl | ⊢ ( ( ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 )  ∧  𝑗  ∈  ( 1 ... ( ♯ ‘ 𝐴 ) ) )  →  ( ( ℕ  ×  { 1 } ) ‘ 𝑗 )  =  1 ) | 
						
							| 37 | 29 30 31 32 36 | fprod | ⊢ ( ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 )  →  ∏ 𝑘  ∈  𝐴 1  =  ( seq 1 (  ·  ,  ( ℕ  ×  { 1 } ) ) ‘ ( ♯ ‘ 𝐴 ) ) ) | 
						
							| 38 |  | nnuz | ⊢ ℕ  =  ( ℤ≥ ‘ 1 ) | 
						
							| 39 | 38 | prodf1 | ⊢ ( ( ♯ ‘ 𝐴 )  ∈  ℕ  →  ( seq 1 (  ·  ,  ( ℕ  ×  { 1 } ) ) ‘ ( ♯ ‘ 𝐴 ) )  =  1 ) | 
						
							| 40 | 39 | adantr | ⊢ ( ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 )  →  ( seq 1 (  ·  ,  ( ℕ  ×  { 1 } ) ) ‘ ( ♯ ‘ 𝐴 ) )  =  1 ) | 
						
							| 41 | 37 40 | eqtrd | ⊢ ( ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 )  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) | 
						
							| 42 | 41 | ex | ⊢ ( ( ♯ ‘ 𝐴 )  ∈  ℕ  →  ( 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) ) | 
						
							| 43 | 42 | exlimdv | ⊢ ( ( ♯ ‘ 𝐴 )  ∈  ℕ  →  ( ∃ 𝑓 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) ) | 
						
							| 44 | 43 | imp | ⊢ ( ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  ∃ 𝑓 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 )  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) | 
						
							| 45 | 25 44 | jaoi | ⊢ ( ( 𝐴  =  ∅  ∨  ( ( ♯ ‘ 𝐴 )  ∈  ℕ  ∧  ∃ 𝑓 𝑓 : ( 1 ... ( ♯ ‘ 𝐴 ) ) –1-1-onto→ 𝐴 ) )  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) | 
						
							| 46 | 28 45 | syl | ⊢ ( 𝐴  ∈  Fin  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) | 
						
							| 47 | 27 46 | jaoi | ⊢ ( ( 𝐴  ⊆  ( ℤ≥ ‘ 𝑀 )  ∨  𝐴  ∈  Fin )  →  ∏ 𝑘  ∈  𝐴 1  =  1 ) |