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

Theorem findcard2 8200
Description: Schema for induction on the cardinality of a finite set. The inductive step shows that the result is true if one more element is added to the set. The result is then proven to be true for all finite sets. (Contributed by Jeff Madsen, 8-Jul-2010.)
Hypotheses
Ref Expression
findcard2.1  |-  ( x  =  (/)  ->  ( ph  <->  ps ) )
findcard2.2  |-  ( x  =  y  ->  ( ph 
<->  ch ) )
findcard2.3  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ph  <->  th )
)
findcard2.4  |-  ( x  =  A  ->  ( ph 
<->  ta ) )
findcard2.5  |-  ps
findcard2.6  |-  ( y  e.  Fin  ->  ( ch  ->  th ) )
Assertion
Ref Expression
findcard2  |-  ( A  e.  Fin  ->  ta )
Distinct variable groups:    x, y,
z, A    ps, x    ch, x    th, x    ta, x    ph, y, z
Allowed substitution hints:    ph( x)    ps( y, z)    ch( y, z)    th( y, z)    ta( y,
z)

Proof of Theorem findcard2
Dummy variables  w  v are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 findcard2.4 . 2  |-  ( x  =  A  ->  ( ph 
<->  ta ) )
2 isfi 7979 . . 3  |-  ( x  e.  Fin  <->  E. w  e.  om  x  ~~  w
)
3 breq2 4657 . . . . . . . 8  |-  ( w  =  (/)  ->  ( x 
~~  w  <->  x  ~~  (/) ) )
43imbi1d 331 . . . . . . 7  |-  ( w  =  (/)  ->  ( ( x  ~~  w  ->  ph )  <->  ( x  ~~  (/) 
->  ph ) ) )
54albidv 1849 . . . . . 6  |-  ( w  =  (/)  ->  ( A. x ( x  ~~  w  ->  ph )  <->  A. x
( x  ~~  (/)  ->  ph )
) )
6 breq2 4657 . . . . . . . 8  |-  ( w  =  v  ->  (
x  ~~  w  <->  x  ~~  v ) )
76imbi1d 331 . . . . . . 7  |-  ( w  =  v  ->  (
( x  ~~  w  ->  ph )  <->  ( x  ~~  v  ->  ph )
) )
87albidv 1849 . . . . . 6  |-  ( w  =  v  ->  ( A. x ( x  ~~  w  ->  ph )  <->  A. x
( x  ~~  v  ->  ph ) ) )
9 breq2 4657 . . . . . . . 8  |-  ( w  =  suc  v  -> 
( x  ~~  w  <->  x 
~~  suc  v )
)
109imbi1d 331 . . . . . . 7  |-  ( w  =  suc  v  -> 
( ( x  ~~  w  ->  ph )  <->  ( x  ~~  suc  v  ->  ph )
) )
1110albidv 1849 . . . . . 6  |-  ( w  =  suc  v  -> 
( A. x ( x  ~~  w  ->  ph )  <->  A. x ( x 
~~  suc  v  ->  ph ) ) )
12 en0 8019 . . . . . . . 8  |-  ( x 
~~  (/)  <->  x  =  (/) )
13 findcard2.5 . . . . . . . . 9  |-  ps
14 findcard2.1 . . . . . . . . 9  |-  ( x  =  (/)  ->  ( ph  <->  ps ) )
1513, 14mpbiri 248 . . . . . . . 8  |-  ( x  =  (/)  ->  ph )
1612, 15sylbi 207 . . . . . . 7  |-  ( x 
~~  (/)  ->  ph )
1716ax-gen 1722 . . . . . 6  |-  A. x
( x  ~~  (/)  ->  ph )
18 nsuceq0 5805 . . . . . . . . . . . 12  |-  suc  v  =/=  (/)
19 breq1 4656 . . . . . . . . . . . . . . . 16  |-  ( w  =  (/)  ->  ( w 
~~  suc  v  <->  (/)  ~~  suc  v ) )
2019anbi2d 740 . . . . . . . . . . . . . . 15  |-  ( w  =  (/)  ->  ( ( v  e.  om  /\  w  ~~  suc  v )  <-> 
( v  e.  om  /\  (/)  ~~  suc  v ) ) )
21 peano1 7085 . . . . . . . . . . . . . . . . . 18  |-  (/)  e.  om
22 peano2 7086 . . . . . . . . . . . . . . . . . 18  |-  ( v  e.  om  ->  suc  v  e.  om )
23 nneneq 8143 . . . . . . . . . . . . . . . . . 18  |-  ( (
(/)  e.  om  /\  suc  v  e.  om )  ->  ( (/)  ~~  suc  v  <->  (/)  =  suc  v ) )
2421, 22, 23sylancr 695 . . . . . . . . . . . . . . . . 17  |-  ( v  e.  om  ->  ( (/)  ~~  suc  v  <->  (/)  =  suc  v ) )
2524biimpa 501 . . . . . . . . . . . . . . . 16  |-  ( ( v  e.  om  /\  (/)  ~~  suc  v )  ->  (/)  =  suc  v )
2625eqcomd 2628 . . . . . . . . . . . . . . 15  |-  ( ( v  e.  om  /\  (/)  ~~  suc  v )  ->  suc  v  =  (/) )
2720, 26syl6bi 243 . . . . . . . . . . . . . 14  |-  ( w  =  (/)  ->  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  suc  v  =  (/) ) )
2827com12 32 . . . . . . . . . . . . 13  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( w  =  (/)  ->  suc  v  =  (/) ) )
2928necon3d 2815 . . . . . . . . . . . 12  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( suc  v  =/=  (/)  ->  w  =/=  (/) ) )
3018, 29mpi 20 . . . . . . . . . . 11  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  w  =/=  (/) )
3130ex 450 . . . . . . . . . 10  |-  ( v  e.  om  ->  (
w  ~~  suc  v  ->  w  =/=  (/) ) )
32 n0 3931 . . . . . . . . . . . 12  |-  ( w  =/=  (/)  <->  E. z  z  e.  w )
33 dif1en 8193 . . . . . . . . . . . . . . 15  |-  ( ( v  e.  om  /\  w  ~~  suc  v  /\  z  e.  w )  ->  ( w  \  {
z } )  ~~  v )
34333expia 1267 . . . . . . . . . . . . . 14  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( z  e.  w  ->  ( w  \  { z } ) 
~~  v ) )
35 snssi 4339 . . . . . . . . . . . . . . . . . 18  |-  ( z  e.  w  ->  { z }  C_  w )
36 uncom 3757 . . . . . . . . . . . . . . . . . . 19  |-  ( ( w  \  { z } )  u.  {
z } )  =  ( { z }  u.  ( w  \  { z } ) )
37 undif 4049 . . . . . . . . . . . . . . . . . . . 20  |-  ( { z }  C_  w  <->  ( { z }  u.  ( w  \  { z } ) )  =  w )
3837biimpi 206 . . . . . . . . . . . . . . . . . . 19  |-  ( { z }  C_  w  ->  ( { z }  u.  ( w  \  { z } ) )  =  w )
3936, 38syl5eq 2668 . . . . . . . . . . . . . . . . . 18  |-  ( { z }  C_  w  ->  ( ( w  \  { z } )  u.  { z } )  =  w )
40 vex 3203 . . . . . . . . . . . . . . . . . . . . 21  |-  w  e. 
_V
41 difexg 4808 . . . . . . . . . . . . . . . . . . . . 21  |-  ( w  e.  _V  ->  (
w  \  { z } )  e.  _V )
4240, 41ax-mp 5 . . . . . . . . . . . . . . . . . . . 20  |-  ( w 
\  { z } )  e.  _V
43 breq1 4656 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  ( w  \  { z } )  ->  ( y  ~~  v 
<->  ( w  \  {
z } )  ~~  v ) )
4443anbi2d 740 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  ( w  \  { z } )  ->  ( ( v  e.  om  /\  y  ~~  v )  <->  ( v  e.  om  /\  ( w 
\  { z } )  ~~  v ) ) )
45 uneq1 3760 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  =  ( w  \  { z } )  ->  ( y  u. 
{ z } )  =  ( ( w 
\  { z } )  u.  { z } ) )
4645sbceq1d 3440 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  ( w  \  { z } )  ->  ( [. (
y  u.  { z } )  /  x ]. ph  <->  [. ( ( w 
\  { z } )  u.  { z } )  /  x ]. ph ) )
4746imbi2d 330 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  ( w  \  { z } )  ->  ( ( A. x ( x  ~~  v  ->  ph )  ->  [. (
y  u.  { z } )  /  x ]. ph )  <->  ( A. x ( x  ~~  v  ->  ph )  ->  [. (
( w  \  {
z } )  u. 
{ z } )  /  x ]. ph )
) )
4844, 47imbi12d 334 . . . . . . . . . . . . . . . . . . . 20  |-  ( y  =  ( w  \  { z } )  ->  ( ( ( v  e.  om  /\  y  ~~  v )  -> 
( A. x ( x  ~~  v  ->  ph )  ->  [. (
y  u.  { z } )  /  x ]. ph ) )  <->  ( (
v  e.  om  /\  ( w  \  { z } )  ~~  v
)  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. (
( w  \  {
z } )  u. 
{ z } )  /  x ]. ph )
) ) )
49 breq1 4656 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( x  =  y  ->  (
x  ~~  v  <->  y  ~~  v ) )
50 findcard2.2 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( x  =  y  ->  ( ph 
<->  ch ) )
5149, 50imbi12d 334 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( x  =  y  ->  (
( x  ~~  v  ->  ph )  <->  ( y  ~~  v  ->  ch )
) )
5251spv 2260 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( A. x ( x  ~~  v  ->  ph )  ->  (
y  ~~  v  ->  ch ) )
53 rspe 3003 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( v  e.  om  /\  y  ~~  v )  ->  E. v  e.  om  y  ~~  v )
54 isfi 7979 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( y  e.  Fin  <->  E. v  e.  om  y  ~~  v
)
5553, 54sylibr 224 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
y  e.  Fin )
56 pm2.27 42 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( y 
~~  v  ->  (
( y  ~~  v  ->  ch )  ->  ch ) )
5756adantl 482 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
( ( y  ~~  v  ->  ch )  ->  ch ) )
58 findcard2.6 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  e.  Fin  ->  ( ch  ->  th ) )
5955, 57, 58sylsyld 61 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
( ( y  ~~  v  ->  ch )  ->  th ) )
6052, 59syl5 34 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
( A. x ( x  ~~  v  ->  ph )  ->  th )
)
61 vex 3203 . . . . . . . . . . . . . . . . . . . . . . 23  |-  y  e. 
_V
62 snex 4908 . . . . . . . . . . . . . . . . . . . . . . 23  |-  { z }  e.  _V
6361, 62unex 6956 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  u.  { z } )  e.  _V
64 findcard2.3 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ph  <->  th )
)
6563, 64sbcie 3470 . . . . . . . . . . . . . . . . . . . . 21  |-  ( [. ( y  u.  {
z } )  /  x ]. ph  <->  th )
6660, 65syl6ibr 242 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
( A. x ( x  ~~  v  ->  ph )  ->  [. (
y  u.  { z } )  /  x ]. ph ) )
6742, 48, 66vtocl 3259 . . . . . . . . . . . . . . . . . . 19  |-  ( ( v  e.  om  /\  ( w  \  { z } )  ~~  v
)  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. (
( w  \  {
z } )  u. 
{ z } )  /  x ]. ph )
)
68 dfsbcq 3437 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( w  \  {
z } )  u. 
{ z } )  =  w  ->  ( [. ( ( w  \  { z } )  u.  { z } )  /  x ]. ph  <->  [. w  /  x ]. ph ) )
6968imbi2d 330 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( w  \  {
z } )  u. 
{ z } )  =  w  ->  (
( A. x ( x  ~~  v  ->  ph )  ->  [. (
( w  \  {
z } )  u. 
{ z } )  /  x ]. ph )  <->  ( A. x ( x 
~~  v  ->  ph )  ->  [. w  /  x ]. ph ) ) )
7067, 69syl5ib 234 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( w  \  {
z } )  u. 
{ z } )  =  w  ->  (
( v  e.  om  /\  ( w  \  {
z } )  ~~  v )  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7135, 39, 703syl 18 . . . . . . . . . . . . . . . . 17  |-  ( z  e.  w  ->  (
( v  e.  om  /\  ( w  \  {
z } )  ~~  v )  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7271expd 452 . . . . . . . . . . . . . . . 16  |-  ( z  e.  w  ->  (
v  e.  om  ->  ( ( w  \  {
z } )  ~~  v  ->  ( A. x
( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) ) )
7372com12 32 . . . . . . . . . . . . . . 15  |-  ( v  e.  om  ->  (
z  e.  w  -> 
( ( w  \  { z } ) 
~~  v  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) ) )
7473adantr 481 . . . . . . . . . . . . . 14  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( z  e.  w  ->  ( (
w  \  { z } )  ~~  v  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) ) )
7534, 74mpdd 43 . . . . . . . . . . . . 13  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( z  e.  w  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7675exlimdv 1861 . . . . . . . . . . . 12  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( E. z 
z  e.  w  -> 
( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7732, 76syl5bi 232 . . . . . . . . . . 11  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( w  =/=  (/)  ->  ( A. x
( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7877ex 450 . . . . . . . . . 10  |-  ( v  e.  om  ->  (
w  ~~  suc  v  -> 
( w  =/=  (/)  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) ) )
7931, 78mpdd 43 . . . . . . . . 9  |-  ( v  e.  om  ->  (
w  ~~  suc  v  -> 
( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
8079com23 86 . . . . . . . 8  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  (
w  ~~  suc  v  ->  [. w  /  x ]. ph ) ) )
8180alrimdv 1857 . . . . . . 7  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  A. w
( w  ~~  suc  v  ->  [. w  /  x ]. ph ) ) )
82 nfv 1843 . . . . . . . 8  |-  F/ w
( x  ~~  suc  v  ->  ph )
83 nfv 1843 . . . . . . . . 9  |-  F/ x  w  ~~  suc  v
84 nfsbc1v 3455 . . . . . . . . 9  |-  F/ x [. w  /  x ]. ph
8583, 84nfim 1825 . . . . . . . 8  |-  F/ x
( w  ~~  suc  v  ->  [. w  /  x ]. ph )
86 breq1 4656 . . . . . . . . 9  |-  ( x  =  w  ->  (
x  ~~  suc  v  <->  w  ~~  suc  v ) )
87 sbceq1a 3446 . . . . . . . . 9  |-  ( x  =  w  ->  ( ph 
<-> 
[. w  /  x ]. ph ) )
8886, 87imbi12d 334 . . . . . . . 8  |-  ( x  =  w  ->  (
( x  ~~  suc  v  ->  ph )  <->  ( w  ~~  suc  v  ->  [. w  /  x ]. ph )
) )
8982, 85, 88cbval 2271 . . . . . . 7  |-  ( A. x ( x  ~~  suc  v  ->  ph )  <->  A. w ( w  ~~  suc  v  ->  [. w  /  x ]. ph )
)
9081, 89syl6ibr 242 . . . . . 6  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  A. x
( x  ~~  suc  v  ->  ph ) ) )
915, 8, 11, 17, 90finds1 7095 . . . . 5  |-  ( w  e.  om  ->  A. x
( x  ~~  w  ->  ph ) )
929119.21bi 2059 . . . 4  |-  ( w  e.  om  ->  (
x  ~~  w  ->  ph ) )
9392rexlimiv 3027 . . 3  |-  ( E. w  e.  om  x  ~~  w  ->  ph )
942, 93sylbi 207 . 2  |-  ( x  e.  Fin  ->  ph )
951, 94vtoclga 3272 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.wex 1704    e. wcel 1990    =/= wne 2794   E.wrex 2913   _Vcvv 3200   [.wsbc 3435    \ cdif 3571    u. cun 3572    C_ wss 3574   (/)c0 3915   {csn 4177   class class class wbr 4653   suc csuc 5725   omcom 7065    ~~ cen 7952   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-1o 7560  df-er 7742  df-en 7956  df-fin 7959
This theorem is referenced by:  findcard2s  8201  frfi  8205  fnfi  8238  iunfi  8254  finsschain  8273  infdiffi  8555  fin1a2lem10  9231  wunfi  9543  rexfiuz  14087  modfsummod  14526  lcmfunsnlem  15354  lcmfun  15358  drsdirfi  16938  fiuncmp  21207  finiunmbl  23312  mbfresfi  33456  heibor1lem  33608  pclfinclN  35236
  Copyright terms: Public domain W3C validator