This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Peano's inductive postulate. Theorem I.36 (principle of mathematical induction) of Apostol p. 34. (Contributed by NM, 10-Jan-1997) (Revised by Mario Carneiro, 17-Nov-2014)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | peano5nni | ⊢ ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ℕ ⊆ 𝐴 ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | df-nn | ⊢ ℕ = ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) “ ω ) | |
| 2 | df-ima | ⊢ ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) “ ω ) = ran ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) | |
| 3 | 1 2 | eqtri | ⊢ ℕ = ran ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) |
| 4 | frfnom | ⊢ ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) Fn ω | |
| 5 | 4 | a1i | ⊢ ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) Fn ω ) |
| 6 | fveq2 | ⊢ ( 𝑦 = ∅ → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) = ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ ∅ ) ) | |
| 7 | 6 | eleq1d | ⊢ ( 𝑦 = ∅ → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) ∈ 𝐴 ↔ ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ ∅ ) ∈ 𝐴 ) ) |
| 8 | fveq2 | ⊢ ( 𝑦 = 𝑧 → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) = ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) ) | |
| 9 | 8 | eleq1d | ⊢ ( 𝑦 = 𝑧 → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) ∈ 𝐴 ↔ ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) ∈ 𝐴 ) ) |
| 10 | fveq2 | ⊢ ( 𝑦 = suc 𝑧 → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) = ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑧 ) ) | |
| 11 | 10 | eleq1d | ⊢ ( 𝑦 = suc 𝑧 → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) ∈ 𝐴 ↔ ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑧 ) ∈ 𝐴 ) ) |
| 12 | ax-1cn | ⊢ 1 ∈ ℂ | |
| 13 | fr0g | ⊢ ( 1 ∈ ℂ → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ ∅ ) = 1 ) | |
| 14 | 12 13 | ax-mp | ⊢ ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ ∅ ) = 1 |
| 15 | simpl | ⊢ ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → 1 ∈ 𝐴 ) | |
| 16 | 14 15 | eqeltrid | ⊢ ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ ∅ ) ∈ 𝐴 ) |
| 17 | oveq1 | ⊢ ( 𝑥 = ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) → ( 𝑥 + 1 ) = ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ) | |
| 18 | 17 | eleq1d | ⊢ ( 𝑥 = ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) → ( ( 𝑥 + 1 ) ∈ 𝐴 ↔ ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ∈ 𝐴 ) ) |
| 19 | 18 | rspccv | ⊢ ( ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) ∈ 𝐴 → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ∈ 𝐴 ) ) |
| 20 | 19 | ad2antlr | ⊢ ( ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) ∧ 𝑧 ∈ ω ) → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) ∈ 𝐴 → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ∈ 𝐴 ) ) |
| 21 | ovex | ⊢ ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ∈ V | |
| 22 | eqid | ⊢ ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) = ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) | |
| 23 | oveq1 | ⊢ ( 𝑦 = 𝑛 → ( 𝑦 + 1 ) = ( 𝑛 + 1 ) ) | |
| 24 | oveq1 | ⊢ ( 𝑦 = ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) → ( 𝑦 + 1 ) = ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ) | |
| 25 | 22 23 24 | frsucmpt2 | ⊢ ( ( 𝑧 ∈ ω ∧ ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ∈ V ) → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑧 ) = ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ) |
| 26 | 21 25 | mpan2 | ⊢ ( 𝑧 ∈ ω → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑧 ) = ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ) |
| 27 | 26 | eleq1d | ⊢ ( 𝑧 ∈ ω → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑧 ) ∈ 𝐴 ↔ ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ∈ 𝐴 ) ) |
| 28 | 27 | adantl | ⊢ ( ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) ∧ 𝑧 ∈ ω ) → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑧 ) ∈ 𝐴 ↔ ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) + 1 ) ∈ 𝐴 ) ) |
| 29 | 20 28 | sylibrd | ⊢ ( ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) ∧ 𝑧 ∈ ω ) → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) ∈ 𝐴 → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑧 ) ∈ 𝐴 ) ) |
| 30 | 29 | expcom | ⊢ ( 𝑧 ∈ ω → ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ( ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑧 ) ∈ 𝐴 → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ suc 𝑧 ) ∈ 𝐴 ) ) ) |
| 31 | 7 9 11 16 30 | finds2 | ⊢ ( 𝑦 ∈ ω → ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) ∈ 𝐴 ) ) |
| 32 | 31 | com12 | ⊢ ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ( 𝑦 ∈ ω → ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) ∈ 𝐴 ) ) |
| 33 | 32 | ralrimiv | ⊢ ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ∀ 𝑦 ∈ ω ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) ∈ 𝐴 ) |
| 34 | ffnfv | ⊢ ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) : ω ⟶ 𝐴 ↔ ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) Fn ω ∧ ∀ 𝑦 ∈ ω ( ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ‘ 𝑦 ) ∈ 𝐴 ) ) | |
| 35 | 5 33 34 | sylanbrc | ⊢ ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) : ω ⟶ 𝐴 ) |
| 36 | 35 | frnd | ⊢ ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ran ( rec ( ( 𝑛 ∈ V ↦ ( 𝑛 + 1 ) ) , 1 ) ↾ ω ) ⊆ 𝐴 ) |
| 37 | 3 36 | eqsstrid | ⊢ ( ( 1 ∈ 𝐴 ∧ ∀ 𝑥 ∈ 𝐴 ( 𝑥 + 1 ) ∈ 𝐴 ) → ℕ ⊆ 𝐴 ) |