Metamath Proof Explorer


Theorem indpi

Description: Principle of Finite Induction on positive integers. (Contributed by NM, 23-Mar-1996) (New usage is discouraged.)

Ref Expression
Hypotheses indpi.1 ⊢ x = 1 𝑜 → φ ↔ ψ
indpi.2 ⊢ x = y → φ ↔ χ
indpi.3 ⊢ x = y + 𝑵 1 𝑜 → φ ↔ θ
indpi.4 ⊢ x = A → φ ↔ τ
indpi.5 ⊢ ψ
indpi.6 ⊢ y ∈ 𝑵 → χ → θ
Assertion indpi ⊢ A ∈ 𝑵 → τ

Proof

Step Hyp Ref Expression
1 indpi.1 ⊢ x = 1 𝑜 → φ ↔ ψ
2 indpi.2 ⊢ x = y → φ ↔ χ
3 indpi.3 ⊢ x = y + 𝑵 1 𝑜 → φ ↔ θ
4 indpi.4 ⊢ x = A → φ ↔ τ
5 indpi.5 ⊢ ψ
6 indpi.6 ⊢ y ∈ 𝑵 → χ → θ
7 1oex ⊢ 1 𝑜 ∈ V
8 7 eqvinc ⊢ 1 𝑜 = A ↔ ∃ x x = 1 𝑜 ∧ x = A
9 5 1 mpbiri ⊢ x = 1 𝑜 → φ
10 8 4 9 gencl ⊢ 1 𝑜 = A → τ
11 10 eqcoms ⊢ A = 1 𝑜 → τ
12 11 a1i ⊢ A ∈ 𝑵 → A = 1 𝑜 → τ
13 pinn ⊢ A ∈ 𝑵 → A ∈ ω
14 elni2 ⊢ A ∈ 𝑵 ↔ A ∈ ω ∧ ∅ ∈ A
15 nnord ⊢ A ∈ ω → Ord ⁡ A
16 ordsucss ⊢ Ord ⁡ A → ∅ ∈ A → suc ⁡ ∅ ⊆ A
17 15 16 syl ⊢ A ∈ ω → ∅ ∈ A → suc ⁡ ∅ ⊆ A
18 df-1o ⊢ 1 𝑜 = suc ⁡ ∅
19 18 sseq1i ⊢ 1 𝑜 ⊆ A ↔ suc ⁡ ∅ ⊆ A
20 17 19 imbitrrdi ⊢ A ∈ ω → ∅ ∈ A → 1 𝑜 ⊆ A
21 20 imp ⊢ A ∈ ω ∧ ∅ ∈ A → 1 𝑜 ⊆ A
22 14 21 sylbi ⊢ A ∈ 𝑵 → 1 𝑜 ⊆ A
23 1onn ⊢ 1 𝑜 ∈ ω
24 eleq1 ⊢ x = 1 𝑜 → x ∈ 𝑵 ↔ 1 𝑜 ∈ 𝑵
25 breq2 ⊢ x = 1 𝑜 → 1 𝑜 < 𝑵 x ↔ 1 𝑜 < 𝑵 1 𝑜
26 24 25 anbi12d ⊢ x = 1 𝑜 → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x ↔ 1 𝑜 ∈ 𝑵 ∧ 1 𝑜 < 𝑵 1 𝑜
27 26 1 imbi12d ⊢ x = 1 𝑜 → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → φ ↔ 1 𝑜 ∈ 𝑵 ∧ 1 𝑜 < 𝑵 1 𝑜 → ψ
28 eleq1 ⊢ x = y → x ∈ 𝑵 ↔ y ∈ 𝑵
29 breq2 ⊢ x = y → 1 𝑜 < 𝑵 x ↔ 1 𝑜 < 𝑵 y
30 28 29 anbi12d ⊢ x = y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x ↔ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 y
31 30 2 imbi12d ⊢ x = y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → φ ↔ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 y → χ
32 pinn ⊢ x ∈ 𝑵 → x ∈ ω
33 eleq1 ⊢ x = suc ⁡ y → x ∈ ω ↔ suc ⁡ y ∈ ω
34 peano2b ⊢ y ∈ ω ↔ suc ⁡ y ∈ ω
35 33 34 bitr4di ⊢ x = suc ⁡ y → x ∈ ω ↔ y ∈ ω
36 32 35 imbitrid ⊢ x = suc ⁡ y → x ∈ 𝑵 → y ∈ ω
37 36 adantrd ⊢ x = suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → y ∈ ω
38 1pi ⊢ 1 𝑜 ∈ 𝑵
39 ltpiord ⊢ 1 𝑜 ∈ 𝑵 ∧ x ∈ 𝑵 → 1 𝑜 < 𝑵 x ↔ 1 𝑜 ∈ x
40 38 39 mpan ⊢ x ∈ 𝑵 → 1 𝑜 < 𝑵 x ↔ 1 𝑜 ∈ x
41 40 biimpa ⊢ x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → 1 𝑜 ∈ x
42 eleq2 ⊢ x = suc ⁡ y → 1 𝑜 ∈ x ↔ 1 𝑜 ∈ suc ⁡ y
43 elsuci ⊢ 1 𝑜 ∈ suc ⁡ y → 1 𝑜 ∈ y ∨ 1 𝑜 = y
44 ne0i ⊢ 1 𝑜 ∈ y → y ≠ ∅
45 0lt1o ⊢ ∅ ∈ 1 𝑜
46 eleq2 ⊢ 1 𝑜 = y → ∅ ∈ 1 𝑜 ↔ ∅ ∈ y
47 45 46 mpbii ⊢ 1 𝑜 = y → ∅ ∈ y
48 47 ne0d ⊢ 1 𝑜 = y → y ≠ ∅
49 44 48 jaoi ⊢ 1 𝑜 ∈ y ∨ 1 𝑜 = y → y ≠ ∅
50 43 49 syl ⊢ 1 𝑜 ∈ suc ⁡ y → y ≠ ∅
51 42 50 biimtrdi ⊢ x = suc ⁡ y → 1 𝑜 ∈ x → y ≠ ∅
52 41 51 syl5 ⊢ x = suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → y ≠ ∅
53 37 52 jcad ⊢ x = suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → y ∈ ω ∧ y ≠ ∅
54 elni ⊢ y ∈ 𝑵 ↔ y ∈ ω ∧ y ≠ ∅
55 53 54 imbitrrdi ⊢ x = suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → y ∈ 𝑵
56 simpr ⊢ x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → 1 𝑜 < 𝑵 x
57 breq2 ⊢ x = suc ⁡ y → 1 𝑜 < 𝑵 x ↔ 1 𝑜 < 𝑵 suc ⁡ y
58 56 57 imbitrid ⊢ x = suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → 1 𝑜 < 𝑵 suc ⁡ y
59 55 58 jcad ⊢ x = suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y
60 addclpi ⊢ y ∈ 𝑵 ∧ 1 𝑜 ∈ 𝑵 → y + 𝑵 1 𝑜 ∈ 𝑵
61 38 60 mpan2 ⊢ y ∈ 𝑵 → y + 𝑵 1 𝑜 ∈ 𝑵
62 addpiord ⊢ y ∈ 𝑵 ∧ 1 𝑜 ∈ 𝑵 → y + 𝑵 1 𝑜 = y + 𝑜 1 𝑜
63 38 62 mpan2 ⊢ y ∈ 𝑵 → y + 𝑵 1 𝑜 = y + 𝑜 1 𝑜
64 pion ⊢ y ∈ 𝑵 → y ∈ On
65 oa1suc ⊢ y ∈ On → y + 𝑜 1 𝑜 = suc ⁡ y
66 64 65 syl ⊢ y ∈ 𝑵 → y + 𝑜 1 𝑜 = suc ⁡ y
67 63 66 eqtrd ⊢ y ∈ 𝑵 → y + 𝑵 1 𝑜 = suc ⁡ y
68 67 eqeq2d ⊢ y ∈ 𝑵 → x = y + 𝑵 1 𝑜 ↔ x = suc ⁡ y
69 68 biimparc ⊢ x = suc ⁡ y ∧ y ∈ 𝑵 → x = y + 𝑵 1 𝑜
70 69 eleq1d ⊢ x = suc ⁡ y ∧ y ∈ 𝑵 → x ∈ 𝑵 ↔ y + 𝑵 1 𝑜 ∈ 𝑵
71 61 70 imbitrrid ⊢ x = suc ⁡ y ∧ y ∈ 𝑵 → y ∈ 𝑵 → x ∈ 𝑵
72 71 ex ⊢ x = suc ⁡ y → y ∈ 𝑵 → y ∈ 𝑵 → x ∈ 𝑵
73 72 pm2.43d ⊢ x = suc ⁡ y → y ∈ 𝑵 → x ∈ 𝑵
74 57 biimprd ⊢ x = suc ⁡ y → 1 𝑜 < 𝑵 suc ⁡ y → 1 𝑜 < 𝑵 x
75 73 74 anim12d ⊢ x = suc ⁡ y → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x
76 59 75 impbid ⊢ x = suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x ↔ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y
77 76 imbi1d ⊢ x = suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → φ ↔ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → φ
78 68 3 biimtrrdi ⊢ y ∈ 𝑵 → x = suc ⁡ y → φ ↔ θ
79 78 adantr ⊢ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → x = suc ⁡ y → φ ↔ θ
80 79 com12 ⊢ x = suc ⁡ y → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → φ ↔ θ
81 80 pm5.74d ⊢ x = suc ⁡ y → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → φ ↔ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → θ
82 77 81 bitrd ⊢ x = suc ⁡ y → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → φ ↔ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → θ
83 eleq1 ⊢ x = A → x ∈ 𝑵 ↔ A ∈ 𝑵
84 breq2 ⊢ x = A → 1 𝑜 < 𝑵 x ↔ 1 𝑜 < 𝑵 A
85 83 84 anbi12d ⊢ x = A → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x ↔ A ∈ 𝑵 ∧ 1 𝑜 < 𝑵 A
86 85 4 imbi12d ⊢ x = A → x ∈ 𝑵 ∧ 1 𝑜 < 𝑵 x → φ ↔ A ∈ 𝑵 ∧ 1 𝑜 < 𝑵 A → τ
87 5 2a1i ⊢ 1 𝑜 ∈ ω → 1 𝑜 ∈ 𝑵 ∧ 1 𝑜 < 𝑵 1 𝑜 → ψ
88 ltpiord ⊢ 1 𝑜 ∈ 𝑵 ∧ y ∈ 𝑵 → 1 𝑜 < 𝑵 y ↔ 1 𝑜 ∈ y
89 38 88 mpan ⊢ y ∈ 𝑵 → 1 𝑜 < 𝑵 y ↔ 1 𝑜 ∈ y
90 89 pm5.32i ⊢ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 y ↔ y ∈ 𝑵 ∧ 1 𝑜 ∈ y
91 90 simplbi2 ⊢ y ∈ 𝑵 → 1 𝑜 ∈ y → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 y
92 91 imim1d ⊢ y ∈ 𝑵 → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 y → χ → 1 𝑜 ∈ y → χ
93 ltrelpi ⊢ < 𝑵 ⊆ 𝑵 × 𝑵
94 93 brel ⊢ 1 𝑜 < 𝑵 suc ⁡ y → 1 𝑜 ∈ 𝑵 ∧ suc ⁡ y ∈ 𝑵
95 ltpiord ⊢ 1 𝑜 ∈ 𝑵 ∧ suc ⁡ y ∈ 𝑵 → 1 𝑜 < 𝑵 suc ⁡ y ↔ 1 𝑜 ∈ suc ⁡ y
96 94 95 syl ⊢ 1 𝑜 < 𝑵 suc ⁡ y → 1 𝑜 < 𝑵 suc ⁡ y ↔ 1 𝑜 ∈ suc ⁡ y
97 96 ibi ⊢ 1 𝑜 < 𝑵 suc ⁡ y → 1 𝑜 ∈ suc ⁡ y
98 7 eqvinc ⊢ 1 𝑜 = y ↔ ∃ x x = 1 𝑜 ∧ x = y
99 98 2 9 gencl ⊢ 1 𝑜 = y → χ
100 jao ⊢ 1 𝑜 ∈ y → χ → 1 𝑜 = y → χ → 1 𝑜 ∈ y ∨ 1 𝑜 = y → χ
101 99 100 mpi ⊢ 1 𝑜 ∈ y → χ → 1 𝑜 ∈ y ∨ 1 𝑜 = y → χ
102 43 101 syl5 ⊢ 1 𝑜 ∈ y → χ → 1 𝑜 ∈ suc ⁡ y → χ
103 97 102 syl5 ⊢ 1 𝑜 ∈ y → χ → 1 𝑜 < 𝑵 suc ⁡ y → χ
104 92 103 syl6com ⊢ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 y → χ → y ∈ 𝑵 → 1 𝑜 < 𝑵 suc ⁡ y → χ
105 104 impd ⊢ y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 y → χ → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → χ
106 18 sseq1i ⊢ 1 𝑜 ⊆ y ↔ suc ⁡ ∅ ⊆ y
107 0ex ⊢ ∅ ∈ V
108 sucssel ⊢ ∅ ∈ V → suc ⁡ ∅ ⊆ y → ∅ ∈ y
109 107 108 ax-mp ⊢ suc ⁡ ∅ ⊆ y → ∅ ∈ y
110 106 109 sylbi ⊢ 1 𝑜 ⊆ y → ∅ ∈ y
111 elni2 ⊢ y ∈ 𝑵 ↔ y ∈ ω ∧ ∅ ∈ y
112 111 6 sylbir ⊢ y ∈ ω ∧ ∅ ∈ y → χ → θ
113 110 112 sylan2 ⊢ y ∈ ω ∧ 1 𝑜 ⊆ y → χ → θ
114 105 113 syl9r ⊢ y ∈ ω ∧ 1 𝑜 ⊆ y → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 y → χ → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → θ
115 114 adantlr ⊢ y ∈ ω ∧ 1 𝑜 ∈ ω ∧ 1 𝑜 ⊆ y → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 y → χ → y ∈ 𝑵 ∧ 1 𝑜 < 𝑵 suc ⁡ y → θ
116 27 31 82 86 87 115 findsg ⊢ A ∈ ω ∧ 1 𝑜 ∈ ω ∧ 1 𝑜 ⊆ A → A ∈ 𝑵 ∧ 1 𝑜 < 𝑵 A → τ
117 23 116 mpanl2 ⊢ A ∈ ω ∧ 1 𝑜 ⊆ A → A ∈ 𝑵 ∧ 1 𝑜 < 𝑵 A → τ
118 13 22 117 syl2anc ⊢ A ∈ 𝑵 → A ∈ 𝑵 ∧ 1 𝑜 < 𝑵 A → τ
119 118 expd ⊢ A ∈ 𝑵 → A ∈ 𝑵 → 1 𝑜 < 𝑵 A → τ
120 119 pm2.43i ⊢ A ∈ 𝑵 → 1 𝑜 < 𝑵 A → τ
121 nlt1pi ⊢ ¬ A < 𝑵 1 𝑜
122 ltsopi ⊢ < 𝑵 Or 𝑵
123 sotric ⊢ < 𝑵 Or 𝑵 ∧ A ∈ 𝑵 ∧ 1 𝑜 ∈ 𝑵 → A < 𝑵 1 𝑜 ↔ ¬ A = 1 𝑜 ∨ 1 𝑜 < 𝑵 A
124 122 123 mpan ⊢ A ∈ 𝑵 ∧ 1 𝑜 ∈ 𝑵 → A < 𝑵 1 𝑜 ↔ ¬ A = 1 𝑜 ∨ 1 𝑜 < 𝑵 A
125 38 124 mpan2 ⊢ A ∈ 𝑵 → A < 𝑵 1 𝑜 ↔ ¬ A = 1 𝑜 ∨ 1 𝑜 < 𝑵 A
126 121 125 mtbii ⊢ A ∈ 𝑵 → ¬ ¬ A = 1 𝑜 ∨ 1 𝑜 < 𝑵 A
127 126 notnotrd ⊢ A ∈ 𝑵 → A = 1 𝑜 ∨ 1 𝑜 < 𝑵 A
128 12 120 127 mpjaod ⊢ A ∈ 𝑵 → τ