ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  findcard Unicode version

Theorem findcard 6882
Description: Schema for induction on the cardinality of a finite set. The inductive hypothesis is that the result is true on the given set with any one element removed. The result is then proven to be true for all finite sets. (Contributed by Jeff Madsen, 2-Sep-2009.)
Hypotheses
Ref Expression
findcard.1  |-  ( x  =  (/)  ->  ( ph  <->  ps ) )
findcard.2  |-  ( x  =  ( y  \  { z } )  ->  ( ph  <->  ch )
)
findcard.3  |-  ( x  =  y  ->  ( ph 
<->  th ) )
findcard.4  |-  ( x  =  A  ->  ( ph 
<->  ta ) )
findcard.5  |-  ps
findcard.6  |-  ( y  e.  Fin  ->  ( A. z  e.  y  ch  ->  th ) )
Assertion
Ref Expression
findcard  |-  ( 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 findcard
Dummy variables  w  v are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 findcard.4 . 2  |-  ( x  =  A  ->  ( ph 
<->  ta ) )
2 isfi 6755 . . 3  |-  ( x  e.  Fin  <->  E. w  e.  om  x  ~~  w
)
3 breq2 4004 . . . . . . . 8  |-  ( w  =  (/)  ->  ( x 
~~  w  <->  x  ~~  (/) ) )
43imbi1d 231 . . . . . . 7  |-  ( w  =  (/)  ->  ( ( x  ~~  w  ->  ph )  <->  ( x  ~~  (/) 
->  ph ) ) )
54albidv 1824 . . . . . 6  |-  ( w  =  (/)  ->  ( A. x ( x  ~~  w  ->  ph )  <->  A. x
( x  ~~  (/)  ->  ph )
) )
6 breq2 4004 . . . . . . . 8  |-  ( w  =  v  ->  (
x  ~~  w  <->  x  ~~  v ) )
76imbi1d 231 . . . . . . 7  |-  ( w  =  v  ->  (
( x  ~~  w  ->  ph )  <->  ( x  ~~  v  ->  ph )
) )
87albidv 1824 . . . . . 6  |-  ( w  =  v  ->  ( A. x ( x  ~~  w  ->  ph )  <->  A. x
( x  ~~  v  ->  ph ) ) )
9 breq2 4004 . . . . . . . 8  |-  ( w  =  suc  v  -> 
( x  ~~  w  <->  x 
~~  suc  v )
)
109imbi1d 231 . . . . . . 7  |-  ( w  =  suc  v  -> 
( ( x  ~~  w  ->  ph )  <->  ( x  ~~  suc  v  ->  ph )
) )
1110albidv 1824 . . . . . 6  |-  ( w  =  suc  v  -> 
( A. x ( x  ~~  w  ->  ph )  <->  A. x ( x 
~~  suc  v  ->  ph ) ) )
12 en0 6789 . . . . . . . 8  |-  ( x 
~~  (/)  <->  x  =  (/) )
13 findcard.5 . . . . . . . . 9  |-  ps
14 findcard.1 . . . . . . . . 9  |-  ( x  =  (/)  ->  ( ph  <->  ps ) )
1513, 14mpbiri 168 . . . . . . . 8  |-  ( x  =  (/)  ->  ph )
1612, 15sylbi 121 . . . . . . 7  |-  ( x 
~~  (/)  ->  ph )
1716ax-gen 1449 . . . . . 6  |-  A. x
( x  ~~  (/)  ->  ph )
18 peano2 4591 . . . . . . . . . . . . 13  |-  ( v  e.  om  ->  suc  v  e.  om )
19 breq2 4004 . . . . . . . . . . . . . 14  |-  ( w  =  suc  v  -> 
( y  ~~  w  <->  y 
~~  suc  v )
)
2019rspcev 2841 . . . . . . . . . . . . 13  |-  ( ( suc  v  e.  om  /\  y  ~~  suc  v
)  ->  E. w  e.  om  y  ~~  w
)
2118, 20sylan 283 . . . . . . . . . . . 12  |-  ( ( v  e.  om  /\  y  ~~  suc  v )  ->  E. w  e.  om  y  ~~  w )
22 isfi 6755 . . . . . . . . . . . 12  |-  ( y  e.  Fin  <->  E. w  e.  om  y  ~~  w
)
2321, 22sylibr 134 . . . . . . . . . . 11  |-  ( ( v  e.  om  /\  y  ~~  suc  v )  ->  y  e.  Fin )
24233adant2 1016 . . . . . . . . . 10  |-  ( ( v  e.  om  /\  A. x ( x  ~~  v  ->  ph )  /\  y  ~~  suc  v )  -> 
y  e.  Fin )
25 dif1en 6873 . . . . . . . . . . . . . . . 16  |-  ( ( v  e.  om  /\  y  ~~  suc  v  /\  z  e.  y )  ->  ( y  \  {
z } )  ~~  v )
26253expa 1203 . . . . . . . . . . . . . . 15  |-  ( ( ( v  e.  om  /\  y  ~~  suc  v
)  /\  z  e.  y )  ->  (
y  \  { z } )  ~~  v
)
27 vex 2740 . . . . . . . . . . . . . . . . 17  |-  y  e. 
_V
28 difexg 4141 . . . . . . . . . . . . . . . . 17  |-  ( y  e.  _V  ->  (
y  \  { z } )  e.  _V )
2927, 28ax-mp 5 . . . . . . . . . . . . . . . 16  |-  ( y 
\  { z } )  e.  _V
30 breq1 4003 . . . . . . . . . . . . . . . . 17  |-  ( x  =  ( y  \  { z } )  ->  ( x  ~~  v 
<->  ( y  \  {
z } )  ~~  v ) )
31 findcard.2 . . . . . . . . . . . . . . . . 17  |-  ( x  =  ( y  \  { z } )  ->  ( ph  <->  ch )
)
3230, 31imbi12d 234 . . . . . . . . . . . . . . . 16  |-  ( x  =  ( y  \  { z } )  ->  ( ( x 
~~  v  ->  ph )  <->  ( ( y  \  {
z } )  ~~  v  ->  ch ) ) )
3329, 32spcv 2831 . . . . . . . . . . . . . . 15  |-  ( A. x ( x  ~~  v  ->  ph )  ->  (
( y  \  {
z } )  ~~  v  ->  ch ) )
3426, 33syl5com 29 . . . . . . . . . . . . . 14  |-  ( ( ( v  e.  om  /\  y  ~~  suc  v
)  /\  z  e.  y )  ->  ( A. x ( x  ~~  v  ->  ph )  ->  ch ) )
3534ralrimdva 2557 . . . . . . . . . . . . 13  |-  ( ( v  e.  om  /\  y  ~~  suc  v )  ->  ( A. x
( x  ~~  v  ->  ph )  ->  A. z  e.  y  ch )
)
3635imp 124 . . . . . . . . . . . 12  |-  ( ( ( v  e.  om  /\  y  ~~  suc  v
)  /\  A. x
( x  ~~  v  ->  ph ) )  ->  A. z  e.  y  ch )
3736an32s 568 . . . . . . . . . . 11  |-  ( ( ( v  e.  om  /\ 
A. x ( x 
~~  v  ->  ph )
)  /\  y  ~~  suc  v )  ->  A. z  e.  y  ch )
38373impa 1194 . . . . . . . . . 10  |-  ( ( v  e.  om  /\  A. x ( x  ~~  v  ->  ph )  /\  y  ~~  suc  v )  ->  A. z  e.  y  ch )
39 findcard.6 . . . . . . . . . 10  |-  ( y  e.  Fin  ->  ( A. z  e.  y  ch  ->  th ) )
4024, 38, 39sylc 62 . . . . . . . . 9  |-  ( ( v  e.  om  /\  A. x ( x  ~~  v  ->  ph )  /\  y  ~~  suc  v )  ->  th )
41403exp 1202 . . . . . . . 8  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  (
y  ~~  suc  v  ->  th ) ) )
4241alrimdv 1876 . . . . . . 7  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  A. y
( y  ~~  suc  v  ->  th ) ) )
43 breq1 4003 . . . . . . . . 9  |-  ( x  =  y  ->  (
x  ~~  suc  v  <->  y  ~~  suc  v ) )
44 findcard.3 . . . . . . . . 9  |-  ( x  =  y  ->  ( ph 
<->  th ) )
4543, 44imbi12d 234 . . . . . . . 8  |-  ( x  =  y  ->  (
( x  ~~  suc  v  ->  ph )  <->  ( y  ~~  suc  v  ->  th )
) )
4645cbvalv 1917 . . . . . . 7  |-  ( A. x ( x  ~~  suc  v  ->  ph )  <->  A. y ( y  ~~  suc  v  ->  th )
)
4742, 46syl6ibr 162 . . . . . 6  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  A. x
( x  ~~  suc  v  ->  ph ) ) )
485, 8, 11, 17, 47finds1 4598 . . . . 5  |-  ( w  e.  om  ->  A. x
( x  ~~  w  ->  ph ) )
494819.21bi 1558 . . . 4  |-  ( w  e.  om  ->  (
x  ~~  w  ->  ph ) )
5049rexlimiv 2588 . . 3  |-  ( E. w  e.  om  x  ~~  w  ->  ph )
512, 50sylbi 121 . 2  |-  ( x  e.  Fin  ->  ph )
521, 51vtoclga 2803 1  |-  ( A  e.  Fin  ->  ta )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    /\ w3a 978   A.wal 1351    = wceq 1353    e. wcel 2148   A.wral 2455   E.wrex 2456   _Vcvv 2737    \ cdif 3126   (/)c0 3422   {csn 3591   class class class wbr 4000   suc csuc 4362   omcom 4586    ~~ cen 6732   Fincfn 6734
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 614  ax-in2 615  ax-io 709  ax-5 1447  ax-7 1448  ax-gen 1449  ax-ie1 1493  ax-ie2 1494  ax-8 1504  ax-10 1505  ax-11 1506  ax-i12 1507  ax-bndl 1509  ax-4 1510  ax-17 1526  ax-i9 1530  ax-ial 1534  ax-i5r 1535  ax-13 2150  ax-14 2151  ax-ext 2159  ax-coll 4115  ax-sep 4118  ax-nul 4126  ax-pow 4171  ax-pr 4206  ax-un 4430  ax-setind 4533  ax-iinf 4584
This theorem depends on definitions:  df-bi 117  df-dc 835  df-3or 979  df-3an 980  df-tru 1356  df-fal 1359  df-nf 1461  df-sb 1763  df-eu 2029  df-mo 2030  df-clab 2164  df-cleq 2170  df-clel 2173  df-nfc 2308  df-ne 2348  df-ral 2460  df-rex 2461  df-reu 2462  df-rab 2464  df-v 2739  df-sbc 2963  df-csb 3058  df-dif 3131  df-un 3133  df-in 3135  df-ss 3142  df-nul 3423  df-if 3535  df-pw 3576  df-sn 3597  df-pr 3598  df-op 3600  df-uni 3808  df-int 3843  df-iun 3886  df-br 4001  df-opab 4062  df-mpt 4063  df-tr 4099  df-id 4290  df-iord 4363  df-on 4365  df-suc 4368  df-iom 4587  df-xp 4629  df-rel 4630  df-cnv 4631  df-co 4632  df-dm 4633  df-rn 4634  df-res 4635  df-ima 4636  df-iota 5174  df-fun 5214  df-fn 5215  df-f 5216  df-f1 5217  df-fo 5218  df-f1o 5219  df-fv 5220  df-er 6529  df-en 6735  df-fin 6737
This theorem is referenced by:  xpfi  6923
  Copyright terms: Public domain W3C validator