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

Theorem nn0ind 4612
Description: Principle of Mathematical Induction (inference schema) on nonnegative integers. The first four hypotheses give us the substitution instances we need; the last two are the basis and the induction hypothesis. (Contributed by Raph Levien, 10-Apr-04. Raph says: "This seems a bit painful. I wonder if an explicit substitution version would be easier.")
Hypotheses
Ref Expression
nn0ind.1 |- (x = 0 -> (ph <-> ps))
nn0ind.2 |- (x = y -> (ph <-> ch))
nn0ind.3 |- (x = (y + 1) -> (ph <-> th))
nn0ind.4 |- (x = A -> (ph <-> ta ))
nn0ind.5 |- ps
nn0ind.6 |- (y e. NN0 -> (ch -> th))
Assertion
Ref Expression
nn0ind |- (A e. NN0 -> ta )
Distinct variable group(s):   x,y   x,A   ps,x   ch,x   th,x   ta ,x   ph,y

Proof of Theorem nn0ind
StepHypRef Expression
1 elnn0 4536 . 2 |- (A e. NN0 <-> (A e. NN \/ A = 0))
2 dfsbcq 1442 . . . 4 |- (z = 1 -> ([z / x]ph <-> [1 / x]ph))
3 nn0ind.2 . . . . 5 |- (x = y -> (ph <-> ch))
43vsbcint 1438 . . . 4 |- (z = y -> ([z / x]ph <-> ch))
5 nn0ind.3 . . . . 5 |- (x = (y + 1) -> (ph <-> th))
65vsbcint 1438 . . . 4 |- (z = (y + 1) -> ([z / x]ph <-> th))
7 nn0ind.4 . . . . 5 |- (x = A -> (ph <-> ta ))
87vsbcint 1438 . . . 4 |- (z = A -> ([z / x]ph <-> ta ))
9 ax1re 4064 . . . . . . 7 |- 1 e. RR
109elisseti 1355 . . . . . 6 |- 1 e. V
1110hbsbcv 1447 . . . . 5 |- ([1 / x]ph -> A.x[1 / x]ph)
12 0nn0 4546 . . . . . . . 8 |- 0 e. NN0
1312elisseti 1355 . . . . . . 7 |- 0 e. V
14 nn0ind.6 . . . . . . . . . . 11 |- (y e. NN0 -> (ch -> th))
15 eleq1a 1158 . . . . . . . . . . . 12 |- (0 e. NN0 -> (y = 0 -> y e. NN0))
1612, 15ax-mp 6 . . . . . . . . . . 11 |- (y = 0 -> y e. NN0)
17 nn0ind.5 . . . . . . . . . . . . . . 15 |- ps
18 nn0ind.1 . . . . . . . . . . . . . . 15 |- (x = 0 -> (ph <-> ps))
1917, 18mpbiri 169 . . . . . . . . . . . . . 14 |- (x = 0 -> ph)
20 cleq2 1110 . . . . . . . . . . . . . . . 16 |- (y = 0 -> (x = y <-> x = 0))
2120, 3syl6bir 188 . . . . . . . . . . . . . . 15 |- (y = 0 -> (x = 0 -> (ph <-> ch)))
2221pm5.74d 444 . . . . . . . . . . . . . 14 |- (y = 0 -> ((x = 0 -> ph) <-> (x = 0 -> ch)))
2319, 22mpbii 168 . . . . . . . . . . . . 13 |- (y = 0 -> (x = 0 -> ch))
2423com12 13 . . . . . . . . . . . 12 |- (x = 0 -> (y = 0 -> ch))
2513, 24vtocle 1391 . . . . . . . . . . 11 |- (y = 0 -> ch)
2614, 16, 25sylc 62 . . . . . . . . . 10 |- (y = 0 -> th)
2726adantr 306 . . . . . . . . 9 |- ((y = 0 /\ x = 1) -> th)
28 opreq1 3006 . . . . . . . . . . . . 13 |- (y = 0 -> (y + 1) = (0 + 1))
29 1cn 4101 . . . . . . . . . . . . . 14 |- 1 e. CC
3029addid2 4113 . . . . . . . . . . . . 13 |- (0 + 1) = 1
3128, 30syl6eq 1140 . . . . . . . . . . . 12 |- (y = 0 -> (y + 1) = 1)
3231cleq2d 1112 . . . . . . . . . . 11 |- (y = 0 -> (x = (y + 1) <-> x = 1))
3332, 5syl6bir 188 . . . . . . . . . 10 |- (y = 0 -> (x = 1 -> (ph <-> th)))
3433imp 277 . . . . . . . . 9 |- ((y = 0 /\ x = 1) -> (ph <-> th))
3527, 34mpbird 171 . . . . . . . 8 |- ((y = 0 /\ x = 1) -> ph)
3635exp 291 . . . . . . 7 |- (y = 0 -> (x = 1 -> ph))
3713, 36vtocle 1391 . . . . . 6 |- (x = 1 -> ph)
38 sbceq1 1443 . . . . . 6 |- (x = 1 -> (ph <-> [1 / x]ph))
3937, 38mpbid 170 . . . . 5 |- (x = 1 -> [1 / x]ph)
4011, 10, 39vtoclef 1392 . . . 4 |- [1 / x]ph
41 nnnn0t 4541 . . . . 5 |- (y e. NN -> y e. NN0)
4241, 14syl 12 . . . 4 |- (y e. NN -> (ch -> th))
432, 4, 6, 8, 40, 42nnind 4434 . . 3 |- (A e. NN -> ta )
44 ax-17 925 . . . . . 6 |- (0 = A -> A.x0 = A)
45 ax-17 925 . . . . . 6 |- (ta -> A.xta )
4644, 45hbim 702 . . . . 5 |- ((0 = A -> ta ) -> A.x(0 = A -> ta ))
47 cleq1 1107 . . . . . 6 |- (x = 0 -> (x = A <-> 0 = A))
4818bicomd 399 . . . . . . . . 9 |- (x = 0 -> (ps <-> ph))
4948, 7sylan9bb 418 . . . . . . . 8 |- ((x = 0 /\ x = A) -> (ps <-> ta ))
5017, 49mpbii 168 . . . . . . 7 |- ((x = 0 /\ x = A) -> ta )
5150exp 291 . . . . . 6 |- (x = 0 -> (x = A -> ta ))
5247, 51sylbird 180 . . . . 5 |- (x = 0 -> (0 = A -> ta ))
5346, 13, 52vtoclef 1392 . . . 4 |- (0 = A -> ta )
5453cleqcoms 1104 . . 3 |- (A = 0 -> ta )
5543, 54jaoi 275 . 2 |- ((A e. NN \/ A = 0) -> ta )
561, 55sylbi 174 1 |- (A e. NN0 -> ta )
Colors of variables: wff set class
Syntax hints:   -> wi 2   <-> wb 127   \/ wo 195   /\ wa 196   = weq 797  [wsb 852   = wceq 1091   e. wcel 1092  [wsbc 1440  (class class class)co 3001  RRcr 4027  0cc0 4028  1c1 4029   + caddc 4031  NNcn 4093  NN0cn0 4094
This theorem is referenced by:  facclt 4874
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  ax-reg 1078  ax-inf 1079
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-ne 1192  df-ral 1205  df-rex 1206  df-reu 1207  df-rab 1208  df-v 1349  df-sbc 1441  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-pss 1494  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-int 1966  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-f 2434  df-f1 2435  df-fv 2438  df-rdg 2970  df-opr 3003  df-oprab 3004  df-1o 3104  df-oadd 3106  df-omul 3107  df-er 3200  df-ec 3202  df-qs 3205  df-ni 3794  df-pli 3795  df-mi 3796  df-lti 3797  df-plpq 3829  df-mpq 3830  df-enq 3831  df-nq 3832  df-plq 3833  df-mq 3834  df-rq 3835  df-ltq 3836  df-1q 3837  df-np 3880  df-1p 3881  df-plp 3882  df-ltp 3884  df-plpr 3958  df-enr 3960  df-nr 3961  df-plr 3962  df-0r 3965  df-1r 3966  df-c 4034  df-0 4035  df-1 4036  df-r 4038  df-plus 4039  df-n 4423  df-n0 4535
metamath.org