| Step | 
						Hyp | 
						Ref | 
						Expression | 
					
						
							| 1 | 
							
								
							 | 
							fveq2 | 
							⊢ ( 𝑥  =  0  →  ( Ack ‘ 𝑥 )  =  ( Ack ‘ 0 ) )  | 
						
						
							| 2 | 
							
								1
							 | 
							feq1d | 
							⊢ ( 𝑥  =  0  →  ( ( Ack ‘ 𝑥 ) : ℕ0 ⟶ ℕ0  ↔  ( Ack ‘ 0 ) : ℕ0 ⟶ ℕ0 ) )  | 
						
						
							| 3 | 
							
								
							 | 
							fveq2 | 
							⊢ ( 𝑥  =  𝑦  →  ( Ack ‘ 𝑥 )  =  ( Ack ‘ 𝑦 ) )  | 
						
						
							| 4 | 
							
								3
							 | 
							feq1d | 
							⊢ ( 𝑥  =  𝑦  →  ( ( Ack ‘ 𝑥 ) : ℕ0 ⟶ ℕ0  ↔  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 ) )  | 
						
						
							| 5 | 
							
								
							 | 
							fveq2 | 
							⊢ ( 𝑥  =  ( 𝑦  +  1 )  →  ( Ack ‘ 𝑥 )  =  ( Ack ‘ ( 𝑦  +  1 ) ) )  | 
						
						
							| 6 | 
							
								5
							 | 
							feq1d | 
							⊢ ( 𝑥  =  ( 𝑦  +  1 )  →  ( ( Ack ‘ 𝑥 ) : ℕ0 ⟶ ℕ0  ↔  ( Ack ‘ ( 𝑦  +  1 ) ) : ℕ0 ⟶ ℕ0 ) )  | 
						
						
							| 7 | 
							
								
							 | 
							fveq2 | 
							⊢ ( 𝑥  =  𝑀  →  ( Ack ‘ 𝑥 )  =  ( Ack ‘ 𝑀 ) )  | 
						
						
							| 8 | 
							
								7
							 | 
							feq1d | 
							⊢ ( 𝑥  =  𝑀  →  ( ( Ack ‘ 𝑥 ) : ℕ0 ⟶ ℕ0  ↔  ( Ack ‘ 𝑀 ) : ℕ0 ⟶ ℕ0 ) )  | 
						
						
							| 9 | 
							
								
							 | 
							ackval0 | 
							⊢ ( Ack ‘ 0 )  =  ( 𝑛  ∈  ℕ0  ↦  ( 𝑛  +  1 ) )  | 
						
						
							| 10 | 
							
								
							 | 
							peano2nn0 | 
							⊢ ( 𝑛  ∈  ℕ0  →  ( 𝑛  +  1 )  ∈  ℕ0 )  | 
						
						
							| 11 | 
							
								9 10
							 | 
							fmpti | 
							⊢ ( Ack ‘ 0 ) : ℕ0 ⟶ ℕ0  | 
						
						
							| 12 | 
							
								
							 | 
							nn0ex | 
							⊢ ℕ0  ∈  V  | 
						
						
							| 13 | 
							
								12
							 | 
							a1i | 
							⊢ ( ( ( 𝑦  ∈  ℕ0  ∧  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  ∧  𝑛  ∈  ℕ0 )  →  ℕ0  ∈  V )  | 
						
						
							| 14 | 
							
								
							 | 
							simplr | 
							⊢ ( ( ( 𝑦  ∈  ℕ0  ∧  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  ∧  𝑛  ∈  ℕ0 )  →  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  | 
						
						
							| 15 | 
							
								10
							 | 
							adantl | 
							⊢ ( ( ( 𝑦  ∈  ℕ0  ∧  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  ∧  𝑛  ∈  ℕ0 )  →  ( 𝑛  +  1 )  ∈  ℕ0 )  | 
						
						
							| 16 | 
							
								13 14 15
							 | 
							itcovalendof | 
							⊢ ( ( ( 𝑦  ∈  ℕ0  ∧  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  ∧  𝑛  ∈  ℕ0 )  →  ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) : ℕ0 ⟶ ℕ0 )  | 
						
						
							| 17 | 
							
								
							 | 
							1nn0 | 
							⊢ 1  ∈  ℕ0  | 
						
						
							| 18 | 
							
								
							 | 
							ffvelcdm | 
							⊢ ( ( ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) : ℕ0 ⟶ ℕ0  ∧  1  ∈  ℕ0 )  →  ( ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) ‘ 1 )  ∈  ℕ0 )  | 
						
						
							| 19 | 
							
								16 17 18
							 | 
							sylancl | 
							⊢ ( ( ( 𝑦  ∈  ℕ0  ∧  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  ∧  𝑛  ∈  ℕ0 )  →  ( ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) ‘ 1 )  ∈  ℕ0 )  | 
						
						
							| 20 | 
							
								
							 | 
							eqid | 
							⊢ ( 𝑛  ∈  ℕ0  ↦  ( ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) ‘ 1 ) )  =  ( 𝑛  ∈  ℕ0  ↦  ( ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) ‘ 1 ) )  | 
						
						
							| 21 | 
							
								19 20
							 | 
							fmptd | 
							⊢ ( ( 𝑦  ∈  ℕ0  ∧  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  →  ( 𝑛  ∈  ℕ0  ↦  ( ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) ‘ 1 ) ) : ℕ0 ⟶ ℕ0 )  | 
						
						
							| 22 | 
							
								
							 | 
							ackvalsuc1mpt | 
							⊢ ( 𝑦  ∈  ℕ0  →  ( Ack ‘ ( 𝑦  +  1 ) )  =  ( 𝑛  ∈  ℕ0  ↦  ( ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) ‘ 1 ) ) )  | 
						
						
							| 23 | 
							
								22
							 | 
							adantr | 
							⊢ ( ( 𝑦  ∈  ℕ0  ∧  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  →  ( Ack ‘ ( 𝑦  +  1 ) )  =  ( 𝑛  ∈  ℕ0  ↦  ( ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) ‘ 1 ) ) )  | 
						
						
							| 24 | 
							
								23
							 | 
							feq1d | 
							⊢ ( ( 𝑦  ∈  ℕ0  ∧  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  →  ( ( Ack ‘ ( 𝑦  +  1 ) ) : ℕ0 ⟶ ℕ0  ↔  ( 𝑛  ∈  ℕ0  ↦  ( ( ( IterComp ‘ ( Ack ‘ 𝑦 ) ) ‘ ( 𝑛  +  1 ) ) ‘ 1 ) ) : ℕ0 ⟶ ℕ0 ) )  | 
						
						
							| 25 | 
							
								21 24
							 | 
							mpbird | 
							⊢ ( ( 𝑦  ∈  ℕ0  ∧  ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0 )  →  ( Ack ‘ ( 𝑦  +  1 ) ) : ℕ0 ⟶ ℕ0 )  | 
						
						
							| 26 | 
							
								25
							 | 
							ex | 
							⊢ ( 𝑦  ∈  ℕ0  →  ( ( Ack ‘ 𝑦 ) : ℕ0 ⟶ ℕ0  →  ( Ack ‘ ( 𝑦  +  1 ) ) : ℕ0 ⟶ ℕ0 ) )  | 
						
						
							| 27 | 
							
								2 4 6 8 11 26
							 | 
							nn0ind | 
							⊢ ( 𝑀  ∈  ℕ0  →  ( Ack ‘ 𝑀 ) : ℕ0 ⟶ ℕ0 )  |