MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  findsg Structured version   Unicode version

Theorem findsg 6712
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 step. The basis of this version is an arbitrary natural number  B instead of zero. (Contributed by NM, 16-Sep-1995.)
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
Allowed substitution hints:    ph( x)    ps( y)    ch( y)    th( y)    ta( y)    A( y)

Proof of Theorem findsg
StepHypRef Expression
1 sseq2 3511 . . . . . . 7  |-  ( x  =  (/)  ->  ( B 
C_  x  <->  B  C_  (/) ) )
21adantl 466 . . . . . 6  |-  ( ( B  =  (/)  /\  x  =  (/) )  ->  ( B  C_  x  <->  B  C_  (/) ) )
3 eqeq2 2458 . . . . . . . 8  |-  ( B  =  (/)  ->  ( x  =  B  <->  x  =  (/) ) )
4 findsg.1 . . . . . . . 8  |-  ( x  =  B  ->  ( ph 
<->  ps ) )
53, 4syl6bir 229 . . . . . . 7  |-  ( B  =  (/)  ->  ( x  =  (/)  ->  ( ph  <->  ps ) ) )
65imp 429 . . . . . 6  |-  ( ( B  =  (/)  /\  x  =  (/) )  ->  ( ph 
<->  ps ) )
72, 6imbi12d 320 . . . . 5  |-  ( ( B  =  (/)  /\  x  =  (/) )  ->  (
( B  C_  x  ->  ph )  <->  ( B  C_  (/)  ->  ps ) ) )
81imbi1d 317 . . . . . 6  |-  ( x  =  (/)  ->  ( ( B  C_  x  ->  ph )  <->  ( B  C_  (/) 
->  ph ) ) )
9 ss0 3802 . . . . . . . . 9  |-  ( B 
C_  (/)  ->  B  =  (/) )
109con3i 135 . . . . . . . 8  |-  ( -.  B  =  (/)  ->  -.  B  C_  (/) )
1110pm2.21d 106 . . . . . . 7  |-  ( -.  B  =  (/)  ->  ( B  C_  (/)  ->  ( ph  <->  ps ) ) )
1211pm5.74d 247 . . . . . 6  |-  ( -.  B  =  (/)  ->  (
( B  C_  (/)  ->  ph )  <->  ( B  C_  (/)  ->  ps ) ) )
138, 12sylan9bbr 700 . . . . 5  |-  ( ( -.  B  =  (/)  /\  x  =  (/) )  -> 
( ( B  C_  x  ->  ph )  <->  ( B  C_  (/)  ->  ps ) ) )
147, 13pm2.61ian 790 . . . 4  |-  ( x  =  (/)  ->  ( ( B  C_  x  ->  ph )  <->  ( B  C_  (/) 
->  ps ) ) )
1514imbi2d 316 . . 3  |-  ( x  =  (/)  ->  ( ( B  e.  om  ->  ( B  C_  x  ->  ph ) )  <->  ( B  e.  om  ->  ( B  C_  (/)  ->  ps ) ) ) )
16 sseq2 3511 . . . . 5  |-  ( x  =  y  ->  ( B  C_  x  <->  B  C_  y
) )
17 findsg.2 . . . . 5  |-  ( x  =  y  ->  ( ph 
<->  ch ) )
1816, 17imbi12d 320 . . . 4  |-  ( x  =  y  ->  (
( B  C_  x  ->  ph )  <->  ( B  C_  y  ->  ch )
) )
1918imbi2d 316 . . 3  |-  ( x  =  y  ->  (
( B  e.  om  ->  ( B  C_  x  ->  ph ) )  <->  ( B  e.  om  ->  ( B  C_  y  ->  ch )
) ) )
20 sseq2 3511 . . . . 5  |-  ( x  =  suc  y  -> 
( B  C_  x  <->  B 
C_  suc  y )
)
21 findsg.3 . . . . 5  |-  ( x  =  suc  y  -> 
( ph  <->  th ) )
2220, 21imbi12d 320 . . . 4  |-  ( x  =  suc  y  -> 
( ( B  C_  x  ->  ph )  <->  ( B  C_ 
suc  y  ->  th )
) )
2322imbi2d 316 . . 3  |-  ( x  =  suc  y  -> 
( ( B  e. 
om  ->  ( B  C_  x  ->  ph ) )  <->  ( B  e.  om  ->  ( B  C_ 
suc  y  ->  th )
) ) )
24 sseq2 3511 . . . . 5  |-  ( x  =  A  ->  ( B  C_  x  <->  B  C_  A
) )
25 findsg.4 . . . . 5  |-  ( x  =  A  ->  ( ph 
<->  ta ) )
2624, 25imbi12d 320 . . . 4  |-  ( x  =  A  ->  (
( B  C_  x  ->  ph )  <->  ( B  C_  A  ->  ta )
) )
2726imbi2d 316 . . 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 25 . . 3  |-  ( B  e.  om  ->  ( B  C_  (/)  ->  ps )
)
30 vex 3098 . . . . . . . . . . . . . 14  |-  y  e. 
_V
3130sucex 6631 . . . . . . . . . . . . 13  |-  suc  y  e.  _V
3231eqvinc 3212 . . . . . . . . . . . 12  |-  ( suc  y  =  B  <->  E. x
( x  =  suc  y  /\  x  =  B ) )
3328, 4syl5ibr 221 . . . . . . . . . . . . . 14  |-  ( x  =  B  ->  ( B  e.  om  ->  ph ) )
3421biimpd 207 . . . . . . . . . . . . . 14  |-  ( x  =  suc  y  -> 
( ph  ->  th )
)
3533, 34sylan9r 658 . . . . . . . . . . . . 13  |-  ( ( x  =  suc  y  /\  x  =  B
)  ->  ( B  e.  om  ->  th )
)
3635exlimiv 1709 . . . . . . . . . . . 12  |-  ( E. x ( x  =  suc  y  /\  x  =  B )  ->  ( B  e.  om  ->  th ) )
3732, 36sylbi 195 . . . . . . . . . . 11  |-  ( suc  y  =  B  -> 
( B  e.  om  ->  th ) )
3837eqcoms 2455 . . . . . . . . . 10  |-  ( B  =  suc  y  -> 
( B  e.  om  ->  th ) )
3938imim2i 14 . . . . . . . . 9  |-  ( ( B  C_  suc  y  ->  B  =  suc  y )  ->  ( B  C_  suc  y  ->  ( B  e.  om  ->  th )
) )
4039a1d 25 . . . . . . . 8  |-  ( ( B  C_  suc  y  ->  B  =  suc  y )  ->  ( ( B 
C_  y  ->  ch )  ->  ( B  C_  suc  y  ->  ( B  e.  om  ->  th )
) ) )
4140com4r 86 . . . . . . 7  |-  ( B  e.  om  ->  (
( B  C_  suc  y  ->  B  =  suc  y )  ->  (
( B  C_  y  ->  ch )  ->  ( B  C_  suc  y  ->  th ) ) ) )
4241adantl 466 . . . . . 6  |-  ( ( y  e.  om  /\  B  e.  om )  ->  ( ( B  C_  suc  y  ->  B  =  suc  y )  -> 
( ( B  C_  y  ->  ch )  -> 
( B  C_  suc  y  ->  th ) ) ) )
43 df-ne 2640 . . . . . . . . 9  |-  ( B  =/=  suc  y  <->  -.  B  =  suc  y )
4443anbi2i 694 . . . . . . . 8  |-  ( ( B  C_  suc  y  /\  B  =/=  suc  y )  <->  ( B  C_  suc  y  /\  -.  B  =  suc  y ) )
45 annim 425 . . . . . . . 8  |-  ( ( B  C_  suc  y  /\  -.  B  =  suc  y )  <->  -.  ( B  C_  suc  y  ->  B  =  suc  y ) )
4644, 45bitri 249 . . . . . . 7  |-  ( ( B  C_  suc  y  /\  B  =/=  suc  y )  <->  -.  ( B  C_  suc  y  ->  B  =  suc  y ) )
47 nnon 6691 . . . . . . . . 9  |-  ( B  e.  om  ->  B  e.  On )
48 nnon 6691 . . . . . . . . 9  |-  ( y  e.  om  ->  y  e.  On )
49 onsssuc 4955 . . . . . . . . . 10  |-  ( ( B  e.  On  /\  y  e.  On )  ->  ( B  C_  y  <->  B  e.  suc  y ) )
50 suceloni 6633 . . . . . . . . . . 11  |-  ( y  e.  On  ->  suc  y  e.  On )
51 onelpss 4908 . . . . . . . . . . 11  |-  ( ( B  e.  On  /\  suc  y  e.  On )  ->  ( B  e. 
suc  y  <->  ( B  C_ 
suc  y  /\  B  =/=  suc  y ) ) )
5250, 51sylan2 474 . . . . . . . . . 10  |-  ( ( B  e.  On  /\  y  e.  On )  ->  ( B  e.  suc  y 
<->  ( B  C_  suc  y  /\  B  =/=  suc  y ) ) )
5349, 52bitrd 253 . . . . . . . . 9  |-  ( ( B  e.  On  /\  y  e.  On )  ->  ( B  C_  y  <->  ( B  C_  suc  y  /\  B  =/=  suc  y )
) )
5447, 48, 53syl2anr 478 . . . . . . . 8  |-  ( ( y  e.  om  /\  B  e.  om )  ->  ( B  C_  y  <->  ( B  C_  suc  y  /\  B  =/=  suc  y )
) )
55 findsg.6 . . . . . . . . . . . 12  |-  ( ( ( y  e.  om  /\  B  e.  om )  /\  B  C_  y )  ->  ( ch  ->  th ) )
5655ex 434 . . . . . . . . . . 11  |-  ( ( y  e.  om  /\  B  e.  om )  ->  ( B  C_  y  ->  ( ch  ->  th )
) )
57 ax-1 6 . . . . . . . . . . 11  |-  ( th 
->  ( B  C_  suc  y  ->  th ) )
5856, 57syl8 70 . . . . . . . . . 10  |-  ( ( y  e.  om  /\  B  e.  om )  ->  ( B  C_  y  ->  ( ch  ->  ( B  C_  suc  y  ->  th ) ) ) )
5958a2d 26 . . . . . . . . 9  |-  ( ( y  e.  om  /\  B  e.  om )  ->  ( ( B  C_  y  ->  ch )  -> 
( B  C_  y  ->  ( B  C_  suc  y  ->  th ) ) ) )
6059com23 78 . . . . . . . 8  |-  ( ( y  e.  om  /\  B  e.  om )  ->  ( B  C_  y  ->  ( ( B  C_  y  ->  ch )  -> 
( B  C_  suc  y  ->  th ) ) ) )
6154, 60sylbird 235 . . . . . . 7  |-  ( ( y  e.  om  /\  B  e.  om )  ->  ( ( B  C_  suc  y  /\  B  =/= 
suc  y )  -> 
( ( B  C_  y  ->  ch )  -> 
( B  C_  suc  y  ->  th ) ) ) )
6246, 61syl5bir 218 . . . . . 6  |-  ( ( y  e.  om  /\  B  e.  om )  ->  ( -.  ( B 
C_  suc  y  ->  B  =  suc  y )  ->  ( ( B 
C_  y  ->  ch )  ->  ( B  C_  suc  y  ->  th )
) ) )
6342, 62pm2.61d 158 . . . . 5  |-  ( ( y  e.  om  /\  B  e.  om )  ->  ( ( B  C_  y  ->  ch )  -> 
( B  C_  suc  y  ->  th ) ) )
6463ex 434 . . . 4  |-  ( y  e.  om  ->  ( B  e.  om  ->  ( ( B  C_  y  ->  ch )  ->  ( B  C_  suc  y  ->  th ) ) ) )
6564a2d 26 . . 3  |-  ( y  e.  om  ->  (
( B  e.  om  ->  ( B  C_  y  ->  ch ) )  -> 
( B  e.  om  ->  ( B  C_  suc  y  ->  th ) ) ) )
6615, 19, 23, 27, 29, 65finds 6711 . 2  |-  ( A  e.  om  ->  ( B  e.  om  ->  ( B  C_  A  ->  ta ) ) )
6766imp31 432 1  |-  ( ( ( A  e.  om  /\  B  e.  om )  /\  B  C_  A )  ->  ta )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1383   E.wex 1599    e. wcel 1804    =/= wne 2638    C_ wss 3461   (/)c0 3770   Oncon0 4868   suc csuc 4870   omcom 6685
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1605  ax-4 1618  ax-5 1691  ax-6 1734  ax-7 1776  ax-8 1806  ax-9 1808  ax-10 1823  ax-11 1828  ax-12 1840  ax-13 1985  ax-ext 2421  ax-sep 4558  ax-nul 4566  ax-pr 4676  ax-un 6577
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 975  df-3an 976  df-tru 1386  df-ex 1600  df-nf 1604  df-sb 1727  df-eu 2272  df-mo 2273  df-clab 2429  df-cleq 2435  df-clel 2438  df-nfc 2593  df-ne 2640  df-ral 2798  df-rex 2799  df-rab 2802  df-v 3097  df-sbc 3314  df-dif 3464  df-un 3466  df-in 3468  df-ss 3475  df-pss 3477  df-nul 3771  df-if 3927  df-pw 3999  df-sn 4015  df-pr 4017  df-tp 4019  df-op 4021  df-uni 4235  df-br 4438  df-opab 4496  df-tr 4531  df-eprel 4781  df-po 4790  df-so 4791  df-fr 4828  df-we 4830  df-ord 4871  df-on 4872  df-lim 4873  df-suc 4874  df-om 6686
This theorem is referenced by:  nnaordi  7269  inf3lem5  8052  ackbij2lem4  8625  sornom  8660  fin23lem15  8717  fin23lem36  8731  isf32lem1  8736  isf32lem2  8737  wunex2  9119  indpi  9288
  Copyright terms: Public domain W3C validator