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

Theorem cardfz 7719
Description: The cardinality of a finite set of sequential integers. (See om2uz0i 7706 for a description of the antecedent.)
Hypothesis
Ref Expression
cardfz.1 |- G = (rec({<.j, k>. | k = (j + 1)}, 0) |` om)
Assertion
Ref Expression
cardfz |- (N e. NN0 -> (card` (1...N)) = (`'G` N))
Distinct variable group:   j,k

Proof of Theorem cardfz
StepHypRef Expression
1 nn0z 7363 . . . . . . . 8 |- (m e. NN0 -> m e. ZZ)
2 nn0ge0 7326 . . . . . . . . . 10 |- (m e. NN0 -> 0 <_ m)
3 nn0re 7317 . . . . . . . . . . 11 |- (m e. NN0 -> m e. RR)
4 0re 6603 . . . . . . . . . . . 12 |- 0 e. RR
5 1re 6598 . . . . . . . . . . . 12 |- 1 e. RR
6 leadd1 6808 . . . . . . . . . . . 12 |- ((0 e. RR /\ m e. RR /\ 1 e. RR) -> (0 <_ m <-> (0 + 1) <_ (m + 1)))
74, 5, 6mp3an13 1182 . . . . . . . . . . 11 |- (m e. RR -> (0 <_ m <-> (0 + 1) <_ (m + 1)))
83, 7syl 12 . . . . . . . . . 10 |- (m e. NN0 -> (0 <_ m <-> (0 + 1) <_ (m + 1)))
92, 8mpbid 212 . . . . . . . . 9 |- (m e. NN0 -> (0 + 1) <_ (m + 1))
10 ax1cn 6422 . . . . . . . . . 10 |- 1 e. CC
1110addid2i 6484 . . . . . . . . 9 |- (0 + 1) = 1
129, 11syl5eqbrr 3371 . . . . . . . 8 |- (m e. NN0 -> 1 <_ (m + 1))
13 1z 7368 . . . . . . . . 9 |- 1 e. ZZ
14 fzsuc 7678 . . . . . . . . 9 |- ((1 e. ZZ /\ m e. ZZ /\ 1 <_ (m + 1)) -> (1...(m + 1)) = ((1...m) u. {(m + 1)}))
1513, 14mp3an1 1178 . . . . . . . 8 |- ((m e. ZZ /\ 1 <_ (m + 1)) -> (1...(m + 1)) = ((1...m) u. {(m + 1)}))
161, 12, 15syl11anc 524 . . . . . . 7 |- (m e. NN0 -> (1...(m + 1)) = ((1...m) u. {(m + 1)}))
1716fveq2d 4685 . . . . . 6 |- (m e. NN0 -> (card` (1...(m + 1))) = (card` ((1...m) u. {(m + 1)})))
18 ltp1 6989 . . . . . . . . . . 11 |- (m e. RR -> m < (m + 1))
19 peano2re 6599 . . . . . . . . . . . 12 |- (m e. RR -> (m + 1) e. RR)
20 ltnle 6680 . . . . . . . . . . . 12 |- ((m e. RR /\ (m + 1) e. RR) -> (m < (m + 1) <-> -. (m + 1) <_ m))
2119, 20mpdan 768 . . . . . . . . . . 11 |- (m e. RR -> (m < (m + 1) <-> -. (m + 1) <_ m))
2218, 21mpbid 212 . . . . . . . . . 10 |- (m e. RR -> -. (m + 1) <_ m)
233, 22syl 12 . . . . . . . . 9 |- (m e. NN0 -> -. (m + 1) <_ m)
24 elfzle2 7654 . . . . . . . . 9 |- ((m + 1) e. (1...m) -> (m + 1) <_ m)
2523, 24nsyl 131 . . . . . . . 8 |- (m e. NN0 -> -. (m + 1) e. (1...m))
26 oprex 4907 . . . . . . . . 9 |- (1...m) e. _V
27 oprex 4907 . . . . . . . . 9 |- (m + 1) e. _V
2826, 27unsnen 5985 . . . . . . . 8 |- (-. (m + 1) e. (1...m) -> ((1...m) u. {(m + 1)}) ~~ suc (card`
(1...m)))
2925, 28syl 12 . . . . . . 7 |- (m e. NN0 -> ((1...m) u. {(m + 1)}) ~~ suc (card` (1...m)))
30 snex 3492 . . . . . . . . 9 |- {(m + 1)} e. _V
3126, 30unex 3796 . . . . . . . 8 |- ((1...m) u. {(m + 1)}) e. _V
32 fvex 4689 . . . . . . . . 9 |- (card` (1...m)) e. _V
3332sucex 3892 . . . . . . . 8 |- suc (card` (1...m)) e. _V
34 carden 5981 . . . . . . . 8 |- ((((1...m) u. {(m + 1)}) e. _V /\ suc (card` (1...m)) e. _V) -> ((card` ((1...m) u. {(m + 1)})) = (card` suc (card` (1...m))) <-> ((1...m) u. {(m + 1)}) ~~ suc (card` (1...m))))
3531, 33, 34mp2an 761 . . . . . . 7 |- ((card` ((1...m) u. {(m + 1)})) = (card` suc (card` (1...m))) <-> ((1...m) u. {(m + 1)}) ~~ suc (card`
(1...m)))
3629, 35sylibr 217 . . . . . 6 |- (m e. NN0 -> (card` ((1...m) u. {(m + 1)})) = (card` suc (card` (1...m))))
3717, 36eqtrd 1925 . . . . 5 |- (m e. NN0 -> (card` (1...(m + 1))) = (card` suc (card` (1...m))))
3837adantr 425 . . . 4 |- ((m e. NN0 /\ (card` (1...m)) = (`'G` m)) -> (card` (1...(m + 1))) = (card` suc (card` (1...m))))
39 suceq 3729 . . . . . 6 |- ((card` (1...m)) = (`'G` m) -> suc (card`
(1...m)) = suc (`'G` m))
4039fveq2d 4685 . . . . 5 |- ((card` (1...m)) = (`'G` m) -> (card` suc (card` (1...m))) = (card` suc (`'G` m)))
41 nn0zrab 7367 . . . . . . . . . 10 |- NN0 = {n e. ZZ | 0 <_ n}
4241eleq2i 1961 . . . . . . . . 9 |- (m e. NN0 <-> m e. {n e. ZZ | 0 <_ n})
43 0z 7355 . . . . . . . . . . 11 |- 0 e. ZZ
44 cardfz.1 . . . . . . . . . . 11 |- G = (rec({<.j, k>. | k = (j + 1)}, 0) |` om)
4543, 44om2uzf1oi 7712 . . . . . . . . . 10 |- G:om-1-1-onto->{n e. ZZ | 0 <_ n}
46 f1ocnvdm 4860 . . . . . . . . . 10 |- ((G:om-1-1-onto->{n e. ZZ | 0 <_ n} /\ m e. {n e. ZZ | 0 <_ n}) -> (`'G` m) e. om)
4745, 46mpan 759 . . . . . . . . 9 |- (m e. {n e. ZZ | 0 <_ n} -> (`'G` m) e. om)
4842, 47sylbi 216 . . . . . . . 8 |- (m e. NN0 -> (`'G` m) e. om)
49 peano2 3972 . . . . . . . 8 |- ((`'G` m) e. om -> suc (`'G` m) e. om)
5048, 49syl 12 . . . . . . 7 |- (m e. NN0 -> suc (`'G` m) e. om)
51 cardnn 5870 . . . . . . 7 |- (suc (`'G` m) e. om -> (card`
suc (`'G` m)) = suc (`'G` m))
5250, 51syl 12 . . . . . 6 |- (m e. NN0 -> (card` suc (`'G` m)) = suc (`'G` m))
5350, 45jctil 316 . . . . . . 7 |- (m e. NN0 -> (G:om-1-1-onto->{n e. ZZ | 0 <_ n} /\ suc (`'G` m) e. om))
5443, 44om2uzsuci 7707 . . . . . . . . 9 |- ((`'G` m) e. om -> (G` suc (`'G` m)) = ((G` (`'G` m)) + 1))
5548, 54syl 12 . . . . . . . 8 |- (m e. NN0 -> (G` suc (`'G` m)) = ((G` (`'G` m)) + 1))
56 f1ocnvfv2 4855 . . . . . . . . . 10 |- ((G:om-1-1-onto->{n e. ZZ | 0 <_ n} /\ m e. {n e. ZZ | 0 <_ n}) -> (G` (`'G` m)) = m)
5742biimpi 168 . . . . . . . . . 10 |- (m e. NN0 -> m e. {n e. ZZ | 0 <_ n})
5856, 45, 57sylancr 526 . . . . . . . . 9 |- (m e. NN0 -> (G` (`'G` m)) = m)
5958opreq1d 4897 . . . . . . . 8 |- (m e. NN0 -> ((G` (`'G` m)) + 1) = (m + 1))
6055, 59eqtrd 1925 . . . . . . 7 |- (m e. NN0 -> (G` suc (`'G` m)) = (m + 1))
61 f1ocnvfv 4856 . . . . . . 7 |- ((G:om-1-1-onto->{n e. ZZ | 0 <_ n} /\ suc (`'G` m) e. om) -> ((G` suc (`'G` m)) = (m + 1) -> (`'G` (m + 1)) = suc (`'G` m)))
6253, 60, 61sylc 83 . . . . . 6 |- (m e. NN0 -> (`'G` (m + 1)) = suc (`'G` m))
6352, 62eqtr4d 1928 . . . . 5 |- (m e. NN0 -> (card` suc (`'G` m)) = (`'G` (m + 1)))
6440, 63sylan9eqr 1951 . . . 4 |- ((m e. NN0 /\ (card` (1...m)) = (`'G` m)) -> (card` suc (card`
(1...m))) = (`'G` (m + 1)))
6538, 64eqtrd 1925 . . 3 |- ((m e. NN0 /\ (card` (1...m)) = (`'G` m)) -> (card` (1...(m + 1))) = (`'G` (m + 1)))
6665ex 402 . 2 |- (m e. NN0 -> ((card` (1...m)) = (`'G` m) -> (card` (1...(m + 1))) = (`'G` (m + 1))))
67 card0 5869 . . 3 |- (card` (/)) = (/)
68 lt01 6871 . . . . 5 |- 0 < 1
69 fzn 7663 . . . . . 6 |- ((1 e. ZZ /\ 0 e. ZZ) -> (0 < 1 <-> (1...0) = (/)))
7013, 43, 69mp2an 761 . . . . 5 |- (0 < 1 <-> (1...0) = (/))
7168, 70mpbi 206 . . . 4 |- (1...0) = (/)
7271fveq2i 4684 . . 3 |- (card` (1...0)) = (card` (/))
73 peano1 3971 . . . . 5 |- (/) e. om
7445, 73pm3.2i 307 . . . 4 |- (G:om-1-1-onto->{n e. ZZ | 0 <_ n} /\ (/) e. om)
7543, 44om2uz0i 7706 . . . 4 |- (G` (/)) = 0
76 f1ocnvfv 4856 . . . 4 |- ((G:om-1-1-onto->{n e. ZZ | 0 <_ n} /\ (/) e. om) -> ((G` (/)) = 0 -> (`'G` 0) = (/)))
7774, 75, 76mp2 54 . . 3 |- (`'G` 0) = (/)
7867, 72, 773eqtr4i 1921 . 2 |- (card` (1...0)) = (`'G` 0)
79 opreq2 4890 . . . 4 |- (n = 0 -> (1...n) = (1...0))
8079fveq2d 4685 . . 3 |- (n = 0 -> (card` (1...n)) = (card`
(1...0)))
81 fveq2 4681 . . 3 |- (n = 0 -> (`'G` n) = (`'G` 0))
8280, 81eqeq12d 1899 . 2 |- (n = 0 -> ((card` (1...n)) = (`'G` n) <-> (card` (1...0)) = (`'G` 0)))
83 opreq2 4890 . . . 4 |- (n = m -> (1...n) = (1...m))
8483fveq2d 4685 . . 3 |- (n = m -> (card` (1...n)) = (card`
(1...m)))
85 fveq2 4681 . . 3 |- (n = m -> (`'G` n) = (`'G` m))
8684, 85eqeq12d 1899 . 2 |- (n = m -> ((card` (1...n)) = (`'G` n) <-> (card` (1...m)) = (`'G` m)))
87 opreq2 4890 . . . 4 |- (n = (m + 1) -> (1...n) = (1...(m + 1)))
8887fveq2d 4685 . . 3 |- (n = (m + 1) -> (card` (1...n)) = (card`
(1...(m + 1))))
89 fveq2 4681 . . 3 |- (n = (m + 1) -> (`'G` n) = (`'G` (m + 1)))
9088, 89eqeq12d 1899 . 2 |- (n = (m + 1) -> ((card` (1...n)) = (`'G` n) <-> (card` (1...(m + 1))) = (`'G` (m + 1))))
91 opreq2 4890 . . . 4 |- (n = N -> (1...n) = (1...N))
9291fveq2d 4685 . . 3 |- (n = N -> (card` (1...n)) = (card`
(1...N)))
93 fveq2 4681 . . 3 |- (n = N -> (`'G` n) = (`'G` N))
9492, 93eqeq12d 1899 . 2 |- (n = N -> ((card` (1...n)) = (`'G` n) <-> (card` (1...N)) = (`'G` N)))
9566, 78, 82, 86, 90, 94nn0indALT 7425 1 |- (N e. NN0 -> (card` (1...N)) = (`'G` N))
Colors of variables: wff set class
Syntax hints:  -. wn 2   -> wi 3   <-> wb 163   /\ wa 240   = wceq 1298   e. wcel 1300  {crab 2108  _Vcvv 2292   u. cun 2591  (/)c0 2875  {csn 3044   class class class wbr 3338  {copab 3395  suc csuc 3659  omcom 3949  `'ccnv 3985   |` cres 3988  -1-1-onto->wf1o 3997  ` cfv 3998  (class class class)co 4884  reccrdg 5139   ~~ cen 5423  cardccrd 5859  RRcr 6385  0cc0 6386  1c1 6387   + caddc 6389   <_ cle 6448  NN0cn0 6450  ZZcz 6451   < clt 6653  ...cfz 7637
This theorem is referenced by:  fz1fi 8229  hashfz1 8232
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-inf2 5731  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-nel 2020  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-opr 4886  df-oprab 4887  df-mpt 5006  df-1st 5020  df-2nd 5021  df-iota 5089  df-rdg 5140  df-1o 5177  df-oadd 5179  df-omul 5180  df-er 5318  df-ec 5320  df-qs 5323  df-en 5427  df-dom 5428  df-sdom 5429  df-undef 5556  df-riota 5560  df-card 5862  df-ni 6152  df-pli 6153  df-mi 6154  df-lti 6155  df-plpq 6187  df-mpq 6188  df-enq 6189  df-nq 6190  df-plq 6191  df-mq 6192  df-rq 6193  df-ltq 6194  df-1q 6195  df-np 6238  df-1p 6239  df-plp 6240  df-mp 6241  df-ltp 6242  df-plpr 6316  df-mpr 6317  df-enr 6318  df-nr 6319  df-plr 6320  df-mr 6321  df-ltr 6322  df-0r 6323  df-1r 6324  df-m1r 6325  df-c 6392  df-0 6393  df-1 6394  df-i 6395  df-r 6396  df-plus 6397  df-mul 6398  df-lt 6399  df-sub 6511  df-neg 6513  df-pnf 6654  df-mnf 6655  df-xr 6656  df-ltxr 6657  df-le 6658  df-n 7108  df-n0 7309  df-z 7345  df-uz 7587  df-fz 7638
Copyright terms: Public domain