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

Theorem findcard3 8203
Description: Schema for strong induction on the cardinality of a finite set. The inductive hypothesis is that the result is true on any proper subset. The result is then proven to be true for all finite sets. (Contributed by Mario Carneiro, 13-Dec-2013.)
Hypotheses
Ref Expression
findcard3.1  |-  ( x  =  y  ->  ( ph 
<->  ch ) )
findcard3.2  |-  ( x  =  A  ->  ( ph 
<->  ta ) )
findcard3.3  |-  ( y  e.  Fin  ->  ( A. x ( x  C.  y  ->  ph )  ->  ch ) )
Assertion
Ref Expression
findcard3  |-  ( A  e.  Fin  ->  ta )
Distinct variable groups:    x, y    ph, y    x, A    ta, x    ch, x
Allowed substitution hints:    ph( x)    ch( y)    ta( y)    A( y)

Proof of Theorem findcard3
Dummy variables  w  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 isfi 7979 . . 3  |-  ( A  e.  Fin  <->  E. w  e.  om  A  ~~  w
)
2 nnon 7071 . . . . . 6  |-  ( w  e.  om  ->  w  e.  On )
3 eleq1 2689 . . . . . . . 8  |-  ( w  =  z  ->  (
w  e.  om  <->  z  e.  om ) )
4 breq2 4657 . . . . . . . . . 10  |-  ( w  =  z  ->  (
x  ~~  w  <->  x  ~~  z ) )
54imbi1d 331 . . . . . . . . 9  |-  ( w  =  z  ->  (
( x  ~~  w  ->  ph )  <->  ( x  ~~  z  ->  ph )
) )
65albidv 1849 . . . . . . . 8  |-  ( w  =  z  ->  ( A. x ( x  ~~  w  ->  ph )  <->  A. x
( x  ~~  z  ->  ph ) ) )
73, 6imbi12d 334 . . . . . . 7  |-  ( w  =  z  ->  (
( w  e.  om  ->  A. x ( x 
~~  w  ->  ph )
)  <->  ( z  e. 
om  ->  A. x ( x 
~~  z  ->  ph )
) ) )
8 rspe 3003 . . . . . . . . . . . . . 14  |-  ( ( w  e.  om  /\  y  ~~  w )  ->  E. w  e.  om  y  ~~  w )
9 isfi 7979 . . . . . . . . . . . . . 14  |-  ( y  e.  Fin  <->  E. w  e.  om  y  ~~  w
)
108, 9sylibr 224 . . . . . . . . . . . . 13  |-  ( ( w  e.  om  /\  y  ~~  w )  -> 
y  e.  Fin )
11 19.21v 1868 . . . . . . . . . . . . . . . 16  |-  ( A. x ( z  e. 
om  ->  ( x  ~~  z  ->  ph ) )  <->  ( z  e.  om  ->  A. x
( x  ~~  z  ->  ph ) ) )
1211ralbii 2980 . . . . . . . . . . . . . . 15  |-  ( A. z  e.  w  A. x ( z  e. 
om  ->  ( x  ~~  z  ->  ph ) )  <->  A. z  e.  w  ( z  e.  om  ->  A. x
( x  ~~  z  ->  ph ) ) )
13 ralcom4 3224 . . . . . . . . . . . . . . 15  |-  ( A. z  e.  w  A. x ( z  e. 
om  ->  ( x  ~~  z  ->  ph ) )  <->  A. x A. z  e.  w  ( z  e.  om  ->  ( x  ~~  z  ->  ph ) ) )
1412, 13bitr3i 266 . . . . . . . . . . . . . 14  |-  ( A. z  e.  w  (
z  e.  om  ->  A. x ( x  ~~  z  ->  ph ) )  <->  A. x A. z  e.  w  ( z  e.  om  ->  ( x  ~~  z  ->  ph ) ) )
15 pssss 3702 . . . . . . . . . . . . . . . . . . . . 21  |-  ( x 
C.  y  ->  x  C_  y )
16 ssfi 8180 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( y  e.  Fin  /\  x  C_  y )  ->  x  e.  Fin )
17 isfi 7979 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( x  e.  Fin  <->  E. z  e.  om  x  ~~  z
)
1816, 17sylib 208 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( y  e.  Fin  /\  x  C_  y )  ->  E. z  e.  om  x  ~~  z )
1910, 15, 18syl2an 494 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  E. z  e.  om  x  ~~  z
)
20 ensym 8005 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( x 
~~  z  ->  z  ~~  x )
2120ad2antll 765 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ( w  e. 
om  /\  y  ~~  w )  /\  x  C.  y )  /\  (
z  e.  om  /\  x  ~~  z ) )  ->  z  ~~  x
)
22 php3 8146 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( y  e.  Fin  /\  x  C.  y )  ->  x  ~<  y )
2310, 22sylan 488 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  x  ~<  y )
2423adantr 481 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ( w  e. 
om  /\  y  ~~  w )  /\  x  C.  y )  /\  (
z  e.  om  /\  x  ~~  z ) )  ->  x  ~<  y
)
25 simpllr 799 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ( w  e. 
om  /\  y  ~~  w )  /\  x  C.  y )  /\  (
z  e.  om  /\  x  ~~  z ) )  ->  y  ~~  w
)
26 sdomentr 8094 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( x  ~<  y  /\  y  ~~  w )  ->  x  ~<  w )
2724, 25, 26syl2anc 693 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ( w  e. 
om  /\  y  ~~  w )  /\  x  C.  y )  /\  (
z  e.  om  /\  x  ~~  z ) )  ->  x  ~<  w
)
28 ensdomtr 8096 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( z  ~~  x  /\  x  ~<  w )  -> 
z  ~<  w )
2921, 27, 28syl2anc 693 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ( w  e. 
om  /\  y  ~~  w )  /\  x  C.  y )  /\  (
z  e.  om  /\  x  ~~  z ) )  ->  z  ~<  w
)
30 nnon 7071 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( z  e.  om  ->  z  e.  On )
3130ad2antrl 764 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ( w  e. 
om  /\  y  ~~  w )  /\  x  C.  y )  /\  (
z  e.  om  /\  x  ~~  z ) )  ->  z  e.  On )
322ad3antrrr 766 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ( w  e. 
om  /\  y  ~~  w )  /\  x  C.  y )  /\  (
z  e.  om  /\  x  ~~  z ) )  ->  w  e.  On )
33 sdomel 8107 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( z  e.  On  /\  w  e.  On )  ->  ( z  ~<  w  ->  z  e.  w ) )
3431, 32, 33syl2anc 693 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ( w  e. 
om  /\  y  ~~  w )  /\  x  C.  y )  /\  (
z  e.  om  /\  x  ~~  z ) )  ->  ( z  ~<  w  ->  z  e.  w
) )
3529, 34mpd 15 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ( w  e. 
om  /\  y  ~~  w )  /\  x  C.  y )  /\  (
z  e.  om  /\  x  ~~  z ) )  ->  z  e.  w
)
3635ex 450 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  ( (
z  e.  om  /\  x  ~~  z )  -> 
z  e.  w ) )
37 simpr 477 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( z  e.  om  /\  x  ~~  z )  ->  x  ~~  z )
3837a1i 11 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  ( (
z  e.  om  /\  x  ~~  z )  ->  x  ~~  z ) )
3936, 38jcad 555 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  ( (
z  e.  om  /\  x  ~~  z )  -> 
( z  e.  w  /\  x  ~~  z ) ) )
4039reximdv2 3014 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  ( E. z  e.  om  x  ~~  z  ->  E. z  e.  w  x  ~~  z ) )
4119, 40mpd 15 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  E. z  e.  w  x  ~~  z )
42 r19.29 3072 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( A. z  e.  w  ( z  e.  om  ->  ( x  ~~  z  ->  ph ) )  /\  E. z  e.  w  x 
~~  z )  ->  E. z  e.  w  ( ( z  e. 
om  ->  ( x  ~~  z  ->  ph ) )  /\  x  ~~  z ) )
4342expcom 451 . . . . . . . . . . . . . . . . . . 19  |-  ( E. z  e.  w  x 
~~  z  ->  ( A. z  e.  w  ( z  e.  om  ->  ( x  ~~  z  ->  ph ) )  ->  E. z  e.  w  ( ( z  e. 
om  ->  ( x  ~~  z  ->  ph ) )  /\  x  ~~  z ) ) )
4441, 43syl 17 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  ( A. z  e.  w  (
z  e.  om  ->  ( x  ~~  z  ->  ph ) )  ->  E. z  e.  w  ( (
z  e.  om  ->  ( x  ~~  z  ->  ph ) )  /\  x  ~~  z ) ) )
45 ordom 7074 . . . . . . . . . . . . . . . . . . . . . . 23  |-  Ord  om
46 ordelss 5739 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( Ord  om  /\  w  e.  om )  ->  w  C_ 
om )
4745, 46mpan 706 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( w  e.  om  ->  w  C_ 
om )
4847ad2antrr 762 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  w  C_  om )
4948sseld 3602 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  ( z  e.  w  ->  z  e. 
om ) )
50 pm2.27 42 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  om  ->  (
( z  e.  om  ->  ( x  ~~  z  ->  ph ) )  -> 
( x  ~~  z  ->  ph ) ) )
5150impd 447 . . . . . . . . . . . . . . . . . . . 20  |-  ( z  e.  om  ->  (
( ( z  e. 
om  ->  ( x  ~~  z  ->  ph ) )  /\  x  ~~  z )  ->  ph ) )
5249, 51syl6 35 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  ( z  e.  w  ->  ( ( ( z  e.  om  ->  ( x  ~~  z  ->  ph ) )  /\  x  ~~  z )  ->  ph ) ) )
5352rexlimdv 3030 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  ( E. z  e.  w  (
( z  e.  om  ->  ( x  ~~  z  ->  ph ) )  /\  x  ~~  z )  ->  ph ) )
5444, 53syld 47 . . . . . . . . . . . . . . . . 17  |-  ( ( ( w  e.  om  /\  y  ~~  w )  /\  x  C.  y
)  ->  ( A. z  e.  w  (
z  e.  om  ->  ( x  ~~  z  ->  ph ) )  ->  ph )
)
5554ex 450 . . . . . . . . . . . . . . . 16  |-  ( ( w  e.  om  /\  y  ~~  w )  -> 
( x  C.  y  ->  ( A. z  e.  w  ( z  e. 
om  ->  ( x  ~~  z  ->  ph ) )  ->  ph ) ) )
5655com23 86 . . . . . . . . . . . . . . 15  |-  ( ( w  e.  om  /\  y  ~~  w )  -> 
( A. z  e.  w  ( z  e. 
om  ->  ( x  ~~  z  ->  ph ) )  -> 
( x  C.  y  ->  ph ) ) )
5756alimdv 1845 . . . . . . . . . . . . . 14  |-  ( ( w  e.  om  /\  y  ~~  w )  -> 
( A. x A. z  e.  w  (
z  e.  om  ->  ( x  ~~  z  ->  ph ) )  ->  A. x
( x  C.  y  ->  ph ) ) )
5814, 57syl5bi 232 . . . . . . . . . . . . 13  |-  ( ( w  e.  om  /\  y  ~~  w )  -> 
( A. z  e.  w  ( z  e. 
om  ->  A. x ( x 
~~  z  ->  ph )
)  ->  A. x
( x  C.  y  ->  ph ) ) )
59 findcard3.3 . . . . . . . . . . . . 13  |-  ( y  e.  Fin  ->  ( A. x ( x  C.  y  ->  ph )  ->  ch ) )
6010, 58, 59sylsyld 61 . . . . . . . . . . . 12  |-  ( ( w  e.  om  /\  y  ~~  w )  -> 
( A. z  e.  w  ( z  e. 
om  ->  A. x ( x 
~~  z  ->  ph )
)  ->  ch )
)
6160impancom 456 . . . . . . . . . . 11  |-  ( ( w  e.  om  /\  A. z  e.  w  ( z  e.  om  ->  A. x ( x  ~~  z  ->  ph ) ) )  ->  ( y  ~~  w  ->  ch ) )
6261alrimiv 1855 . . . . . . . . . 10  |-  ( ( w  e.  om  /\  A. z  e.  w  ( z  e.  om  ->  A. x ( x  ~~  z  ->  ph ) ) )  ->  A. y ( y 
~~  w  ->  ch ) )
6362expcom 451 . . . . . . . . 9  |-  ( A. z  e.  w  (
z  e.  om  ->  A. x ( x  ~~  z  ->  ph ) )  -> 
( w  e.  om  ->  A. y ( y 
~~  w  ->  ch ) ) )
64 breq1 4656 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
x  ~~  w  <->  y  ~~  w ) )
65 findcard3.1 . . . . . . . . . . 11  |-  ( x  =  y  ->  ( ph 
<->  ch ) )
6664, 65imbi12d 334 . . . . . . . . . 10  |-  ( x  =  y  ->  (
( x  ~~  w  ->  ph )  <->  ( y  ~~  w  ->  ch )
) )
6766cbvalv 2273 . . . . . . . . 9  |-  ( A. x ( x  ~~  w  ->  ph )  <->  A. y
( y  ~~  w  ->  ch ) )
6863, 67syl6ibr 242 . . . . . . . 8  |-  ( A. z  e.  w  (
z  e.  om  ->  A. x ( x  ~~  z  ->  ph ) )  -> 
( w  e.  om  ->  A. x ( x 
~~  w  ->  ph )
) )
6968a1i 11 . . . . . . 7  |-  ( w  e.  On  ->  ( A. z  e.  w  ( z  e.  om  ->  A. x ( x 
~~  z  ->  ph )
)  ->  ( w  e.  om  ->  A. x
( x  ~~  w  ->  ph ) ) ) )
707, 69tfis2 7056 . . . . . 6  |-  ( w  e.  On  ->  (
w  e.  om  ->  A. x ( x  ~~  w  ->  ph ) ) )
712, 70mpcom 38 . . . . 5  |-  ( w  e.  om  ->  A. x
( x  ~~  w  ->  ph ) )
7271rgen 2922 . . . 4  |-  A. w  e.  om  A. x ( x  ~~  w  ->  ph )
73 r19.29 3072 . . . 4  |-  ( ( A. w  e.  om  A. x ( x  ~~  w  ->  ph )  /\  E. w  e.  om  A  ~~  w )  ->  E. w  e.  om  ( A. x
( x  ~~  w  ->  ph )  /\  A  ~~  w ) )
7472, 73mpan 706 . . 3  |-  ( E. w  e.  om  A  ~~  w  ->  E. w  e.  om  ( A. x
( x  ~~  w  ->  ph )  /\  A  ~~  w ) )
751, 74sylbi 207 . 2  |-  ( A  e.  Fin  ->  E. w  e.  om  ( A. x
( x  ~~  w  ->  ph )  /\  A  ~~  w ) )
76 breq1 4656 . . . . . 6  |-  ( x  =  A  ->  (
x  ~~  w  <->  A  ~~  w ) )
77 findcard3.2 . . . . . 6  |-  ( x  =  A  ->  ( ph 
<->  ta ) )
7876, 77imbi12d 334 . . . . 5  |-  ( x  =  A  ->  (
( x  ~~  w  ->  ph )  <->  ( A  ~~  w  ->  ta )
) )
7978spcgv 3293 . . . 4  |-  ( A  e.  Fin  ->  ( A. x ( x  ~~  w  ->  ph )  ->  ( A  ~~  w  ->  ta ) ) )
8079impd 447 . . 3  |-  ( A  e.  Fin  ->  (
( A. x ( x  ~~  w  ->  ph )  /\  A  ~~  w )  ->  ta ) )
8180rexlimdvw 3034 . 2  |-  ( A  e.  Fin  ->  ( E. w  e.  om  ( A. x ( x 
~~  w  ->  ph )  /\  A  ~~  w )  ->  ta ) )
8275, 81mpd 15 1  |-  ( A  e.  Fin  ->  ta )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 196    /\ wa 384   A.wal 1481    = wceq 1483    e. wcel 1990   A.wral 2912   E.wrex 2913    C_ wss 3574    C. wpss 3575   class class class wbr 4653   Ord word 5722   Oncon0 5723   omcom 7065    ~~ cen 7952    ~< csdm 7954   Fincfn 7955
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-ral 2917  df-rex 2918  df-rab 2921  df-v 3202  df-sbc 3436  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-br 4654  df-opab 4713  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-om 7066  df-er 7742  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959
This theorem is referenced by:  marypha1lem  8339  pgpfac1  18479  pgpfac  18483  fbfinnfr  21645  wilthlem3  24796
  Copyright terms: Public domain W3C validator