HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem findcardOLD 10179
Description: Schema for induction on the cardinality of a 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
findcardOLD.1 |- (x = (/) -> (ph <-> ps))
findcardOLD.2 |- (x = (y \ {z}) -> (ph <-> ch))
findcardOLD.3 |- (x = y -> (ph <-> th))
findcardOLD.4 |- (x = A -> (ph <-> ta))
findcardOLD.5 |- ps
findcardOLD.6 |- (y e. Fin -> (A.z e. y ch -> th))
Assertion
Ref Expression
findcardOLD |- (A e. Fin -> ta)
Distinct variable groups:   x,y,z,A   ps,x   ch,x   th,x   ta,x   ph,y,z

Proof of Theorem findcardOLD
StepHypRef Expression
1 eqid 1884 . 2 |- (card` A) = (card` A)
2 ficardom 5979 . . . 4 |- (A e. Fin -> (card` A) e. om)
3 eqeq2 1893 . . . . . . 7 |- (y = (/) -> ((card` x) = y <-> (card` x) = (/)))
43imbi1d 675 . . . . . 6 |- (y = (/) -> (((card`
x) = y -> ph) <-> ((card` x) = (/) -> ph)))
54albidv 1656 . . . . 5 |- (y = (/) -> (A.x((card` x) = y -> ph) <-> A.x((card` x) = (/) -> ph)))
6 eqeq2 1893 . . . . . . 7 |- (y = w -> ((card` x) = y <-> (card` x) = w))
76imbi1d 675 . . . . . 6 |- (y = w -> (((card`
x) = y -> ph) <-> ((card` x) = w -> ph)))
87albidv 1656 . . . . 5 |- (y = w -> (A.x((card` x) = y -> ph) <-> A.x((card` x) = w -> ph)))
9 eqeq2 1893 . . . . . . 7 |- (y = suc w -> ((card` x) = y <-> (card` x) = suc w))
109imbi1d 675 . . . . . 6 |- (y = suc w -> (((card`
x) = y -> ph) <-> ((card` x) = suc w -> ph)))
1110albidv 1656 . . . . 5 |- (y = suc w -> (A.x((card` x) = y -> ph) <-> A.x((card` x) = suc w -> ph)))
12 eqeq2 1893 . . . . . . 7 |- (y = (card`
A) -> ((card` x) = y <-> (card` x) = (card`
A)))
1312imbi1d 675 . . . . . 6 |- (y = (card`
A) -> (((card`
x) = y -> ph) <-> ((card` x) = (card` A) -> ph)))
1413albidv 1656 . . . . 5 |- (y = (card`
A) -> (A.x((card` x) = y -> ph) <-> A.x((card` x) = (card` A) -> ph)))
15 findcardOLD.5 . . . . . . 7 |- ps
16 visset 2295 . . . . . . . . 9 |- x e. _V
17 cardeq0 5982 . . . . . . . . 9 |- (x e. _V -> ((card` x) = (/) <-> x = (/)))
1816, 17ax-mp 7 . . . . . . . 8 |- ((card` x) = (/) <-> x = (/))
19 findcardOLD.1 . . . . . . . 8 |- (x = (/) -> (ph <-> ps))
2018, 19sylbi 216 . . . . . . 7 |- ((card` x) = (/) -> (ph <-> ps))
2115, 20mpbiri 211 . . . . . 6 |- ((card` x) = (/) -> ph)
2221ax-gen 1305 . . . . 5 |- A.x((card` x) = (/) -> ph)
23 peano2 3972 . . . . . . . . . 10 |- (w e. om -> suc w e. om)
24 eleq1a 1966 . . . . . . . . . . 11 |- (suc w e. om -> ((card` y) = suc w -> (card`
y) e. om))
25 visset 2295 . . . . . . . . . . . 12 |- y e. _V
26 ficard 10176 . . . . . . . . . . . 12 |- (y e. _V -> (y e. Fin <-> (card` y) e. om))
2725, 26ax-mp 7 . . . . . . . . . . 11 |- (y e. Fin <-> (card`
y) e. om)
2824, 27syl6ibr 230 . . . . . . . . . 10 |- (suc w e. om -> ((card` y) = suc w -> y e. Fin))
2923, 28syl 12 . . . . . . . . 9 |- (w e. om -> ((card` y) = suc w -> y e. Fin))
30 findcardOLD.6 . . . . . . . . . . . 12 |- (y e. Fin -> (A.z e. y ch -> th))
31 eleq1 1957 . . . . . . . . . . . . . . . . . . . . . 22 |- ((card` y) = suc w -> ((card` y) e. om <-> suc w e. om))
3231biimprd 171 . . . . . . . . . . . . . . . . . . . . 21 |- ((card` y) = suc w -> (suc w e. om -> (card`
y) e. om))
3332, 27syl6ibr 230 . . . . . . . . . . . . . . . . . . . 20 |- ((card` y) = suc w -> (suc w e. om -> y e. Fin))
3433, 23syl5 20 . . . . . . . . . . . . . . . . . . 19 |- ((card` y) = suc w -> (w e. om -> y e. Fin))
3534imp 377 . . . . . . . . . . . . . . . . . 18 |- (((card` y) = suc w /\ w e. om) -> y e. Fin)
36 dif1card 10177 . . . . . . . . . . . . . . . . . . . 20 |- ((y e. Fin /\ z e. y) -> (card`
y) = suc (card` (y \ {z})))
37 eqeq1 1890 . . . . . . . . . . . . . . . . . . . . . . 23 |- ((card` y) = suc (card` (y \ {z})) -> ((card` y) = suc w <-> suc (card` (y \ {z})) = suc w))
3837biimpd 170 . . . . . . . . . . . . . . . . . . . . . 22 |- ((card` y) = suc (card` (y \ {z})) -> ((card` y) = suc w -> suc (card` (y \ {z})) = suc w))
3938anim1d 619 . . . . . . . . . . . . . . . . . . . . 21 |- ((card` y) = suc (card` (y \ {z})) -> (((card` y) = suc w /\ w e. om) -> (suc (card` (y \ {z})) = suc w /\ w e. om)))
40 suc11 3773 . . . . . . . . . . . . . . . . . . . . . . 23 |- (((card` (y \ {z})) e. On /\ w e. On) -> (suc (card` (y \ {z})) = suc w <-> (card`
(y \ {z})) = w))
41 cardon 5976 . . . . . . . . . . . . . . . . . . . . . . 23 |- (card` (y \ {z})) e. On
42 nnon 3957 . . . . . . . . . . . . . . . . . . . . . . 23 |- (w e. om -> w e. On)
4340, 41, 42sylancr 526 . . . . . . . . . . . . . . . . . . . . . 22 |- (w e. om -> (suc (card` (y \ {z})) = suc w <-> (card`
(y \ {z})) = w))
4443biimpac 462 . . . . . . . . . . . . . . . . . . . . 21 |- ((suc (card`
(y \ {z})) = suc w /\ w e. om) -> (card` (y \ {z})) = w)
4539, 44syl6 25 . . . . . . . . . . . . . . . . . . . 20 |- ((card` y) = suc (card` (y \ {z})) -> (((card` y) = suc w /\ w e. om) -> (card` (y \ {z})) = w))
4636, 45syl 12 . . . . . . . . . . . . . . . . . . 19 |- ((y e. Fin /\ z e. y) -> (((card` y) = suc w /\ w e. om) -> (card` (y \ {z})) = w))
4746com12 14 . . . . . . . . . . . . . . . . . 18 |- (((card` y) = suc w /\ w e. om) -> ((y e. Fin /\ z e. y) -> (card`
(y \ {z})) = w))
4835, 47mpand 765 . . . . . . . . . . . . . . . . 17 |- (((card` y) = suc w /\ w e. om) -> (z e. y -> (card` (y \ {z})) = w))
4948imim1d 33 . . . . . . . . . . . . . . . 16 |- (((card` y) = suc w /\ w e. om) -> (((card` (y \ {z})) = w -> ch) -> (z e. y -> ch)))
5049ex 402 . . . . . . . . . . . . . . 15 |- ((card` y) = suc w -> (w e. om -> (((card`
(y \ {z})) = w -> ch) -> (z e. y -> ch))))
51 difexg 3458 . . . . . . . . . . . . . . . . 17 |- (y e. _V -> (y \ {z}) e. _V)
5225, 51ax-mp 7 . . . . . . . . . . . . . . . 16 |- (y \ {z}) e. _V
53 fveq2 4681 . . . . . . . . . . . . . . . . . 18 |- (x = (y \ {z}) -> (card`
x) = (card` (y \ {z})))
5453eqeq1d 1892 . . . . . . . . . . . . . . . . 17 |- (x = (y \ {z}) -> ((card` x) = w <-> (card`
(y \ {z})) = w))
55 findcardOLD.2 . . . . . . . . . . . . . . . . 17 |- (x = (y \ {z}) -> (ph <-> ch))
5654, 55imbi12d 688 . . . . . . . . . . . . . . . 16 |- (x = (y \ {z}) -> (((card` x) = w -> ph) <-> ((card` (y \ {z})) = w -> ch)))
5752, 56cla4v 2370 . . . . . . . . . . . . . . 15 |- (A.x((card` x) = w -> ph) -> ((card` (y \ {z})) = w -> ch))
5850, 57syl7 26 . . . . . . . . . . . . . 14 |- ((card` y) = suc w -> (w e. om -> (A.x((card` x) = w -> ph) -> (z e. y -> ch))))
59583imp 1061 . . . . . . . . . . . . 13 |- (((card` y) = suc w /\ w e. om /\ A.x((card` x) = w -> ph)) -> (z e. y -> ch))
6059r19.21aiv 2175 . . . . . . . . . . . 12 |- (((card` y) = suc w /\ w e. om /\ A.x((card` x) = w -> ph)) -> A.z e. y ch)
6130, 60syl5 20 . . . . . . . . . . 11 |- (y e. Fin -> (((card`
y) = suc w /\ w e. om /\ A.x((card` x) = w -> ph)) -> th))
62613expd 1085 . . . . . . . . . 10 |- (y e. Fin -> ((card` y) = suc w -> (w e. om -> (A.x((card` x) = w -> ph) -> th))))
6362com13 37 . . . . . . . . 9 |- (w e. om -> ((card` y) = suc w -> (y e. Fin -> (A.x((card` x) = w -> ph) -> th))))
6429, 63mpdd 57 . . . . . . . 8 |- (w e. om -> ((card` y) = suc w -> (A.x((card`
x) = w -> ph) -> th)))
6564com23 36 . . . . . . 7 |- (w e. om -> (A.x((card` x) = w -> ph) -> ((card` y) = suc w -> th)))
666519.21adv 1666 . . . . . 6 |- (w e. om -> (A.x((card` x) = w -> ph) -> A.y((card` y) = suc w -> th)))
67 fveq2 4681 . . . . . . . . 9 |- (x = y -> (card` x) = (card`
y))
6867eqeq1d 1892 . . . . . . . 8 |- (x = y -> ((card` x) = suc w <-> (card` y) = suc w))
69 findcardOLD.3 . . . . . . . 8 |- (x = y -> (ph <-> th))
7068, 69imbi12d 688 . . . . . . 7 |- (x = y -> (((card`
x) = suc w -> ph) <-> ((card` y) = suc w -> th)))
7170cbvalv 1696 . . . . . 6 |- (A.x((card` x) = suc w -> ph) <-> A.y((card` y) = suc w -> th))
7266, 71syl6ibr 230 . . . . 5 |- (w e. om -> (A.x((card` x) = w -> ph) -> A.x((card` x) = suc w -> ph)))
735, 8, 11, 14, 22, 72finds 3979 . . . 4 |- ((card` A) e. om -> A.x((card`
x) = (card` A) -> ph))
742, 73syl 12 . . 3 |- (A e. Fin -> A.x((card`
x) = (card` A) -> ph))
75 fveq2 4681 . . . . . 6 |- (x = A -> (card` x) = (card`
A))
7675eqeq1d 1892 . . . . 5 |- (x = A -> ((card` x) = (card` A) <-> (card` A) = (card`
A)))
77 findcardOLD.4 . . . . 5 |- (x = A -> (ph <-> ta))
7876, 77imbi12d 688 . . . 4 |- (x = A -> (((card`
x) = (card` A) -> ph) <-> ((card` A) = (card` A) -> ta)))
7978cla4gv 2364 . . 3 |- (A e. Fin -> (A.x((card` x) = (card` A) -> ph) -> ((card` A) = (card` A) -> ta)))
8074, 79mpd 29 . 2 |- (A e. Fin -> ((card` A) = (card` A) -> ta))
811, 80mpi 55 1 |- (A e. Fin -> ta)
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 163   /\ wa 240   /\ w3a 858  A.wal 1296   = wceq 1298   e. wcel 1300  A.wral 2105  _Vcvv 2292   \ cdif 2590  (/)c0 2875  {csn 3044  Oncon0 3657  suc csuc 3659  omcom 3949  ` cfv 3998  Fincfn 5426  cardccrd 5859
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 1304  ax-gen 1305  ax-8 1306  ax-9 1307  ax-10 1308  ax-11 1309  ax-12 1310  ax-13 1311  ax-14 1312  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588  ax-ext 1865  ax-rep 3428  ax-sep 3438  ax-nul 3445  ax-pow 3481  ax-pr 3524  ax-un 3790  ax-ac 5906
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-3or 859  df-3an 860  df-ex 1327  df-sb 1536  df-eu 1775  df-mo 1776  df-clab 1872  df-cleq 1877  df-clel 1880  df-ne 2019  df-ral 2109  df-rex 2110  df-reu 2111  df-rab 2112  df-v 2294  df-sbc 2454  df-csb 2541  df-dif 2597  df-un 2600  df-in 2603  df-ss 2605  df-pss 2607  df-nul 2876  df-if 2983  df-pw 3035  df-sn 3049  df-pr 3050  df-tp 3052  df-op 3053  df-uni 3178  df-int 3215  df-iun 3257  df-br 3339  df-opab 3396  df-tr 3412  df-eprel 3583  df-id 3586  df-po 3591  df-so 3604  df-fr 3625  df-we 3644  df-ord 3660  df-on 3661  df-lim 3662  df-suc 3663  df-om 3950  df-xp 4000  df-rel 4001  df-cnv 4002  df-co 4003  df-dm 4004  df-rn 4005  df-res 4006  df-ima 4007  df-fun 4008  df-fn 4009  df-f 4010  df-f1 4011  df-fo 4012  df-f1o 4013  df-fv 4014  df-1o 5177  df-er 5318  df-en 5427  df-dom 5428  df-sdom 5429  df-fin 5430  df-card 5862
Copyright terms: Public domain