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

Theorem findsg 3980
Description: Principle of Finite Induction (inference schema), using implicit substitutions. The first four hypotheses establish the substitutions we need. The last two are the basis and the induction hypothesis. The basis of this version is an arbitrary natural number B instead of zero.
Hypotheses
Ref Expression
findsg.1 |- (x = B -> (ph <-> ps))
findsg.2 |- (x = y -> (ph <-> ch))
findsg.3 |- (x = suc y -> (ph <-> th))
findsg.4 |- (x = A -> (ph <-> ta))
findsg.5 |- (B e. om -> ps)
findsg.6 |- (((y e. om /\ B e. om) /\ B C_ y) -> (ch -> th))
Assertion
Ref Expression
findsg |- (((A e. om /\ B e. om) /\ B C_ A) -> ta)
Distinct variable groups:   x,A   x,y,B   ps,x   ch,x   th,x   ta,x   ph,y

Proof of Theorem findsg
StepHypRef Expression
1 sseq2 2639 . . . . . . 7 |- (x = (/) -> (B C_ x <-> B C_ (/)))
21adantl 424 . . . . . 6 |- ((B = (/) /\ x = (/)) -> (B C_ x <-> B C_ (/)))
3 eqeq2 1893 . . . . . . . 8 |- (B = (/) -> (x = B <-> x = (/)))
4 findsg.1 . . . . . . . 8 |- (x = B -> (ph <-> ps))
53, 4syl6bir 232 . . . . . . 7 |- (B = (/) -> (x = (/) -> (ph <-> ps)))
65imp 377 . . . . . 6 |- ((B = (/) /\ x = (/)) -> (ph <-> ps))
72, 6imbi12d 688 . . . . 5 |- ((B = (/) /\ x = (/)) -> ((B C_ x -> ph) <-> (B C_ (/) -> ps)))
81imbi1d 675 . . . . . 6 |- (x = (/) -> ((B C_ x -> ph) <-> (B C_ (/) -> ph)))
9 ss0 2902 . . . . . . . . 9 |- (B C_ (/) -> B = (/))
109con3i 114 . . . . . . . 8 |- (-. B = (/) -> -. B C_ (/))
1110pm2.21d 94 . . . . . . 7 |- (-. B = (/) -> (B C_ (/) -> (ph <-> ps)))
1211pm5.74d 645 . . . . . 6 |- (-. B = (/) -> ((B C_ (/) -> ph) <-> (B C_ (/) -> ps)))
138, 12sylan9bbr 600 . . . . 5 |- ((-. B = (/) /\ x = (/)) -> ((B C_ x -> ph) <-> (B C_ (/) -> ps)))
147, 13pm2.61ian 534 . . . 4 |- (x = (/) -> ((B C_ x -> ph) <-> (B C_ (/) -> ps)))
1514imbi2d 674 . . 3 |- (x = (/) -> ((B e. om -> (B C_ x -> ph)) <-> (B e. om -> (B C_ (/) -> ps))))
16 sseq2 2639 . . . . 5 |- (x = y -> (B C_ x <-> B C_ y))
17 findsg.2 . . . . 5 |- (x = y -> (ph <-> ch))
1816, 17imbi12d 688 . . . 4 |- (x = y -> ((B C_ x -> ph) <-> (B C_ y -> ch)))
1918imbi2d 674 . . 3 |- (x = y -> ((B e. om -> (B C_ x -> ph)) <-> (B e. om -> (B C_ y -> ch))))
20 sseq2 2639 . . . . 5 |- (x = suc y -> (B C_ x <-> B C_ suc y))
21 findsg.3 . . . . 5 |- (x = suc y -> (ph <-> th))
2220, 21imbi12d 688 . . . 4 |- (x = suc y -> ((B C_ x -> ph) <-> (B C_ suc y -> th)))
2322imbi2d 674 . . 3 |- (x = suc y -> ((B e. om -> (B C_ x -> ph)) <-> (B e. om -> (B C_ suc y -> th))))
24 sseq2 2639 . . . . 5 |- (x = A -> (B C_ x <-> B C_ A))
25 findsg.4 . . . . 5 |- (x = A -> (ph <-> ta))
2624, 25imbi12d 688 . . . 4 |- (x = A -> ((B C_ x -> ph) <-> (B C_ A -> ta)))
2726imbi2d 674 . . 3 |- (x = A -> ((B e. om -> (B C_ x -> ph)) <-> (B e. om -> (B C_ A -> ta))))
28 findsg.5 . . . 4 |- (B e. om -> ps)
2928a1d 15 . . 3 |- (B e. om -> (B C_ (/) -> ps))
30 visset 2295 . . . . . . . . . . . . . 14 |- y e. _V
3130sucex 3892 . . . . . . . . . . . . 13 |- suc y e. _V
3231eqvinc 2387 . . . . . . . . . . . 12 |- (suc y = B <-> E.x(x = suc y /\ x = B))
334, 28syl5bir 227 . . . . . . . . . . . . . 14 |- (x = B -> (B e. om -> ph))
3421biimpd 170 . . . . . . . . . . . . . 14 |- (x = suc y -> (ph -> th))
3533, 34sylan9r 519 . . . . . . . . . . . . 13 |- ((x = suc y /\ x = B) -> (B e. om -> th))
363519.23aiv 1674 . . . . . . . . . . . 12 |- (E.x(x = suc y /\ x = B) -> (B e. om -> th))
3732, 36sylbi 216 . . . . . . . . . . 11 |- (suc y = B -> (B e. om -> th))
3837eqcoms 1887 . . . . . . . . . 10 |- (B = suc y -> (B e. om -> th))
3938imim2i 11 . . . . . . . . 9 |- ((B C_ suc y -> B = suc y) -> (B C_ suc y -> (B e. om -> th)))
4039a1d 15 . . . . . . . 8 |- ((B C_ suc y -> B = suc y) -> ((B C_ y -> ch) -> (B C_ suc y -> (B e. om -> th))))
4140com4r 45 . . . . . . 7 |- (B e. om -> ((B C_ suc y -> B = suc y) -> ((B C_ y -> ch) -> (B C_ suc y -> th))))
4241adantl 424 . . . . . 6 |- ((y e. om /\ B e. om) -> ((B C_ suc y -> B = suc y) -> ((B C_ y -> ch) -> (B C_ suc y -> th))))
43 onsssuc 3757 . . . . . . . . . . 11 |- ((B e. On /\ y e. On) -> (B C_ y <-> B e. suc y))
44 onelpss 3703 . . . . . . . . . . . 12 |- ((B e. On /\ suc y e. On) -> (B e. suc y <-> (B C_ suc y /\ B =/= suc y)))
45 suceloni 3894 . . . . . . . . . . . 12 |- (y e. On -> suc y e. On)
4644, 45sylan2 500 . . . . . . . . . . 11 |- ((B e. On /\ y e. On) -> (B e. suc y <-> (B C_ suc y /\ B =/= suc y)))
4743, 46bitrd 587 . . . . . . . . . 10 |- ((B e. On /\ y e. On) -> (B C_ y <-> (B C_ suc y /\ B =/= suc y)))
48 nnon 3957 . . . . . . . . . 10 |- (B e. om -> B e. On)
49 nnon 3957 . . . . . . . . . 10 |- (y e. om -> y e. On)
5047, 48, 49syl2an 503 . . . . . . . . 9 |- ((B e. om /\ y e. om) -> (B C_ y <-> (B C_ suc y /\ B =/= suc y)))
5150ancoms 484 . . . . . . . 8 |- ((y e. om /\ B e. om) -> (B C_ y <-> (B C_ suc y /\ B =/= suc y)))
52 findsg.6 . . . . . . . . . . . 12 |- (((y e. om /\ B e. om) /\ B C_ y) -> (ch -> th))
5352ex 402 . . . . . . . . . . 11 |- ((y e. om /\ B e. om) -> (B C_ y -> (ch -> th)))
54 ax-1 4 . . . . . . . . . . 11 |- (th -> (B C_ suc y -> th))
5553, 54syl8 27 . . . . . . . . . 10 |- ((y e. om /\ B e. om) -> (B C_ y -> (ch -> (B C_ suc y -> th))))
5655a2d 16 . . . . . . . . 9 |- ((y e. om /\ B e. om) -> ((B C_ y -> ch) -> (B C_ y -> (B C_ suc y -> th))))
5756com23 36 . . . . . . . 8 |- ((y e. om /\ B e. om) -> (B C_ y -> ((B C_ y -> ch) -> (B C_ suc y -> th))))
5851, 57sylbird 222 . . . . . . 7 |- ((y e. om /\ B e. om) -> ((B C_ suc y /\ B =/= suc y) -> ((B C_ y -> ch) -> (B C_ suc y -> th))))
59 df-ne 2019 . . . . . . . . 9 |- (B =/= suc y <-> -. B = suc y)
6059anbi2i 538 . . . . . . . 8 |- ((B C_ suc y /\ B =/= suc y) <-> (B C_ suc y /\ -. B = suc y))
61 annim 257 . . . . . . . 8 |- ((B C_ suc y /\ -. B = suc y) <-> -. (B C_ suc y -> B = suc y))
6260, 61bitri 190 . . . . . . 7 |- ((B C_ suc y /\ B =/= suc y) <-> -. (B C_ suc y -> B = suc y))
6358, 62syl5ibr 224 . . . . . 6 |- ((y e. om /\ B e. om) -> (-. (B C_ suc y -> B = suc y) -> ((B C_ y -> ch) -> (B C_ suc y -> th))))
6442, 63pm2.61d 141 . . . . 5 |- ((y e. om /\ B e. om) -> ((B C_ y -> ch) -> (B C_ suc y -> th)))
6564ex 402 . . . 4 |- (y e. om -> (B e. om -> ((B C_ y -> ch) -> (B C_ suc y -> th))))
6665a2d 16 . . 3 |- (y e. om -> ((B e. om -> (B C_ y -> ch)) -> (B e. om -> (B C_ suc y -> th))))
6715, 19, 23, 27, 29, 66finds 3979 . 2 |- (A e. om -> (B e. om -> (B C_ A -> ta)))
6867imp31 389 1 |- (((A e. om /\ B e. om) /\ B C_ A) -> ta)
Colors of variables: wff set class
Syntax hints:  -. wn 2   -> wi 3   <-> wb 163   /\ wa 240   = wceq 1298   e. wcel 1300  E.wex 1326   =/= wne 2017   C_ wss 2593  (/)c0 2875  Oncon0 3657  suc csuc 3659  omcom 3949
This theorem is referenced by:  inf3lem5 5723  indpi 6186  fictblem 15370
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 1304  ax-gen 1305  ax-8 1306  ax-9 1307  ax-10 1308  ax-11 1309  ax-12 1310  ax-13 1311  ax-14 1312  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588  ax-ext 1865  ax-sep 3438  ax-nul 3445  ax-pow 3481  ax-pr 3524  ax-un 3790
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-3or 859  df-3an 860  df-ex 1327  df-sb 1536  df-eu 1775  df-mo 1776  df-clab 1872  df-cleq 1877  df-clel 1880  df-ne 2019  df-ral 2109  df-rex 2110  df-rab 2112  df-v 2294  df-dif 2597  df-un 2600  df-in 2603  df-ss 2605  df-pss 2607  df-nul 2876  df-if 2983  df-pw 3035  df-sn 3049  df-pr 3050  df-tp 3052  df-op 3053  df-uni 3178  df-br 3339  df-opab 3396  df-tr 3412  df-eprel 3583  df-po 3591  df-so 3604  df-fr 3625  df-we 3644  df-ord 3660  df-on 3661  df-lim 3662  df-suc 3663  df-om 3950
Copyright terms: Public domain