HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
GIF version

Theorem indpi 3828
Description: Principle of Finite Induction on positive integers.
Hypotheses
Ref Expression
indpi.1 (x = 1o → (φψ))
indpi.2 (x = y → (φχ))
indpi.3 (x = (y +N 1o) → (φθ))
indpi.4 (x = A → (φτ))
indpi.5 ψ
indpi.6 (yN → (χθ))
Assertion
Ref Expression
indpi (ANτ)
Distinct variable group(s):   x,y   x,A   ψ,x   χ,x   θ,x   τ,x   φ,y

Proof of Theorem indpi
StepHypRef Expression
1 nlt1pi 3827 . . . 4 ¬ A <N 1o
2 1pi 3805 . . . . 5 1oN
3 ltsopi 3810 . . . . . 6 <N Or N
4 sotric 2148 . . . . . 6 (( <N Or N ∧ (AN ∧ 1oN)) → (A <N 1o ↔ ¬ (A = 1o ∨ 1o <N A)))
53, 4mpan 518 . . . . 5 ((AN ∧ 1oN) → (A <N 1o ↔ ¬ (A = 1o ∨ 1o <N A)))
62, 5mpan2 519 . . . 4 (AN → (A <N 1o ↔ ¬ (A = 1o ∨ 1o <N A)))
71, 6mtbii 538 . . 3 (AN → ¬ ¬ (A = 1o ∨ 1o <N A))
8 nega 78 . . 3 (¬ ¬ (A = 1o ∨ 1o <N A) → (A = 1o ∨ 1o <N A))
97, 8syl 12 . 2 (AN → (A = 1o ∨ 1o <N A))
102elisseti 1355 . . . . . . 7 1oV
1110eqvinc 1407 . . . . . 6 (1o = A ↔ ∃x(x = 1ox = A))
12 indpi.4 . . . . . 6 (x = A → (φτ))
13 indpi.5 . . . . . . 7 ψ
14 indpi.1 . . . . . . 7 (x = 1o → (φψ))
1513, 14mpbiri 169 . . . . . 6 (x = 1oφ)
1611, 12, 15gencl 1365 . . . . 5 (1o = Aτ)
1716cleqcoms 1104 . . . 4 (A = 1oτ)
1817a1i 7 . . 3 (AN → (A = 1oτ))
19 1onn 3193 . . . . . . 7 1o ∈ ω
20 eleq1 1149 . . . . . . . . . 10 (x = 1o → (xN ↔ 1oN))
21 breq2 2066 . . . . . . . . . 10 (x = 1o → (1o <N x ↔ 1o <N 1o))
2220, 21anbi12d 476 . . . . . . . . 9 (x = 1o → ((xN ∧ 1o <N x) ↔ (1oN ∧ 1o <N 1o)))
2322, 14imbi12d 474 . . . . . . . 8 (x = 1o → (((xN ∧ 1o <N x) → φ) ↔ ((1oN ∧ 1o <N 1o) → ψ)))
24 eleq1 1149 . . . . . . . . . 10 (x = y → (xNyN))
25 breq2 2066 . . . . . . . . . 10 (x = y → (1o <N x ↔ 1o <N y))
2624, 25anbi12d 476 . . . . . . . . 9 (x = y → ((xN ∧ 1o <N x) ↔ (yN ∧ 1o <N y)))
27 indpi.2 . . . . . . . . 9 (x = y → (φχ))
2826, 27imbi12d 474 . . . . . . . 8 (x = y → (((xN ∧ 1o <N x) → φ) ↔ ((yN ∧ 1o <N y) → χ)))
29 eleq1 1149 . . . . . . . . . . . . . . . . 17 (x = suc y → (x ∈ ω ↔ suc y ∈ ω))
30 peano2b 2388 . . . . . . . . . . . . . . . . 17 (y ∈ ω ↔ suc y ∈ ω)
3129, 30syl6bbr 416 . . . . . . . . . . . . . . . 16 (x = suc y → (x ∈ ω ↔ y ∈ ω))
32 pinn 3800 . . . . . . . . . . . . . . . 16 (xNx ∈ ω)
3331, 32syl5bi 183 . . . . . . . . . . . . . . 15 (x = suc y → (xNy ∈ ω))
3433adantrd 308 . . . . . . . . . . . . . 14 (x = suc y → ((xN ∧ 1o <N x) → y ∈ ω))
35 eleq2 1150 . . . . . . . . . . . . . . . 16 (x = suc y → (1ox ↔ 1o ∈ suc y))
36 elsuci 2289 . . . . . . . . . . . . . . . . 17 (1o ∈ suc y → (1oy ∨ 1o = y))
37 n0i 1712 . . . . . . . . . . . . . . . . . 18 (1oy → ¬ y = ∅)
38 0ex 1745 . . . . . . . . . . . . . . . . . . . . . 22 ∅ ∈ V
3938sucid 2304 . . . . . . . . . . . . . . . . . . . . 21 ∅ ∈ suc ∅
40 df-1o 3104 . . . . . . . . . . . . . . . . . . . . 21 1o = suc ∅
4139, 40eleqtrr 1162 . . . . . . . . . . . . . . . . . . . 20 ∅ ∈ 1o
42 eleq2 1150 . . . . . . . . . . . . . . . . . . . 20 (1o = y → (∅ ∈ 1o ↔ ∅ ∈ y))
4341, 42mpbii 168 . . . . . . . . . . . . . . . . . . 19 (1o = y → ∅ ∈ y)
44 n0i 1712 . . . . . . . . . . . . . . . . . . 19 (∅ ∈ y → ¬ y = ∅)
4543, 44syl 12 . . . . . . . . . . . . . . . . . 18 (1o = y → ¬ y = ∅)
4637, 45jaoi 275 . . . . . . . . . . . . . . . . 17 ((1oy ∨ 1o = y) → ¬ y = ∅)
4736, 46syl 12 . . . . . . . . . . . . . . . 16 (1o ∈ suc y → ¬ y = ∅)
4835, 47syl6bi 187 . . . . . . . . . . . . . . 15 (x = suc y → (1ox → ¬ y = ∅))
49 ltpiord 3809 . . . . . . . . . . . . . . . . 17 ((1oNxN) → (1o <N x ↔ 1ox))
502, 49mpan 518 . . . . . . . . . . . . . . . 16 (xN → (1o <N x ↔ 1ox))
5150biimpa 324 . . . . . . . . . . . . . . 15 ((xN ∧ 1o <N x) → 1ox)
5248, 51syl5 22 . . . . . . . . . . . . . 14 (x = suc y → ((xN ∧ 1o <N x) → ¬ y = ∅))
5334, 52jcad 455 . . . . . . . . . . . . 13 (x = suc y → ((xN ∧ 1o <N x) → (y ∈ ω ∧ ¬ y = ∅)))
54 elni 3798 . . . . . . . . . . . . 13 (yN ↔ (y ∈ ω ∧ ¬ y = ∅))
5553, 54syl6ibr 186 . . . . . . . . . . . 12 (x = suc y → ((xN ∧ 1o <N x) → yN))
56 breq2 2066 . . . . . . . . . . . . 13 (x = suc y → (1o <N x ↔ 1o <N suc y))
57 pm3.27 260 . . . . . . . . . . . . 13 ((xN ∧ 1o <N x) → 1o <N x)
5856, 57syl5bi 183 . . . . . . . . . . . 12 (x = suc y → ((xN ∧ 1o <N x) → 1o <N suc y))
5955, 58jcad 455 . . . . . . . . . . 11 (x = suc y → ((xN ∧ 1o <N x) → (yN ∧ 1o <N suc y)))
60 addpiord 3806 . . . . . . . . . . . . . . . . . . . 20 ((yN ∧ 1oN) → (y +N 1o) = (y +o 1o))
612, 60mpan2 519 . . . . . . . . . . . . . . . . . . 19 (yN → (y +N 1o) = (y +o 1o))
62 pion 3801 . . . . . . . . . . . . . . . . . . . 20 (yNy ∈ On)
63 oa1suc 3132 . . . . . . . . . . . . . . . . . . . 20 (y ∈ On → (y +o 1o) = suc y)
6462, 63syl 12 . . . . . . . . . . . . . . . . . . 19 (yN → (y +o 1o) = suc y)
6561, 64eqtrd 1128 . . . . . . . . . . . . . . . . . 18 (yN → (y +N 1o) = suc y)
6665cleq2d 1112 . . . . . . . . . . . . . . . . 17 (yN → (x = (y +N 1o) ↔ x = suc y))
6766biimparc 327 . . . . . . . . . . . . . . . 16 ((x = suc yyN) → x = (y +N 1o))
6867eleq1d 1155 . . . . . . . . . . . . . . 15 ((x = suc yyN) → (xN ↔ (y +N 1o) ∈ N))
69 addclpi 3814 . . . . . . . . . . . . . . . 16 ((yN ∧ 1oN) → (y +N 1o) ∈ N)
702, 69mpan2 519 . . . . . . . . . . . . . . 15 (yN → (y +N 1o) ∈ N)
7168, 70syl5bir 184 . . . . . . . . . . . . . 14 ((x = suc yyN) → (yNxN))
7271exp 291 . . . . . . . . . . . . 13 (x = suc y → (yN → (yNxN)))
7372pm2.43d 59 . . . . . . . . . . . 12 (x = suc y → (yNxN))
7456biimprd 136 . . . . . . . . . . . 12 (x = suc y → (1o <N suc y → 1o <N x))
7573, 74anim12d 431 . . . . . . . . . . 11 (x = suc y → ((yN ∧ 1o <N suc y) → (xN ∧ 1o <N x)))
7659, 75impbid 397 . . . . . . . . . 10 (x = suc y → ((xN ∧ 1o <N x) ↔ (yN ∧ 1o <N suc y)))
7776imbi1d 465 . . . . . . . . 9 (x = suc y → (((xN ∧ 1o <N x) → φ) ↔ ((yN ∧ 1o <N suc y) → φ)))
78 indpi.3 . . . . . . . . . . . . 13 (x = (y +N 1o) → (φθ))
7966, 78syl6bir 188 . . . . . . . . . . . 12 (yN → (x = suc y → (φθ)))
8079adantr 306 . . . . . . . . . . 11 ((yN ∧ 1o <N suc y) → (x = suc y → (φθ)))
8180com12 13 . . . . . . . . . 10 (x = suc y → ((yN ∧ 1o <N suc y) → (φθ)))
8281pm5.74d 444 . . . . . . . . 9 (x = suc y → (((yN ∧ 1o <N suc y) → φ) ↔ ((yN ∧ 1o <N suc y) → θ)))
8377, 82bitrd 406 . . . . . . . 8 (x = suc y → (((xN ∧ 1o <N x) → φ) ↔ ((yN ∧ 1o <N suc y) → θ)))
84 eleq1 1149 . . . . . . . . . 10 (x = A → (xNAN))
85 breq2 2066 . . . . . . . . . 10 (x = A → (1o <N x ↔ 1o <N A))
8684, 85anbi12d 476 . . . . . . . . 9 (x = A → ((xN ∧ 1o <N x) ↔ (AN ∧ 1o <N A)))
8786, 12imbi12d 474 . . . . . . . 8 (x = A → (((xN ∧ 1o <N x) → φ) ↔ ((AN ∧ 1o <N A) → τ)))
8813a1i 7 . . . . . . . . 9 ((1oN ∧ 1o <N 1o) → ψ)
8988a1i 7 . . . . . . . 8 (1o ∈ ω → ((1oN ∧ 1o <N 1o) → ψ))
90 pm3.2 232 . . . . . . . . . . . . . . 15 (yN → (1oy → (yN ∧ 1oy)))
91 ltpiord 3809 . . . . . . . . . . . . . . . . 17 ((1oNyN) → (1o <N y ↔ 1oy))
922, 91mpan 518 . . . . . . . . . . . . . . . 16 (yN → (1o <N y ↔ 1oy))
9392pm5.32i 489 . . . . . . . . . . . . . . 15 ((yN ∧ 1o <N y) ↔ (yN ∧ 1oy))
9490, 93syl6ibr 186 . . . . . . . . . . . . . 14 (yN → (1oy → (yN ∧ 1o <N y)))
9594syl4d 28 . . . . . . . . . . . . 13 (yN → (((yN ∧ 1o <N y) → χ) → (1oyχ)))
9610eqvinc 1407 . . . . . . . . . . . . . . . . 17 (1o = y ↔ ∃x(x = 1ox = y))
9796, 27, 15gencl 1365 . . . . . . . . . . . . . . . 16 (1o = yχ)
98 jao 274 . . . . . . . . . . . . . . . 16 ((1oyχ) → ((1o = yχ) → ((1oy ∨ 1o = y) → χ)))
9997, 98mpi 44 . . . . . . . . . . . . . . 15 ((1oyχ) → ((1oy ∨ 1o = y) → χ))
10099, 36syl5 22 . . . . . . . . . . . . . 14 ((1oyχ) → (1o ∈ suc yχ))
101 visset 1350 . . . . . . . . . . . . . . . . . 18 yV
102101sucex 2303 . . . . . . . . . . . . . . . . 17 suc yV
103 ltrelpi 3811 . . . . . . . . . . . . . . . . 17 <N ⊆ (N × N)
104102, 103brel 2459 . . . . . . . . . . . . . . . 16 (1o <N suc y → (1oN ∧ suc yN))
105 ltpiord 3809 . . . . . . . . . . . . . . . 16 ((1oN ∧ suc yN) → (1o <N suc y ↔ 1o ∈ suc y))
106104, 105syl 12 . . . . . . . . . . . . . . 15 (1o <N suc y → (1o <N suc y ↔ 1o ∈ suc y))
107106ibi 449 . . . . . . . . . . . . . 14 (1o <N suc y → 1o ∈ suc y)
108100, 107syl5 22 . . . . . . . . . . . . 13 ((1oyχ) → (1o <N suc yχ))
10995, 108syl6 23 . . . . . . . . . . . 12 (yN → (((yN ∧ 1o <N y) → χ) → (1o <N suc yχ)))
110109com12 13 . . . . . . . . . . 11 (((yN ∧ 1o <N y) → χ) → (yN → (1o <N suc yχ)))
111110imp3a 279 . . . . . . . . . 10 (((yN ∧ 1o <N y) → χ) → ((yN ∧ 1o <N suc y) → χ))
112 elni2 3799 . . . . . . . . . . . 12 (yN ↔ (y ∈ ω ∧ ∅ ∈ y))
113 indpi.6 . . . . . . . . . . . 12 (yN → (χθ))
114112, 113sylbir 176 . . . . . . . . . . 11 ((y ∈ ω ∧ ∅ ∈ y) → (χθ))
11540sseq1i 1524 . . . . . . . . . . . 12 (1oy ↔ suc ∅ ⊆ y)
116 sucssel 2321 . . . . . . . . . . . . 13 (∅ ∈ V → (suc ∅ ⊆ y → ∅ ∈ y))
11738, 116ax-mp 6 . . . . . . . . . . . 12 (suc ∅ ⊆ y → ∅ ∈ y)
118115, 117sylbi 174 . . . . . . . . . . 11 (1oy → ∅ ∈ y)
119114, 118sylan2 346 . . . . . . . . . 10 ((y ∈ ω ∧ 1oy) → (χθ))
120111, 119syl9r 56 . . . . . . . . 9 ((y ∈ ω ∧ 1oy) → (((yN ∧ 1o <N y) → χ) → ((yN ∧ 1o <N suc y) → θ)))
121120adantlr 310 . . . . . . . 8 (((y ∈ ω ∧ 1o ∈ ω) ∧ 1oy) → (((yN ∧ 1o <N y) → χ) → ((yN ∧ 1o <N suc y) → θ)))
12223, 28, 83, 87, 89, 121findsg 2398 . . . . . . 7 (((A ∈ ω ∧ 1o ∈ ω) ∧ 1oA) → ((AN ∧ 1o <N A) → τ))
12319, 122mpan12 530 . . . . . 6 ((A ∈ ω ∧ 1oA) → ((AN ∧ 1o <N A) → τ))
124 pinn 3800 . . . . . 6 (ANA ∈ ω)
125 elni2 3799 . . . . . . 7 (AN ↔ (A ∈ ω ∧ ∅ ∈ A))
126 nnord 2381 . . . . . . . . . 10 (A ∈ ω → Ord A)
127 ordsucss 2320 . . . . . . . . . 10 (Ord A → (∅ ∈ A → suc ∅ ⊆ A))
128126, 127syl 12 . . . . . . . . 9 (A ∈ ω → (∅ ∈ A → suc ∅ ⊆ A))
12940sseq1i 1524 . . . . . . . . 9 (1oA ↔ suc ∅ ⊆ A)
130128, 129syl6ibr 186 . . . . . . . 8 (A ∈ ω → (∅ ∈ A → 1oA))
131130imp 277 . . . . . . 7 ((A ∈ ω ∧ ∅ ∈ A) → 1oA)
132125, 131sylbi 174 . . . . . 6 (AN → 1oA)
133123, 124, 132sylanc 361 . . . . 5 (AN → ((AN ∧ 1o <N A) → τ))
134133exp3a 292 . . . 4 (AN → (AN → (1o <N Aτ)))
135134pm2.43i 58 . . 3 (AN → (1o <N Aτ))
13618, 135jaod 329 . 2 (AN → ((A = 1o ∨ 1o <N A) → τ))
1379, 136mpd 46 1 (ANτ)
Colors of variables: wff set class
Syntax hints:  ¬ wn 1   → wi 2   ↔ wb 127   ∨ wo 195   ∧ wa 196   = weq 797   = wceq 1091   ∈ wcel 1092  Vcvv 1348   ⊆ wss 1487  ∅c0 1707   class class class wbr 2054   Or wor 2059  Ord word 2198  Oncon0 2199  suc csuc 2201  ωcom 2372  (class class class)co 3001  1oc1o 3099   +o coa 3101  Ncnpi 3766   +N cpli 3767   <N clti 3769
This theorem is referenced by:  prlem934a 3931
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-13 804  ax-14 805  ax-16 922  ax-17 925  ax-ext 1074  ax-rep 1075  ax-un 1076  ax-pow 1077
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-3or 582  df-3an 583  df-ex 679  df-sb 853  df-eu 1009  df-mo 1010  df-clab 1093  df-cleq 1097  df-clel 1099  df-ral 1205  df-rex 1206  df-rab 1208  df-v 1349  df-sbc 1441  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-nul 1708  df-if 1777  df-pw 1799  df-sn 1811  df-pr 1812  df-tp 1814  df-op 1815  df-uni 1920  df-iun 1996  df-tr 2042  df-br 2063  df-opab 2098  df-eprel 2122  df-id 2125  df-po 2128  df-so 2138  df-fr 2169  df-we 2186  df-ord 2202  df-on 2203  df-lim 2204  df-suc 2205  df-om 2373  df-xp 2424  df-rel 2425  df-cnv 2426  df-co 2427  df-dm 2428  df-rn 2429  df-res 2430  df-ima 2431  df-fun 2432  df-fn 2433  df-fv 2438  df-rdg 2970  df-opr 3003  df-oprab 3004  df-1o 3104  df-oadd 3106  df-ni 3794  df-pli 3795  df-lti 3797
metamath.org