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

Theorem findcard 6958
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 6829 . . 3  |-  ( x  e.  Fin  <->  E. w  e.  om  x  ~~  w
)
3 breq2 4038 . . . . . . . 8  |-  ( w  =  (/)  ->  ( x 
~~  w  <->  x  ~~  (/) ) )
43imbi1d 231 . . . . . . 7  |-  ( w  =  (/)  ->  ( ( x  ~~  w  ->  ph )  <->  ( x  ~~  (/) 
->  ph ) ) )
54albidv 1838 . . . . . 6  |-  ( w  =  (/)  ->  ( A. x ( x  ~~  w  ->  ph )  <->  A. x
( x  ~~  (/)  ->  ph )
) )
6 breq2 4038 . . . . . . . 8  |-  ( w  =  v  ->  (
x  ~~  w  <->  x  ~~  v ) )
76imbi1d 231 . . . . . . 7  |-  ( w  =  v  ->  (
( x  ~~  w  ->  ph )  <->  ( x  ~~  v  ->  ph )
) )
87albidv 1838 . . . . . 6  |-  ( w  =  v  ->  ( A. x ( x  ~~  w  ->  ph )  <->  A. x
( x  ~~  v  ->  ph ) ) )
9 breq2 4038 . . . . . . . 8  |-  ( w  =  suc  v  -> 
( x  ~~  w  <->  x 
~~  suc  v )
)
109imbi1d 231 . . . . . . 7  |-  ( w  =  suc  v  -> 
( ( x  ~~  w  ->  ph )  <->  ( x  ~~  suc  v  ->  ph )
) )
1110albidv 1838 . . . . . 6  |-  ( w  =  suc  v  -> 
( A. x ( x  ~~  w  ->  ph )  <->  A. x ( x 
~~  suc  v  ->  ph ) ) )
12 en0 6863 . . . . . . . 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 1463 . . . . . 6  |-  A. x
( x  ~~  (/)  ->  ph )
18 peano2 4632 . . . . . . . . . . . . 13  |-  ( v  e.  om  ->  suc  v  e.  om )
19 breq2 4038 . . . . . . . . . . . . . 14  |-  ( w  =  suc  v  -> 
( y  ~~  w  <->  y 
~~  suc  v )
)
2019rspcev 2868 . . . . . . . . . . . . 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 6829 . . . . . . . . . . . 12  |-  ( y  e.  Fin  <->  E. w  e.  om  y  ~~  w
)
2321, 22sylibr 134 . . . . . . . . . . 11  |-  ( ( v  e.  om  /\  y  ~~  suc  v )  ->  y  e.  Fin )
24233adant2 1018 . . . . . . . . . 10  |-  ( ( v  e.  om  /\  A. x ( x  ~~  v  ->  ph )  /\  y  ~~  suc  v )  -> 
y  e.  Fin )
25 dif1en 6949 . . . . . . . . . . . . . . . 16  |-  ( ( v  e.  om  /\  y  ~~  suc  v  /\  z  e.  y )  ->  ( y  \  {
z } )  ~~  v )
26253expa 1205 . . . . . . . . . . . . . . 15  |-  ( ( ( v  e.  om  /\  y  ~~  suc  v
)  /\  z  e.  y )  ->  (
y  \  { z } )  ~~  v
)
27 vex 2766 . . . . . . . . . . . . . . . . 17  |-  y  e. 
_V
28 difexg 4175 . . . . . . . . . . . . . . . . 17  |-  ( y  e.  _V  ->  (
y  \  { z } )  e.  _V )
2927, 28ax-mp 5 . . . . . . . . . . . . . . . 16  |-  ( y 
\  { z } )  e.  _V
30 breq1 4037 . . . . . . . . . . . . . . . . 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 2858 . . . . . . . . . . . . . . 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 2577 . . . . . . . . . . . . 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 1196 . . . . . . . . . 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 1204 . . . . . . . 8  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  (
y  ~~  suc  v  ->  th ) ) )
4241alrimdv 1890 . . . . . . 7  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  A. y
( y  ~~  suc  v  ->  th ) ) )
43 breq1 4037 . . . . . . . . 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 1932 . . . . . . 7  |-  ( A. x ( x  ~~  suc  v  ->  ph )  <->  A. y ( y  ~~  suc  v  ->  th )
)
4742, 46imbitrrdi 162 . . . . . 6  |-  ( v  e.  om  ->  ( A. x ( x  ~~  v  ->  ph )  ->  A. x
( x  ~~  suc  v  ->  ph ) ) )
485, 8, 11, 17, 47finds1 4639 . . . . 5  |-  ( w  e.  om  ->  A. x
( x  ~~  w  ->  ph ) )
494819.21bi 1572 . . . 4  |-  ( w  e.  om  ->  (
x  ~~  w  ->  ph ) )
5049rexlimiv 2608 . . 3  |-  ( E. w  e.  om  x  ~~  w  ->  ph )
512, 50sylbi 121 . 2  |-  ( x  e.  Fin  ->  ph )
521, 51vtoclga 2830 1  |-  ( A  e.  Fin  ->  ta )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    /\ w3a 980   A.wal 1362    = wceq 1364    e. wcel 2167   A.wral 2475   E.wrex 2476   _Vcvv 2763    \ cdif 3154   (/)c0 3451   {csn 3623   class class class wbr 4034   suc csuc 4401   omcom 4627    ~~ cen 6806   Fincfn 6808
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 615  ax-in2 616  ax-io 710  ax-5 1461  ax-7 1462  ax-gen 1463  ax-ie1 1507  ax-ie2 1508  ax-8 1518  ax-10 1519  ax-11 1520  ax-i12 1521  ax-bndl 1523  ax-4 1524  ax-17 1540  ax-i9 1544  ax-ial 1548  ax-i5r 1549  ax-13 2169  ax-14 2170  ax-ext 2178  ax-coll 4149  ax-sep 4152  ax-nul 4160  ax-pow 4208  ax-pr 4243  ax-un 4469  ax-setind 4574  ax-iinf 4625
This theorem depends on definitions:  df-bi 117  df-dc 836  df-3or 981  df-3an 982  df-tru 1367  df-fal 1370  df-nf 1475  df-sb 1777  df-eu 2048  df-mo 2049  df-clab 2183  df-cleq 2189  df-clel 2192  df-nfc 2328  df-ne 2368  df-ral 2480  df-rex 2481  df-reu 2482  df-rab 2484  df-v 2765  df-sbc 2990  df-csb 3085  df-dif 3159  df-un 3161  df-in 3163  df-ss 3170  df-nul 3452  df-if 3563  df-pw 3608  df-sn 3629  df-pr 3630  df-op 3632  df-uni 3841  df-int 3876  df-iun 3919  df-br 4035  df-opab 4096  df-mpt 4097  df-tr 4133  df-id 4329  df-iord 4402  df-on 4404  df-suc 4407  df-iom 4628  df-xp 4670  df-rel 4671  df-cnv 4672  df-co 4673  df-dm 4674  df-rn 4675  df-res 4676  df-ima 4677  df-iota 5220  df-fun 5261  df-fn 5262  df-f 5263  df-f1 5264  df-fo 5265  df-f1o 5266  df-fv 5267  df-er 6601  df-en 6809  df-fin 6811
This theorem is referenced by:  xpfi  7002
  Copyright terms: Public domain W3C validator