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

Theorem indpi 10821
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 8408 . . . . . 6 1o ∈ V
21eqvinc 3592 . . . . 5 (1o = 𝐴 ↔ ∃𝑥(𝑥 = 1o𝑥 = 𝐴))
3 indpi.4 . . . . 5 (𝑥 = 𝐴 → (𝜑𝜏))
4 indpi.5 . . . . . 6 𝜓
5 indpi.1 . . . . . 6 (𝑥 = 1o → (𝜑𝜓))
64, 5mpbiri 258 . . . . 5 (𝑥 = 1o𝜑)
72, 3, 6gencl 3472 . . . 4 (1o = 𝐴𝜏)
87eqcoms 2745 . . 3 (𝐴 = 1o𝜏)
98a1i 11 . 2 (𝐴N → (𝐴 = 1o𝜏))
10 pinn 10792 . . . . 5 (𝐴N𝐴 ∈ ω)
11 elni2 10791 . . . . . 6 (𝐴N ↔ (𝐴 ∈ ω ∧ ∅ ∈ 𝐴))
12 nnord 7818 . . . . . . . . 9 (𝐴 ∈ ω → Ord 𝐴)
13 ordsucss 7762 . . . . . . . . 9 (Ord 𝐴 → (∅ ∈ 𝐴 → suc ∅ ⊆ 𝐴))
1412, 13syl 17 . . . . . . . 8 (𝐴 ∈ ω → (∅ ∈ 𝐴 → suc ∅ ⊆ 𝐴))
15 df-1o 8398 . . . . . . . . 9 1o = suc ∅
1615sseq1i 3951 . . . . . . . 8 (1o𝐴 ↔ suc ∅ ⊆ 𝐴)
1714, 16imbitrrdi 252 . . . . . . 7 (𝐴 ∈ ω → (∅ ∈ 𝐴 → 1o𝐴))
1817imp 406 . . . . . 6 ((𝐴 ∈ ω ∧ ∅ ∈ 𝐴) → 1o𝐴)
1911, 18sylbi 217 . . . . 5 (𝐴N → 1o𝐴)
20 1onn 8569 . . . . . 6 1o ∈ ω
21 eleq1 2825 . . . . . . . . 9 (𝑥 = 1o → (𝑥N ↔ 1oN))
22 breq2 5090 . . . . . . . . 9 (𝑥 = 1o → (1o <N 𝑥 ↔ 1o <N 1o))
2321, 22anbi12d 633 . . . . . . . 8 (𝑥 = 1o → ((𝑥N ∧ 1o <N 𝑥) ↔ (1oN ∧ 1o <N 1o)))
2423, 5imbi12d 344 . . . . . . 7 (𝑥 = 1o → (((𝑥N ∧ 1o <N 𝑥) → 𝜑) ↔ ((1oN ∧ 1o <N 1o) → 𝜓)))
25 eleq1 2825 . . . . . . . . 9 (𝑥 = 𝑦 → (𝑥N𝑦N))
26 breq2 5090 . . . . . . . . 9 (𝑥 = 𝑦 → (1o <N 𝑥 ↔ 1o <N 𝑦))
2725, 26anbi12d 633 . . . . . . . 8 (𝑥 = 𝑦 → ((𝑥N ∧ 1o <N 𝑥) ↔ (𝑦N ∧ 1o <N 𝑦)))
28 indpi.2 . . . . . . . 8 (𝑥 = 𝑦 → (𝜑𝜒))
2927, 28imbi12d 344 . . . . . . 7 (𝑥 = 𝑦 → (((𝑥N ∧ 1o <N 𝑥) → 𝜑) ↔ ((𝑦N ∧ 1o <N 𝑦) → 𝜒)))
30 pinn 10792 . . . . . . . . . . . . . . 15 (𝑥N𝑥 ∈ ω)
31 eleq1 2825 . . . . . . . . . . . . . . . 16 (𝑥 = suc 𝑦 → (𝑥 ∈ ω ↔ suc 𝑦 ∈ ω))
32 peano2b 7827 . . . . . . . . . . . . . . . 16 (𝑦 ∈ ω ↔ suc 𝑦 ∈ ω)
3331, 32bitr4di 289 . . . . . . . . . . . . . . 15 (𝑥 = suc 𝑦 → (𝑥 ∈ ω ↔ 𝑦 ∈ ω))
3430, 33imbitrid 244 . . . . . . . . . . . . . 14 (𝑥 = suc 𝑦 → (𝑥N𝑦 ∈ ω))
3534adantrd 491 . . . . . . . . . . . . 13 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → 𝑦 ∈ ω))
36 1pi 10797 . . . . . . . . . . . . . . . 16 1oN
37 ltpiord 10801 . . . . . . . . . . . . . . . 16 ((1oN𝑥N) → (1o <N 𝑥 ↔ 1o𝑥))
3836, 37mpan 691 . . . . . . . . . . . . . . 15 (𝑥N → (1o <N 𝑥 ↔ 1o𝑥))
3938biimpa 476 . . . . . . . . . . . . . 14 ((𝑥N ∧ 1o <N 𝑥) → 1o𝑥)
40 eleq2 2826 . . . . . . . . . . . . . . 15 (𝑥 = suc 𝑦 → (1o𝑥 ↔ 1o ∈ suc 𝑦))
41 elsuci 6386 . . . . . . . . . . . . . . . 16 (1o ∈ suc 𝑦 → (1o𝑦 ∨ 1o = 𝑦))
42 ne0i 4282 . . . . . . . . . . . . . . . . 17 (1o𝑦𝑦 ≠ ∅)
43 0lt1o 8432 . . . . . . . . . . . . . . . . . . 19 ∅ ∈ 1o
44 eleq2 2826 . . . . . . . . . . . . . . . . . . 19 (1o = 𝑦 → (∅ ∈ 1o ↔ ∅ ∈ 𝑦))
4543, 44mpbii 233 . . . . . . . . . . . . . . . . . 18 (1o = 𝑦 → ∅ ∈ 𝑦)
4645ne0d 4283 . . . . . . . . . . . . . . . . 17 (1o = 𝑦𝑦 ≠ ∅)
4742, 46jaoi 858 . . . . . . . . . . . . . . . 16 ((1o𝑦 ∨ 1o = 𝑦) → 𝑦 ≠ ∅)
4841, 47syl 17 . . . . . . . . . . . . . . 15 (1o ∈ suc 𝑦𝑦 ≠ ∅)
4940, 48biimtrdi 253 . . . . . . . . . . . . . 14 (𝑥 = suc 𝑦 → (1o𝑥𝑦 ≠ ∅))
5039, 49syl5 34 . . . . . . . . . . . . 13 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → 𝑦 ≠ ∅))
5135, 50jcad 512 . . . . . . . . . . . 12 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → (𝑦 ∈ ω ∧ 𝑦 ≠ ∅)))
52 elni 10790 . . . . . . . . . . . 12 (𝑦N ↔ (𝑦 ∈ ω ∧ 𝑦 ≠ ∅))
5351, 52imbitrrdi 252 . . . . . . . . . . 11 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → 𝑦N))
54 simpr 484 . . . . . . . . . . . 12 ((𝑥N ∧ 1o <N 𝑥) → 1o <N 𝑥)
55 breq2 5090 . . . . . . . . . . . 12 (𝑥 = suc 𝑦 → (1o <N 𝑥 ↔ 1o <N suc 𝑦))
5654, 55imbitrid 244 . . . . . . . . . . 11 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → 1o <N suc 𝑦))
5753, 56jcad 512 . . . . . . . . . 10 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) → (𝑦N ∧ 1o <N suc 𝑦)))
58 addclpi 10806 . . . . . . . . . . . . . . 15 ((𝑦N ∧ 1oN) → (𝑦 +N 1o) ∈ N)
5936, 58mpan2 692 . . . . . . . . . . . . . 14 (𝑦N → (𝑦 +N 1o) ∈ N)
60 addpiord 10798 . . . . . . . . . . . . . . . . . . 19 ((𝑦N ∧ 1oN) → (𝑦 +N 1o) = (𝑦 +o 1o))
6136, 60mpan2 692 . . . . . . . . . . . . . . . . . 18 (𝑦N → (𝑦 +N 1o) = (𝑦 +o 1o))
62 pion 10793 . . . . . . . . . . . . . . . . . . 19 (𝑦N𝑦 ∈ On)
63 oa1suc 8459 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ On → (𝑦 +o 1o) = suc 𝑦)
6462, 63syl 17 . . . . . . . . . . . . . . . . . 18 (𝑦N → (𝑦 +o 1o) = suc 𝑦)
6561, 64eqtrd 2772 . . . . . . . . . . . . . . . . 17 (𝑦N → (𝑦 +N 1o) = suc 𝑦)
6665eqeq2d 2748 . . . . . . . . . . . . . . . 16 (𝑦N → (𝑥 = (𝑦 +N 1o) ↔ 𝑥 = suc 𝑦))
6766biimparc 479 . . . . . . . . . . . . . . 15 ((𝑥 = suc 𝑦𝑦N) → 𝑥 = (𝑦 +N 1o))
6867eleq1d 2822 . . . . . . . . . . . . . 14 ((𝑥 = suc 𝑦𝑦N) → (𝑥N ↔ (𝑦 +N 1o) ∈ N))
6959, 68imbitrrid 246 . . . . . . . . . . . . 13 ((𝑥 = suc 𝑦𝑦N) → (𝑦N𝑥N))
7069ex 412 . . . . . . . . . . . 12 (𝑥 = suc 𝑦 → (𝑦N → (𝑦N𝑥N)))
7170pm2.43d 53 . . . . . . . . . . 11 (𝑥 = suc 𝑦 → (𝑦N𝑥N))
7255biimprd 248 . . . . . . . . . . 11 (𝑥 = suc 𝑦 → (1o <N suc 𝑦 → 1o <N 𝑥))
7371, 72anim12d 610 . . . . . . . . . 10 (𝑥 = suc 𝑦 → ((𝑦N ∧ 1o <N suc 𝑦) → (𝑥N ∧ 1o <N 𝑥)))
7457, 73impbid 212 . . . . . . . . 9 (𝑥 = suc 𝑦 → ((𝑥N ∧ 1o <N 𝑥) ↔ (𝑦N ∧ 1o <N suc 𝑦)))
7574imbi1d 341 . . . . . . . 8 (𝑥 = suc 𝑦 → (((𝑥N ∧ 1o <N 𝑥) → 𝜑) ↔ ((𝑦N ∧ 1o <N suc 𝑦) → 𝜑)))
76 indpi.3 . . . . . . . . . . . 12 (𝑥 = (𝑦 +N 1o) → (𝜑𝜃))
7766, 76biimtrrdi 254 . . . . . . . . . . 11 (𝑦N → (𝑥 = suc 𝑦 → (𝜑𝜃)))
7877adantr 480 . . . . . . . . . 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 2825 . . . . . . . . 9 (𝑥 = 𝐴 → (𝑥N𝐴N))
83 breq2 5090 . . . . . . . . 9 (𝑥 = 𝐴 → (1o <N 𝑥 ↔ 1o <N 𝐴))
8482, 83anbi12d 633 . . . . . . . 8 (𝑥 = 𝐴 → ((𝑥N ∧ 1o <N 𝑥) ↔ (𝐴N ∧ 1o <N 𝐴)))
8584, 3imbi12d 344 . . . . . . 7 (𝑥 = 𝐴 → (((𝑥N ∧ 1o <N 𝑥) → 𝜑) ↔ ((𝐴N ∧ 1o <N 𝐴) → 𝜏)))
8642a1i 12 . . . . . . 7 (1o ∈ ω → ((1oN ∧ 1o <N 1o) → 𝜓))
87 ltpiord 10801 . . . . . . . . . . . . . . 15 ((1oN𝑦N) → (1o <N 𝑦 ↔ 1o𝑦))
8836, 87mpan 691 . . . . . . . . . . . . . 14 (𝑦N → (1o <N 𝑦 ↔ 1o𝑦))
8988pm5.32i 574 . . . . . . . . . . . . 13 ((𝑦N ∧ 1o <N 𝑦) ↔ (𝑦N ∧ 1o𝑦))
9089simplbi2 500 . . . . . . . . . . . 12 (𝑦N → (1o𝑦 → (𝑦N ∧ 1o <N 𝑦)))
9190imim1d 82 . . . . . . . . . . 11 (𝑦N → (((𝑦N ∧ 1o <N 𝑦) → 𝜒) → (1o𝑦𝜒)))
92 ltrelpi 10803 . . . . . . . . . . . . . . 15 <N ⊆ (N × N)
9392brel 5689 . . . . . . . . . . . . . 14 (1o <N suc 𝑦 → (1oN ∧ suc 𝑦N))
94 ltpiord 10801 . . . . . . . . . . . . . 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 3592 . . . . . . . . . . . . . . 15 (1o = 𝑦 ↔ ∃𝑥(𝑥 = 1o𝑥 = 𝑦))
9897, 28, 6gencl 3472 . . . . . . . . . . . . . 14 (1o = 𝑦𝜒)
99 jao 963 . . . . . . . . . . . . . 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 410 . . . . . . . . 9 (((𝑦N ∧ 1o <N 𝑦) → 𝜒) → ((𝑦N ∧ 1o <N suc 𝑦) → 𝜒))
10515sseq1i 3951 . . . . . . . . . . 11 (1o𝑦 ↔ suc ∅ ⊆ 𝑦)
106 0ex 5242 . . . . . . . . . . . 12 ∅ ∈ V
107 sucssel 6414 . . . . . . . . . . . 12 (∅ ∈ V → (suc ∅ ⊆ 𝑦 → ∅ ∈ 𝑦))
108106, 107ax-mp 5 . . . . . . . . . . 11 (suc ∅ ⊆ 𝑦 → ∅ ∈ 𝑦)
109105, 108sylbi 217 . . . . . . . . . 10 (1o𝑦 → ∅ ∈ 𝑦)
110 elni2 10791 . . . . . . . . . . 11 (𝑦N ↔ (𝑦 ∈ ω ∧ ∅ ∈ 𝑦))
111 indpi.6 . . . . . . . . . . 11 (𝑦N → (𝜒𝜃))
112110, 111sylbir 235 . . . . . . . . . 10 ((𝑦 ∈ ω ∧ ∅ ∈ 𝑦) → (𝜒𝜃))
113109, 112sylan2 594 . . . . . . . . 9 ((𝑦 ∈ ω ∧ 1o𝑦) → (𝜒𝜃))
114104, 113syl9r 78 . . . . . . . 8 ((𝑦 ∈ ω ∧ 1o𝑦) → (((𝑦N ∧ 1o <N 𝑦) → 𝜒) → ((𝑦N ∧ 1o <N suc 𝑦) → 𝜃)))
115114adantlr 716 . . . . . . 7 (((𝑦 ∈ ω ∧ 1o ∈ ω) ∧ 1o𝑦) → (((𝑦N ∧ 1o <N 𝑦) → 𝜒) → ((𝑦N ∧ 1o <N suc 𝑦) → 𝜃)))
11624, 29, 81, 85, 86, 115findsg 7841 . . . . . 6 (((𝐴 ∈ ω ∧ 1o ∈ ω) ∧ 1o𝐴) → ((𝐴N ∧ 1o <N 𝐴) → 𝜏))
11720, 116mpanl2 702 . . . . 5 ((𝐴 ∈ ω ∧ 1o𝐴) → ((𝐴N ∧ 1o <N 𝐴) → 𝜏))
11810, 19, 117syl2anc 585 . . . 4 (𝐴N → ((𝐴N ∧ 1o <N 𝐴) → 𝜏))
119118expd 415 . . 3 (𝐴N → (𝐴N → (1o <N 𝐴𝜏)))
120119pm2.43i 52 . 2 (𝐴N → (1o <N 𝐴𝜏))
121 nlt1pi 10820 . . . 4 ¬ 𝐴 <N 1o
122 ltsopi 10802 . . . . . 6 <N Or N
123 sotric 5562 . . . . . 6 (( <N Or N ∧ (𝐴N ∧ 1oN)) → (𝐴 <N 1o ↔ ¬ (𝐴 = 1o ∨ 1o <N 𝐴)))
124122, 123mpan 691 . . . . 5 ((𝐴N ∧ 1oN) → (𝐴 <N 1o ↔ ¬ (𝐴 = 1o ∨ 1o <N 𝐴)))
12536, 124mpan2 692 . . . 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 861 1 (𝐴N𝜏)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395  wo 848   = wceq 1542  wcel 2114  wne 2933  Vcvv 3430  wss 3890  c0 4274   class class class wbr 5086   Or wor 5531  Ord word 6316  Oncon0 6317  suc csuc 6319  (class class class)co 7360  ωcom 7810  1oc1o 8391   +o coa 8395  Ncnpi 10758   +N cpli 10759   <N clti 10761
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-sep 5231  ax-nul 5241  ax-pr 5370  ax-un 7682
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3063  df-reu 3344  df-rab 3391  df-v 3432  df-sbc 3730  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4275  df-if 4468  df-pw 4544  df-sn 4569  df-pr 4571  df-op 4575  df-uni 4852  df-iun 4936  df-br 5087  df-opab 5149  df-mpt 5168  df-tr 5194  df-id 5519  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5577  df-we 5579  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-ov 7363  df-oprab 7364  df-mpo 7365  df-om 7811  df-2nd 7936  df-frecs 8224  df-wrecs 8255  df-recs 8304  df-rdg 8342  df-1o 8398  df-oadd 8402  df-ni 10786  df-pli 10787  df-lti 10789
This theorem is referenced by:  prlem934  10947
  Copyright terms: Public domain W3C validator