MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  indpi Structured version   Visualization version   GIF version

Theorem indpi 10899
Description: Principle of Finite Induction on positive integers. (Contributed by NM, 23-Mar-1996.) (New usage is discouraged.)
Hypotheses
Ref Expression
indpi.1 (𝑥 = 1o → (𝜑𝜓))
indpi.2 (𝑥 = 𝑦 → (𝜑𝜒))
indpi.3 (𝑥 = (𝑦 +N 1o) → (𝜑𝜃))
indpi.4 (𝑥 = 𝐴 → (𝜑𝜏))
indpi.5 𝜓
indpi.6 (𝑦N → (𝜒𝜃))
Assertion
Ref Expression
indpi (𝐴N𝜏)
Distinct variable groups:   𝑥,𝑦   𝑥,𝐴   𝜓,𝑥   𝜒,𝑥   𝜃,𝑥   𝜏,𝑥   𝜑,𝑦
Allowed substitution hints:   𝜑(𝑥)   𝜓(𝑦)   𝜒(𝑦)   𝜃(𝑦)   𝜏(𝑦)   𝐴(𝑦)

Proof of Theorem indpi
StepHypRef Expression
1 1oex 8473 . . . . . 6 1o ∈ V
21eqvinc 3637 . . . . 5 (1o = 𝐴 ↔ ∃𝑥(𝑥 = 1o𝑥 = 𝐴))
3 indpi.4 . . . . 5 (𝑥 = 𝐴 → (𝜑𝜏))
4 indpi.5 . . . . . 6 𝜓
5 indpi.1 . . . . . 6 (𝑥 = 1o → (𝜑𝜓))
64, 5mpbiri 258 . . . . 5 (𝑥 = 1o𝜑)
72, 3, 6gencl 3516 . . . 4 (1o = 𝐴𝜏)
87eqcoms 2741 . . 3 (𝐴 = 1o𝜏)
98a1i 11 . 2 (𝐴N → (𝐴 = 1o𝜏))
10 pinn 10870 . . . . 5 (𝐴N𝐴 ∈ ω)
11 elni2 10869 . . . . . 6 (𝐴N ↔ (𝐴 ∈ ω ∧ ∅ ∈ 𝐴))
12 nnord 7860 . . . . . . . . 9 (𝐴 ∈ ω → Ord 𝐴)
13 ordsucss 7803 . . . . . . . . 9 (Ord 𝐴 → (∅ ∈ 𝐴 → suc ∅ ⊆ 𝐴))
1412, 13syl 17 . . . . . . . 8 (𝐴 ∈ ω → (∅ ∈ 𝐴 → suc ∅ ⊆ 𝐴))
15 df-1o 8463 . . . . . . . . 9 1o = suc ∅
1615sseq1i 4010 . . . . . . . 8 (1o𝐴 ↔ suc ∅ ⊆ 𝐴)
1714, 16syl6ibr 252 . . . . . . 7 (𝐴 ∈ ω → (∅ ∈ 𝐴 → 1o𝐴))
1817imp 408 . . . . . 6 ((𝐴 ∈ ω ∧ ∅ ∈ 𝐴) → 1o𝐴)
1911, 18sylbi 216 . . . . 5 (𝐴N → 1o𝐴)
20 1onn 8636 . . . . . 6 1o ∈ ω
21 eleq1 2822 . . . . . . . . 9 (𝑥 = 1o → (𝑥N ↔ 1oN))
22 breq2 5152 . . . . . . . . 9 (𝑥 = 1o → (1o <N 𝑥 ↔ 1o <N 1o))
2321, 22anbi12d 632 . . . . . . . 8 (𝑥 = 1o → ((𝑥N ∧ 1o <N 𝑥) ↔ (1oN ∧ 1o <N 1o)))
2423, 5imbi12d 345 . . . . . . 7 (𝑥 = 1o → (((𝑥N ∧ 1o <N 𝑥) → 𝜑) ↔ ((1oN ∧ 1o <N 1o) → 𝜓)))
25 eleq1 2822 . . . . . . . . 9 (𝑥 = 𝑦 → (𝑥N𝑦N))
26 breq2 5152 . . . . . . . . 9 (𝑥 = 𝑦 → (1o <N 𝑥 ↔ 1o <N 𝑦))
2725, 26anbi12d 632 . . . . . . . 8 (𝑥 = 𝑦 → ((𝑥N ∧ 1o <N 𝑥) ↔ (𝑦N ∧ 1o <N 𝑦)))
28 indpi.2 . . . . . . . 8 (𝑥 = 𝑦 → (𝜑𝜒))
2927, 28imbi12d 345 . . . . . . 7 (𝑥 = 𝑦 → (((𝑥N ∧ 1o <N 𝑥) → 𝜑) ↔ ((𝑦N ∧ 1o <N 𝑦) → 𝜒)))
30 pinn 10870 . . . . . . . . . . . . . . 15 (𝑥N𝑥 ∈ ω)
31 eleq1 2822 . . . . . . . . . . . . . . . 16 (𝑥 = suc 𝑦 → (𝑥 ∈ ω ↔ suc 𝑦 ∈ ω))
32 peano2b 7869 . . . . . . . . . . . . . . . 16 (𝑦 ∈ ω ↔ suc 𝑦 ∈ ω)
3331, 32bitr4di 289 . . . . . . . . . . . . . . 15 (𝑥 = suc 𝑦 → (𝑥 ∈ ω ↔ 𝑦 ∈ ω))
3430, 33imbitrid 243 . . . . . . . . . . . . . 14 (𝑥 = suc 𝑦 → (𝑥N𝑦 ∈ ω))
3534adantrd 493 . . . . . . . . . . . . 13 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → 𝑦 ∈ ω))
36 1pi 10875 . . . . . . . . . . . . . . . 16 1oN
37 ltpiord 10879 . . . . . . . . . . . . . . . 16 ((1oN𝑥N) → (1o <N 𝑥 ↔ 1o𝑥))
3836, 37mpan 689 . . . . . . . . . . . . . . 15 (𝑥N → (1o <N 𝑥 ↔ 1o𝑥))
3938biimpa 478 . . . . . . . . . . . . . 14 ((𝑥N ∧ 1o <N 𝑥) → 1o𝑥)
40 eleq2 2823 . . . . . . . . . . . . . . 15 (𝑥 = suc 𝑦 → (1o𝑥 ↔ 1o ∈ suc 𝑦))
41 elsuci 6429 . . . . . . . . . . . . . . . 16 (1o ∈ suc 𝑦 → (1o𝑦 ∨ 1o = 𝑦))
42 ne0i 4334 . . . . . . . . . . . . . . . . 17 (1o𝑦𝑦 ≠ ∅)
43 0lt1o 8501 . . . . . . . . . . . . . . . . . . 19 ∅ ∈ 1o
44 eleq2 2823 . . . . . . . . . . . . . . . . . . 19 (1o = 𝑦 → (∅ ∈ 1o ↔ ∅ ∈ 𝑦))
4543, 44mpbii 232 . . . . . . . . . . . . . . . . . 18 (1o = 𝑦 → ∅ ∈ 𝑦)
4645ne0d 4335 . . . . . . . . . . . . . . . . 17 (1o = 𝑦𝑦 ≠ ∅)
4742, 46jaoi 856 . . . . . . . . . . . . . . . 16 ((1o𝑦 ∨ 1o = 𝑦) → 𝑦 ≠ ∅)
4841, 47syl 17 . . . . . . . . . . . . . . 15 (1o ∈ suc 𝑦𝑦 ≠ ∅)
4940, 48syl6bi 253 . . . . . . . . . . . . . 14 (𝑥 = suc 𝑦 → (1o𝑥𝑦 ≠ ∅))
5039, 49syl5 34 . . . . . . . . . . . . 13 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → 𝑦 ≠ ∅))
5135, 50jcad 514 . . . . . . . . . . . 12 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → (𝑦 ∈ ω ∧ 𝑦 ≠ ∅)))
52 elni 10868 . . . . . . . . . . . 12 (𝑦N ↔ (𝑦 ∈ ω ∧ 𝑦 ≠ ∅))
5351, 52syl6ibr 252 . . . . . . . . . . 11 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → 𝑦N))
54 simpr 486 . . . . . . . . . . . 12 ((𝑥N ∧ 1o <N 𝑥) → 1o <N 𝑥)
55 breq2 5152 . . . . . . . . . . . 12 (𝑥 = suc 𝑦 → (1o <N 𝑥 ↔ 1o <N suc 𝑦))
5654, 55imbitrid 243 . . . . . . . . . . 11 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → 1o <N suc 𝑦))
5753, 56jcad 514 . . . . . . . . . 10 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → (𝑦N ∧ 1o <N suc 𝑦)))
58 addclpi 10884 . . . . . . . . . . . . . . 15 ((𝑦N ∧ 1oN) → (𝑦 +N 1o) ∈ N)
5936, 58mpan2 690 . . . . . . . . . . . . . 14 (𝑦N → (𝑦 +N 1o) ∈ N)
60 addpiord 10876 . . . . . . . . . . . . . . . . . . 19 ((𝑦N ∧ 1oN) → (𝑦 +N 1o) = (𝑦 +o 1o))
6136, 60mpan2 690 . . . . . . . . . . . . . . . . . 18 (𝑦N → (𝑦 +N 1o) = (𝑦 +o 1o))
62 pion 10871 . . . . . . . . . . . . . . . . . . 19 (𝑦N𝑦 ∈ On)
63 oa1suc 8528 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ On → (𝑦 +o 1o) = suc 𝑦)
6462, 63syl 17 . . . . . . . . . . . . . . . . . 18 (𝑦N → (𝑦 +o 1o) = suc 𝑦)
6561, 64eqtrd 2773 . . . . . . . . . . . . . . . . 17 (𝑦N → (𝑦 +N 1o) = suc 𝑦)
6665eqeq2d 2744 . . . . . . . . . . . . . . . 16 (𝑦N → (𝑥 = (𝑦 +N 1o) ↔ 𝑥 = suc 𝑦))
6766biimparc 481 . . . . . . . . . . . . . . 15 ((𝑥 = suc 𝑦𝑦N) → 𝑥 = (𝑦 +N 1o))
6867eleq1d 2819 . . . . . . . . . . . . . 14 ((𝑥 = suc 𝑦𝑦N) → (𝑥N ↔ (𝑦 +N 1o) ∈ N))
6959, 68imbitrrid 245 . . . . . . . . . . . . 13 ((𝑥 = suc 𝑦𝑦N) → (𝑦N𝑥N))
7069ex 414 . . . . . . . . . . . 12 (𝑥 = suc 𝑦 → (𝑦N → (𝑦N𝑥N)))
7170pm2.43d 53 . . . . . . . . . . 11 (𝑥 = suc 𝑦 → (𝑦N𝑥N))
7255biimprd 247 . . . . . . . . . . 11 (𝑥 = suc 𝑦 → (1o <N suc 𝑦 → 1o <N 𝑥))
7371, 72anim12d 610 . . . . . . . . . 10 (𝑥 = suc 𝑦 → ((𝑦N ∧ 1o <N suc 𝑦) → (𝑥N ∧ 1o <N 𝑥)))
7457, 73impbid 211 . . . . . . . . 9 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) ↔ (𝑦N ∧ 1o <N suc 𝑦)))
7574imbi1d 342 . . . . . . . 8 (𝑥 = suc 𝑦 → (((𝑥N ∧ 1o <N 𝑥) → 𝜑) ↔ ((𝑦N ∧ 1o <N suc 𝑦) → 𝜑)))
76 indpi.3 . . . . . . . . . . . 12 (𝑥 = (𝑦 +N 1o) → (𝜑𝜃))
7766, 76syl6bir 254 . . . . . . . . . . 11 (𝑦N → (𝑥 = suc 𝑦 → (𝜑𝜃)))
7877adantr 482 . . . . . . . . . 10 ((𝑦N ∧ 1o <N suc 𝑦) → (𝑥 = suc 𝑦 → (𝜑𝜃)))
7978com12 32 . . . . . . . . 9 (𝑥 = suc 𝑦 → ((𝑦N ∧ 1o <N suc 𝑦) → (𝜑𝜃)))
8079pm5.74d 273 . . . . . . . 8 (𝑥 = suc 𝑦 → (((𝑦N ∧ 1o <N suc 𝑦) → 𝜑) ↔ ((𝑦N ∧ 1o <N suc 𝑦) → 𝜃)))
8175, 80bitrd 279 . . . . . . 7 (𝑥 = suc 𝑦 → (((𝑥N ∧ 1o <N 𝑥) → 𝜑) ↔ ((𝑦N ∧ 1o <N suc 𝑦) → 𝜃)))
82 eleq1 2822 . . . . . . . . 9 (𝑥 = 𝐴 → (𝑥N𝐴N))
83 breq2 5152 . . . . . . . . 9 (𝑥 = 𝐴 → (1o <N 𝑥 ↔ 1o <N 𝐴))
8482, 83anbi12d 632 . . . . . . . 8 (𝑥 = 𝐴 → ((𝑥N ∧ 1o <N 𝑥) ↔ (𝐴N ∧ 1o <N 𝐴)))
8584, 3imbi12d 345 . . . . . . 7 (𝑥 = 𝐴 → (((𝑥N ∧ 1o <N 𝑥) → 𝜑) ↔ ((𝐴N ∧ 1o <N 𝐴) → 𝜏)))
8642a1i 12 . . . . . . 7 (1o ∈ ω → ((1oN ∧ 1o <N 1o) → 𝜓))
87 ltpiord 10879 . . . . . . . . . . . . . . 15 ((1oN𝑦N) → (1o <N 𝑦 ↔ 1o𝑦))
8836, 87mpan 689 . . . . . . . . . . . . . 14 (𝑦N → (1o <N 𝑦 ↔ 1o𝑦))
8988pm5.32i 576 . . . . . . . . . . . . 13 ((𝑦N ∧ 1o <N 𝑦) ↔ (𝑦N ∧ 1o𝑦))
9089simplbi2 502 . . . . . . . . . . . 12 (𝑦N → (1o𝑦 → (𝑦N ∧ 1o <N 𝑦)))
9190imim1d 82 . . . . . . . . . . 11 (𝑦N → (((𝑦N ∧ 1o <N 𝑦) → 𝜒) → (1o𝑦𝜒)))
92 ltrelpi 10881 . . . . . . . . . . . . . . 15 <N ⊆ (N × N)
9392brel 5740 . . . . . . . . . . . . . 14 (1o <N suc 𝑦 → (1oN ∧ suc 𝑦N))
94 ltpiord 10879 . . . . . . . . . . . . . 14 ((1oN ∧ suc 𝑦N) → (1o <N suc 𝑦 ↔ 1o ∈ suc 𝑦))
9593, 94syl 17 . . . . . . . . . . . . 13 (1o <N suc 𝑦 → (1o <N suc 𝑦 ↔ 1o ∈ suc 𝑦))
9695ibi 267 . . . . . . . . . . . 12 (1o <N suc 𝑦 → 1o ∈ suc 𝑦)
971eqvinc 3637 . . . . . . . . . . . . . . 15 (1o = 𝑦 ↔ ∃𝑥(𝑥 = 1o𝑥 = 𝑦))
9897, 28, 6gencl 3516 . . . . . . . . . . . . . 14 (1o = 𝑦𝜒)
99 jao 960 . . . . . . . . . . . . . 14 ((1o𝑦𝜒) → ((1o = 𝑦𝜒) → ((1o𝑦 ∨ 1o = 𝑦) → 𝜒)))
10098, 99mpi 20 . . . . . . . . . . . . 13 ((1o𝑦𝜒) → ((1o𝑦 ∨ 1o = 𝑦) → 𝜒))
10141, 100syl5 34 . . . . . . . . . . . 12 ((1o𝑦𝜒) → (1o ∈ suc 𝑦𝜒))
10296, 101syl5 34 . . . . . . . . . . 11 ((1o𝑦𝜒) → (1o <N suc 𝑦𝜒))
10391, 102syl6com 37 . . . . . . . . . 10 (((𝑦N ∧ 1o <N 𝑦) → 𝜒) → (𝑦N → (1o <N suc 𝑦𝜒)))
104103impd 412 . . . . . . . . 9 (((𝑦N ∧ 1o <N 𝑦) → 𝜒) → ((𝑦N ∧ 1o <N suc 𝑦) → 𝜒))
10515sseq1i 4010 . . . . . . . . . . 11 (1o𝑦 ↔ suc ∅ ⊆ 𝑦)
106 0ex 5307 . . . . . . . . . . . 12 ∅ ∈ V
107 sucssel 6457 . . . . . . . . . . . 12 (∅ ∈ V → (suc ∅ ⊆ 𝑦 → ∅ ∈ 𝑦))
108106, 107ax-mp 5 . . . . . . . . . . 11 (suc ∅ ⊆ 𝑦 → ∅ ∈ 𝑦)
109105, 108sylbi 216 . . . . . . . . . 10 (1o𝑦 → ∅ ∈ 𝑦)
110 elni2 10869 . . . . . . . . . . 11 (𝑦N ↔ (𝑦 ∈ ω ∧ ∅ ∈ 𝑦))
111 indpi.6 . . . . . . . . . . 11 (𝑦N → (𝜒𝜃))
112110, 111sylbir 234 . . . . . . . . . 10 ((𝑦 ∈ ω ∧ ∅ ∈ 𝑦) → (𝜒𝜃))
113109, 112sylan2 594 . . . . . . . . 9 ((𝑦 ∈ ω ∧ 1o𝑦) → (𝜒𝜃))
114104, 113syl9r 78 . . . . . . . 8 ((𝑦 ∈ ω ∧ 1o𝑦) → (((𝑦N ∧ 1o <N 𝑦) → 𝜒) → ((𝑦N ∧ 1o <N suc 𝑦) → 𝜃)))
115114adantlr 714 . . . . . . 7 (((𝑦 ∈ ω ∧ 1o ∈ ω) ∧ 1o𝑦) → (((𝑦N ∧ 1o <N 𝑦) → 𝜒) → ((𝑦N ∧ 1o <N suc 𝑦) → 𝜃)))
11624, 29, 81, 85, 86, 115findsg 7887 . . . . . 6 (((𝐴 ∈ ω ∧ 1o ∈ ω) ∧ 1o𝐴) → ((𝐴N ∧ 1o <N 𝐴) → 𝜏))
11720, 116mpanl2 700 . . . . 5 ((𝐴 ∈ ω ∧ 1o𝐴) → ((𝐴N ∧ 1o <N 𝐴) → 𝜏))
11810, 19, 117syl2anc 585 . . . 4 (𝐴N → ((𝐴N ∧ 1o <N 𝐴) → 𝜏))
119118expd 417 . . 3 (𝐴N → (𝐴N → (1o <N 𝐴𝜏)))
120119pm2.43i 52 . 2 (𝐴N → (1o <N 𝐴𝜏))
121 nlt1pi 10898 . . . 4 ¬ 𝐴 <N 1o
122 ltsopi 10880 . . . . . 6 <N Or N
123 sotric 5616 . . . . . 6 (( <N Or N ∧ (𝐴N ∧ 1oN)) → (𝐴 <N 1o ↔ ¬ (𝐴 = 1o ∨ 1o <N 𝐴)))
124122, 123mpan 689 . . . . 5 ((𝐴N ∧ 1oN) → (𝐴 <N 1o ↔ ¬ (𝐴 = 1o ∨ 1o <N 𝐴)))
12536, 124mpan2 690 . . . 4 (𝐴N → (𝐴 <N 1o ↔ ¬ (𝐴 = 1o ∨ 1o <N 𝐴)))
126121, 125mtbii 326 . . 3 (𝐴N → ¬ ¬ (𝐴 = 1o ∨ 1o <N 𝐴))
127126notnotrd 133 . 2 (𝐴N → (𝐴 = 1o ∨ 1o <N 𝐴))
1289, 120, 127mpjaod 859 1 (𝐴N𝜏)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 397  wo 846   = wceq 1542  wcel 2107  wne 2941  Vcvv 3475  wss 3948  c0 4322   class class class wbr 5148   Or wor 5587  Ord word 6361  Oncon0 6362  suc csuc 6364  (class class class)co 7406  ωcom 7852  1oc1o 8456   +o coa 8460  Ncnpi 10836   +N cpli 10837   <N clti 10839
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2155  ax-12 2172  ax-ext 2704  ax-sep 5299  ax-nul 5306  ax-pr 5427  ax-un 7722
This theorem depends on definitions:  df-bi 206  df-an 398  df-or 847  df-3or 1089  df-3an 1090  df-tru 1545  df-fal 1555  df-ex 1783  df-nf 1787  df-sb 2069  df-mo 2535  df-eu 2564  df-clab 2711  df-cleq 2725  df-clel 2811  df-nfc 2886  df-ne 2942  df-ral 3063  df-rex 3072  df-reu 3378  df-rab 3434  df-v 3477  df-sbc 3778  df-csb 3894  df-dif 3951  df-un 3953  df-in 3955  df-ss 3965  df-pss 3967  df-nul 4323  df-if 4529  df-pw 4604  df-sn 4629  df-pr 4631  df-op 4635  df-uni 4909  df-iun 4999  df-br 5149  df-opab 5211  df-mpt 5232  df-tr 5266  df-id 5574  df-eprel 5580  df-po 5588  df-so 5589  df-fr 5631  df-we 5633  df-xp 5682  df-rel 5683  df-cnv 5684  df-co 5685  df-dm 5686  df-rn 5687  df-res 5688  df-ima 5689  df-pred 6298  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6493  df-fun 6543  df-fn 6544  df-f 6545  df-f1 6546  df-fo 6547  df-f1o 6548  df-fv 6549  df-ov 7409  df-oprab 7410  df-mpo 7411  df-om 7853  df-2nd 7973  df-frecs 8263  df-wrecs 8294  df-recs 8368  df-rdg 8407  df-1o 8463  df-oadd 8467  df-ni 10864  df-pli 10865  df-lti 10867
This theorem is referenced by:  prlem934  11025
  Copyright terms: Public domain W3C validator