Metamath Proof Explorer


Theorem peano2nn

Description: Peano postulate: a successor of a positive integer is a positive integer. (Contributed by NM, 11-Jan-1997) (Revised by Mario Carneiro, 17-Nov-2014)

Ref Expression
Assertion peano2nn ( 𝐴 ∈ ℕ → ( 𝐴 + 1 ) ∈ ℕ )

Proof

Step Hyp Ref Expression
1 frfnom ⊢ ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) Fn ω
2 fvelrnb ⊢ ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) Fn ω → ( 𝐴 ∈ ran ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ↔ ∃ 𝑦 ∈ ω ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) = 𝐴 ) )
3 1 2 ax-mp ⊢ ( 𝐴 ∈ ran ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ↔ ∃ 𝑦 ∈ ω ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) = 𝐴 )
4 ovex ⊢ ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) + 1 ) ∈ V
5 eqid ⊢ ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) = ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω )
6 oveq1 ⊢ ( 𝑧 = 𝑥 → ( 𝑧 + 1 ) = ( 𝑥 + 1 ) )
7 oveq1 ⊢ ( 𝑧 = ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) → ( 𝑧 + 1 ) = ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) + 1 ) )
8 5 6 7 frsucmpt2 ⊢ ( ( 𝑦 ∈ ω ∧ ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) + 1 ) ∈ V ) → ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑦 ) = ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) + 1 ) )
9 4 8 mpan2 ⊢ ( 𝑦 ∈ ω → ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑦 ) = ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) + 1 ) )
10 peano2 ⊢ ( 𝑦 ∈ ω → suc 𝑦 ∈ ω )
11 fnfvelrn ⊢ ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) Fn ω ∧ suc 𝑦 ∈ ω ) → ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑦 ) ∈ ran ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) )
12 1 10 11 sylancr ⊢ ( 𝑦 ∈ ω → ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑦 ) ∈ ran ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) )
13 df-nn ⊢ ℕ = ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) “ ω )
14 df-ima ⊢ ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) “ ω ) = ran ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω )
15 13 14 eqtri ⊢ ℕ = ran ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω )
16 12 15 eleqtrrdi ⊢ ( 𝑦 ∈ ω → ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑦 ) ∈ ℕ )
17 9 16 eqeltrrd ⊢ ( 𝑦 ∈ ω → ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) + 1 ) ∈ ℕ )
18 oveq1 ⊢ ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) = 𝐴 → ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) + 1 ) = ( 𝐴 + 1 ) )
19 18 eleq1d ⊢ ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) = 𝐴 → ( ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) + 1 ) ∈ ℕ ↔ ( 𝐴 + 1 ) ∈ ℕ ) )
20 17 19 syl5ibcom ⊢ ( 𝑦 ∈ ω → ( ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) = 𝐴 → ( 𝐴 + 1 ) ∈ ℕ ) )
21 20 rexlimiv ⊢ ( ∃ 𝑦 ∈ ω ( ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) = 𝐴 → ( 𝐴 + 1 ) ∈ ℕ )
22 3 21 sylbi ⊢ ( 𝐴 ∈ ran ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 + 1 ) ) , 1 ) ↾ ω ) → ( 𝐴 + 1 ) ∈ ℕ )
23 22 15 eleq2s ⊢ ( 𝐴 ∈ ℕ → ( 𝐴 + 1 ) ∈ ℕ )