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

Theorem findcard2 7143
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 6928 . . 3  |-  ( x  e.  Fin  <->  E. w  e.  om  x  ~~  w
)
3 breq2 4064 . . . . . . . 8  |-  ( w  =  (/)  ->  ( x 
~~  w  <->  x  ~~  (/) ) )
43imbi1d 308 . . . . . . 7  |-  ( w  =  (/)  ->  ( ( x  ~~  w  ->  ph )  <->  ( x  ~~  (/) 
->  ph ) ) )
54albidv 1616 . . . . . 6  |-  ( w  =  (/)  ->  ( A. x ( x  ~~  w  ->  ph )  <->  A. x
( x  ~~  (/)  ->  ph )
) )
6 breq2 4064 . . . . . . . 8  |-  ( w  =  v  ->  (
x  ~~  w  <->  x  ~~  v ) )
76imbi1d 308 . . . . . . 7  |-  ( w  =  v  ->  (
( x  ~~  w  ->  ph )  <->  ( x  ~~  v  ->  ph )
) )
87albidv 1616 . . . . . 6  |-  ( w  =  v  ->  ( A. x ( x  ~~  w  ->  ph )  <->  A. x
( x  ~~  v  ->  ph ) ) )
9 breq2 4064 . . . . . . . 8  |-  ( w  =  suc  v  -> 
( x  ~~  w  <->  x 
~~  suc  v )
)
109imbi1d 308 . . . . . . 7  |-  ( w  =  suc  v  -> 
( ( x  ~~  w  ->  ph )  <->  ( x  ~~  suc  v  ->  ph )
) )
1110albidv 1616 . . . . . 6  |-  ( w  =  suc  v  -> 
( A. x ( x  ~~  w  ->  ph )  <->  A. x ( x 
~~  suc  v  ->  ph ) ) )
12 en0 6967 . . . . . . . 8  |-  ( x 
~~  (/)  <->  x  =  (/) )
13 findcard2.5 . . . . . . . . 9  |-  ps
14 findcard2.1 . . . . . . . . 9  |-  ( x  =  (/)  ->  ( ph  <->  ps ) )
1513, 14mpbiri 224 . . . . . . . 8  |-  ( x  =  (/)  ->  ph )
1612, 15sylbi 187 . . . . . . 7  |-  ( x 
~~  (/)  ->  ph )
1716ax-gen 1537 . . . . . 6  |-  A. x
( x  ~~  (/)  ->  ph )
18 nsuceq0 4509 . . . . . . . . . . . 12  |-  suc  v  =/=  (/)
19 breq1 4063 . . . . . . . . . . . . . . . 16  |-  ( w  =  (/)  ->  ( w 
~~  suc  v  <->  (/)  ~~  suc  v ) )
2019anbi2d 684 . . . . . . . . . . . . . . 15  |-  ( w  =  (/)  ->  ( ( v  e.  om  /\  w  ~~  suc  v )  <-> 
( v  e.  om  /\  (/)  ~~  suc  v ) ) )
21 peano1 4712 . . . . . . . . . . . . . . . . . 18  |-  (/)  e.  om
22 peano2 4713 . . . . . . . . . . . . . . . . . 18  |-  ( v  e.  om  ->  suc  v  e.  om )
23 nneneq 7087 . . . . . . . . . . . . . . . . . 18  |-  ( (
(/)  e.  om  /\  suc  v  e.  om )  ->  ( (/)  ~~  suc  v  <->  (/)  =  suc  v ) )
2421, 22, 23sylancr 644 . . . . . . . . . . . . . . . . 17  |-  ( v  e.  om  ->  ( (/)  ~~  suc  v  <->  (/)  =  suc  v ) )
2524biimpa 470 . . . . . . . . . . . . . . . 16  |-  ( ( v  e.  om  /\  (/)  ~~  suc  v )  ->  (/)  =  suc  v )
2625eqcomd 2321 . . . . . . . . . . . . . . 15  |-  ( ( v  e.  om  /\  (/)  ~~  suc  v )  ->  suc  v  =  (/) )
2720, 26syl6bi 219 . . . . . . . . . . . . . 14  |-  ( w  =  (/)  ->  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  suc  v  =  (/) ) )
2827com12 27 . . . . . . . . . . . . 13  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( w  =  (/)  ->  suc  v  =  (/) ) )
2928necon3d 2517 . . . . . . . . . . . 12  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( suc  v  =/=  (/)  ->  w  =/=  (/) ) )
3018, 29mpi 16 . . . . . . . . . . 11  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  w  =/=  (/) )
3130ex 423 . . . . . . . . . 10  |-  ( v  e.  om  ->  (
w  ~~  suc  v  ->  w  =/=  (/) ) )
32 n0 3498 . . . . . . . . . . . 12  |-  ( w  =/=  (/)  <->  E. z  z  e.  w )
33 dif1en 7136 . . . . . . . . . . . . . . 15  |-  ( ( v  e.  om  /\  w  ~~  suc  v  /\  z  e.  w )  ->  ( w  \  {
z } )  ~~  v )
34333expia 1153 . . . . . . . . . . . . . 14  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( z  e.  w  ->  ( w  \  { z } ) 
~~  v ) )
35 snssi 3796 . . . . . . . . . . . . . . . . . 18  |-  ( z  e.  w  ->  { z }  C_  w )
36 uncom 3353 . . . . . . . . . . . . . . . . . . 19  |-  ( ( w  \  { z } )  u.  {
z } )  =  ( { z }  u.  ( w  \  { z } ) )
37 undif 3568 . . . . . . . . . . . . . . . . . . . 20  |-  ( { z }  C_  w  <->  ( { z }  u.  ( w  \  { z } ) )  =  w )
3837biimpi 186 . . . . . . . . . . . . . . . . . . 19  |-  ( { z }  C_  w  ->  ( { z }  u.  ( w  \  { z } ) )  =  w )
3936, 38syl5eq 2360 . . . . . . . . . . . . . . . . . 18  |-  ( { z }  C_  w  ->  ( ( w  \  { z } )  u.  { z } )  =  w )
40 vex 2825 . . . . . . . . . . . . . . . . . . . . 21  |-  w  e. 
_V
41 difexg 4199 . . . . . . . . . . . . . . . . . . . . 21  |-  ( w  e.  _V  ->  (
w  \  { z } )  e.  _V )
4240, 41ax-mp 8 . . . . . . . . . . . . . . . . . . . 20  |-  ( w 
\  { z } )  e.  _V
43 breq1 4063 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  ( w  \  { z } )  ->  ( y  ~~  v 
<->  ( w  \  {
z } )  ~~  v ) )
4443anbi2d 684 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  ( w  \  { z } )  ->  ( ( v  e.  om  /\  y  ~~  v )  <->  ( v  e.  om  /\  ( w 
\  { z } )  ~~  v ) ) )
45 uneq1 3356 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  =  ( w  \  { z } )  ->  ( y  u. 
{ z } )  =  ( ( w 
\  { z } )  u.  { z } ) )
46 dfsbcq 3027 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( y  u.  { z } )  =  ( ( w  \  {
z } )  u. 
{ z } )  ->  ( [. (
y  u.  { z } )  /  x ]. ph  <->  [. ( ( w 
\  { z } )  u.  { z } )  /  x ]. ph ) )
4745, 46syl 15 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  ( w  \  { z } )  ->  ( [. (
y  u.  { z } )  /  x ]. ph  <->  [. ( ( w 
\  { z } )  u.  { z } )  /  x ]. ph ) )
4847imbi2d 307 . . . . . . . . . . . . . . . . . . . . 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 )
) )
4944, 48imbi12d 311 . . . . . . . . . . . . . . . . . . . 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 )
) ) )
50 breq1 4063 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( x  =  y  ->  (
x  ~~  v  <->  y  ~~  v ) )
51 findcard2.2 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( x  =  y  ->  ( ph 
<->  ch ) )
5250, 51imbi12d 311 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( x  =  y  ->  (
( x  ~~  v  ->  ph )  <->  ( y  ~~  v  ->  ch )
) )
5352spv 1970 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( A. x ( x  ~~  v  ->  ph )  ->  (
y  ~~  v  ->  ch ) )
54 rspe 2638 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( v  e.  om  /\  y  ~~  v )  ->  E. v  e.  om  y  ~~  v )
55 isfi 6928 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( y  e.  Fin  <->  E. v  e.  om  y  ~~  v
)
5654, 55sylibr 203 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
y  e.  Fin )
57 pm2.27 35 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( y 
~~  v  ->  (
( y  ~~  v  ->  ch )  ->  ch ) )
5857adantl 452 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
( ( y  ~~  v  ->  ch )  ->  ch ) )
59 findcard2.6 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  e.  Fin  ->  ( ch  ->  th ) )
6056, 58, 59sylsyld 52 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
( ( y  ~~  v  ->  ch )  ->  th ) )
6153, 60syl5 28 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
( A. x ( x  ~~  v  ->  ph )  ->  th )
)
62 vex 2825 . . . . . . . . . . . . . . . . . . . . . . 23  |-  y  e. 
_V
63 snex 4253 . . . . . . . . . . . . . . . . . . . . . . 23  |-  { z }  e.  _V
6462, 63unex 4555 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  u.  { z } )  e.  _V
65 findcard2.3 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ph  <->  th )
)
6664, 65sbcie 3059 . . . . . . . . . . . . . . . . . . . . 21  |-  ( [. ( y  u.  {
z } )  /  x ]. ph  <->  th )
6761, 66syl6ibr 218 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( v  e.  om  /\  y  ~~  v )  -> 
( A. x ( x  ~~  v  ->  ph )  ->  [. (
y  u.  { z } )  /  x ]. ph ) )
6842, 49, 67vtocl 2872 . . . . . . . . . . . . . . . . . . 19  |-  ( ( v  e.  om  /\  ( w  \  { z } )  ~~  v
)  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. (
( w  \  {
z } )  u. 
{ z } )  /  x ]. ph )
)
69 dfsbcq 3027 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( w  \  {
z } )  u. 
{ z } )  =  w  ->  ( [. ( ( w  \  { z } )  u.  { z } )  /  x ]. ph  <->  [. w  /  x ]. ph ) )
7069imbi2d 307 . . . . . . . . . . . . . . . . . . 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 ) ) )
7168, 70syl5ib 210 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( w  \  {
z } )  u. 
{ z } )  =  w  ->  (
( v  e.  om  /\  ( w  \  {
z } )  ~~  v )  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7235, 39, 713syl 18 . . . . . . . . . . . . . . . . 17  |-  ( z  e.  w  ->  (
( v  e.  om  /\  ( w  \  {
z } )  ~~  v )  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7372exp3a 425 . . . . . . . . . . . . . . . 16  |-  ( z  e.  w  ->  (
v  e.  om  ->  ( ( w  \  {
z } )  ~~  v  ->  ( A. x
( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) ) )
7473com12 27 . . . . . . . . . . . . . . 15  |-  ( v  e.  om  ->  (
z  e.  w  -> 
( ( w  \  { z } ) 
~~  v  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) ) )
7574adantr 451 . . . . . . . . . . . . . 14  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( z  e.  w  ->  ( (
w  \  { z } )  ~~  v  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) ) )
7634, 75mpdd 36 . . . . . . . . . . . . 13  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( z  e.  w  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7776exlimdv 1627 . . . . . . . . . . . 12  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( E. z 
z  e.  w  -> 
( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7832, 77syl5bi 208 . . . . . . . . . . 11  |-  ( ( v  e.  om  /\  w  ~~  suc  v )  ->  ( w  =/=  (/)  ->  ( A. x
( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
7978ex 423 . . . . . . . . . 10  |-  ( v  e.  om  ->  (
w  ~~  suc  v  -> 
( w  =/=  (/)  ->  ( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) ) )
8031, 79mpdd 36 . . . . . . . . 9  |-  ( v  e.  om  ->  (
w  ~~  suc  v  -> 
( A. x ( x  ~~  v  ->  ph )  ->  [. w  /  x ]. ph )
) )
8180com23 72 . . . . . . . 8  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  (
w  ~~  suc  v  ->  [. w  /  x ]. ph ) ) )
8281alrimdv 1624 . . . . . . 7  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  A. w
( w  ~~  suc  v  ->  [. w  /  x ]. ph ) ) )
83 nfv 1610 . . . . . . . 8  |-  F/ w
( x  ~~  suc  v  ->  ph )
84 nfv 1610 . . . . . . . . 9  |-  F/ x  w  ~~  suc  v
85 nfsbc1v 3044 . . . . . . . . 9  |-  F/ x [. w  /  x ]. ph
8684, 85nfim 1792 . . . . . . . 8  |-  F/ x
( w  ~~  suc  v  ->  [. w  /  x ]. ph )
87 breq1 4063 . . . . . . . . 9  |-  ( x  =  w  ->  (
x  ~~  suc  v  <->  w  ~~  suc  v ) )
88 sbceq1a 3035 . . . . . . . . 9  |-  ( x  =  w  ->  ( ph 
<-> 
[. w  /  x ]. ph ) )
8987, 88imbi12d 311 . . . . . . . 8  |-  ( x  =  w  ->  (
( x  ~~  suc  v  ->  ph )  <->  ( w  ~~  suc  v  ->  [. w  /  x ]. ph )
) )
9083, 86, 89cbval 1956 . . . . . . 7  |-  ( A. x ( x  ~~  suc  v  ->  ph )  <->  A. w ( w  ~~  suc  v  ->  [. w  /  x ]. ph )
)
9182, 90syl6ibr 218 . . . . . 6  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  A. x
( x  ~~  suc  v  ->  ph ) ) )
925, 8, 11, 17, 91finds1 4722 . . . . 5  |-  ( w  e.  om  ->  A. x
( x  ~~  w  ->  ph ) )
939219.21bi 1825 . . . 4  |-  ( w  e.  om  ->  (
x  ~~  w  ->  ph ) )
9493rexlimiv 2695 . . 3  |-  ( E. w  e.  om  x  ~~  w  ->  ph )
952, 94sylbi 187 . 2  |-  ( x  e.  Fin  ->  ph )
961, 95vtoclga 2883 1  |-  ( A  e.  Fin  ->  ta )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 176    /\ wa 358   A.wal 1531   E.wex 1532    = wceq 1633    e. wcel 1701    =/= wne 2479   E.wrex 2578   _Vcvv 2822   [.wsbc 3025    \ cdif 3183    u. cun 3184    C_ wss 3186   (/)c0 3489   {csn 3674   class class class wbr 4060   suc csuc 4431   omcom 4693    ~~ cen 6903   Fincfn 6906
This theorem is referenced by:  findcard2s  7144  frfi  7147  fnfi  7179  iunfi  7189  finsschain  7207  infdiffi  7403  fin1a2lem10  8080  wunfi  8388  rexfiuz  11878  drsdirfi  14121  fiuncmp  17187  finiunmbl  18954  findcard2OLD  25556  heibor1lem  25681  pclfinclN  29957
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1537  ax-5 1548  ax-17 1607  ax-9 1645  ax-8 1666  ax-13 1703  ax-14 1705  ax-6 1720  ax-7 1725  ax-11 1732  ax-12 1897  ax-ext 2297  ax-sep 4178  ax-nul 4186  ax-pow 4225  ax-pr 4251  ax-un 4549
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1533  df-nf 1536  df-sb 1640  df-eu 2180  df-mo 2181  df-clab 2303  df-cleq 2309  df-clel 2312  df-nfc 2441  df-ne 2481  df-ral 2582  df-rex 2583  df-rab 2586  df-v 2824  df-sbc 3026  df-dif 3189  df-un 3191  df-in 3193  df-ss 3200  df-pss 3202  df-nul 3490  df-if 3600  df-pw 3661  df-sn 3680  df-pr 3681  df-tp 3682  df-op 3683  df-uni 3865  df-br 4061  df-opab 4115  df-tr 4151  df-eprel 4342  df-id 4346  df-po 4351  df-so 4352  df-fr 4389  df-we 4391  df-ord 4432  df-on 4433  df-lim 4434  df-suc 4435  df-om 4694  df-xp 4732  df-rel 4733  df-cnv 4734  df-co 4735  df-dm 4736  df-rn 4737  df-res 4738  df-ima 4739  df-iota 5256  df-fun 5294  df-fn 5295  df-f 5296  df-f1 5297  df-fo 5298  df-f1o 5299  df-fv 5300  df-1o 6521  df-er 6702  df-en 6907  df-fin 6910
  Copyright terms: Public domain W3C validator