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

Theorem findsg 6501
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 3376 . . . . . . 7  |-  ( x  =  (/)  ->  ( B 
C_  x  <->  B  C_  (/) ) )
21adantl 466 . . . . . 6  |-  ( ( B  =  (/)  /\  x  =  (/) )  ->  ( B  C_  x  <->  B  C_  (/) ) )
3 eqeq2 2450 . . . . . . . 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 3666 . . . . . . . . 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 788 . . . 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 3376 . . . . 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 3376 . . . . 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 3376 . . . . 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 2973 . . . . . . . . . . . . . 14  |-  y  e. 
_V
3130sucex 6420 . . . . . . . . . . . . 13  |-  suc  y  e.  _V
3231eqvinc 3084 . . . . . . . . . . . 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 1688 . . . . . . . . . . . 12  |-  ( E. x ( x  =  suc  y  /\  x  =  B )  ->  ( B  e.  om  ->  th ) )
3732, 36sylbi 195 . . . . . . . . . . 11  |-  ( suc  y  =  B  -> 
( B  e.  om  ->  th ) )
3837eqcoms 2444 . . . . . . . . . 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 2606 . . . . . . . . 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 6480 . . . . . . . . 9  |-  ( B  e.  om  ->  B  e.  On )
48 nnon 6480 . . . . . . . . 9  |-  ( y  e.  om  ->  y  e.  On )
49 onsssuc 4804 . . . . . . . . . 10  |-  ( ( B  e.  On  /\  y  e.  On )  ->  ( B  C_  y  <->  B  e.  suc  y ) )
50 suceloni 6422 . . . . . . . . . . 11  |-  ( y  e.  On  ->  suc  y  e.  On )
51 onelpss 4757 . . . . . . . . . . 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 6500 . 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 1369   E.wex 1586    e. wcel 1756    =/= wne 2604    C_ wss 3326   (/)c0 3635   Oncon0 4717   suc csuc 4719   omcom 6474
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2422  ax-sep 4411  ax-nul 4419  ax-pr 4529  ax-un 6370
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2428  df-cleq 2434  df-clel 2437  df-nfc 2566  df-ne 2606  df-ral 2718  df-rex 2719  df-rab 2722  df-v 2972  df-sbc 3185  df-dif 3329  df-un 3331  df-in 3333  df-ss 3340  df-pss 3342  df-nul 3636  df-if 3790  df-pw 3860  df-sn 3876  df-pr 3878  df-tp 3880  df-op 3882  df-uni 4090  df-br 4291  df-opab 4349  df-tr 4384  df-eprel 4630  df-po 4639  df-so 4640  df-fr 4677  df-we 4679  df-ord 4720  df-on 4721  df-lim 4722  df-suc 4723  df-om 6475
This theorem is referenced by:  nnaordi  7055  inf3lem5  7836  ackbij2lem4  8409  sornom  8444  fin23lem15  8501  fin23lem36  8515  isf32lem1  8520  isf32lem2  8521  wunex2  8903  indpi  9074
  Copyright terms: Public domain W3C validator