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

Theorem facwordi 8196
Description: Ordering property of factorial.
Assertion
Ref Expression
facwordi |- ((M e. NN0 /\ N e. NN0 /\ M <_ N) -> (!` M) <_ (!` N))

Proof of Theorem facwordi
StepHypRef Expression
1 breq2 3342 . . . . . 6 |- (j = 0 -> (M <_ j <-> M <_ 0))
21anbi2d 678 . . . . 5 |- (j = 0 -> ((M e. NN0 /\ M <_ j) <-> (M e. NN0 /\ M <_ 0)))
3 fveq2 4681 . . . . . 6 |- (j = 0 -> (!` j) = (!` 0))
43breq2d 3350 . . . . 5 |- (j = 0 -> ((!` M) <_ (!` j) <-> (!` M) <_ (!` 0)))
52, 4imbi12d 688 . . . 4 |- (j = 0 -> (((M e. NN0 /\ M <_ j) -> (!` M) <_ (!` j)) <-> ((M e. NN0 /\ M <_ 0) -> (!` M) <_ (!` 0))))
6 breq2 3342 . . . . . 6 |- (j = k -> (M <_ j <-> M <_ k))
76anbi2d 678 . . . . 5 |- (j = k -> ((M e. NN0 /\ M <_ j) <-> (M e. NN0 /\ M <_ k)))
8 fveq2 4681 . . . . . 6 |- (j = k -> (!` j) = (!` k))
98breq2d 3350 . . . . 5 |- (j = k -> ((!` M) <_ (!` j) <-> (!` M) <_ (!` k)))
107, 9imbi12d 688 . . . 4 |- (j = k -> (((M e. NN0 /\ M <_ j) -> (!` M) <_ (!` j)) <-> ((M e. NN0 /\ M <_ k) -> (!` M) <_ (!` k))))
11 breq2 3342 . . . . . 6 |- (j = (k + 1) -> (M <_ j <-> M <_ (k + 1)))
1211anbi2d 678 . . . . 5 |- (j = (k + 1) -> ((M e. NN0 /\ M <_ j) <-> (M e. NN0 /\ M <_ (k + 1))))
13 fveq2 4681 . . . . . 6 |- (j = (k + 1) -> (!` j) = (!` (k + 1)))
1413breq2d 3350 . . . . 5 |- (j = (k + 1) -> ((!` M) <_ (!` j) <-> (!` M) <_ (!` (k + 1))))
1512, 14imbi12d 688 . . . 4 |- (j = (k + 1) -> (((M e. NN0 /\ M <_ j) -> (!` M) <_ (!` j)) <-> ((M e. NN0 /\ M <_ (k + 1)) -> (!` M) <_ (!` (k + 1)))))
16 breq2 3342 . . . . . 6 |- (j = N -> (M <_ j <-> M <_ N))
1716anbi2d 678 . . . . 5 |- (j = N -> ((M e. NN0 /\ M <_ j) <-> (M e. NN0 /\ M <_ N)))
18 fveq2 4681 . . . . . 6 |- (j = N -> (!` j) = (!` N))
1918breq2d 3350 . . . . 5 |- (j = N -> ((!` M) <_ (!` j) <-> (!` M) <_ (!` N)))
2017, 19imbi12d 688 . . . 4 |- (j = N -> (((M e. NN0 /\ M <_ j) -> (!` M) <_ (!` j)) <-> ((M e. NN0 /\ M <_ N) -> (!` M) <_ (!` N))))
21 nn0le0eq0 7328 . . . . . . 7 |- (M e. NN0 -> (M <_ 0 <-> M = 0))
2221biimpa 460 . . . . . 6 |- ((M e. NN0 /\ M <_ 0) -> M = 0)
2322fveq2d 4685 . . . . 5 |- ((M e. NN0 /\ M <_ 0) -> (!` M) = (!` 0))
24 fac0 8186 . . . . . . 7 |- (!` 0) = 1
25 1re 6598 . . . . . . 7 |- 1 e. RR
2624, 25eqeltri 1967 . . . . . 6 |- (!` 0) e. RR
2726leidi 6790 . . . . 5 |- (!` 0) <_ (!` 0)
2823, 27syl6eqbr 3374 . . . 4 |- ((M e. NN0 /\ M <_ 0) -> (!` M) <_ (!` 0))
29 leloe 6688 . . . . . . . . . . . 12 |- ((M e. RR /\ (k + 1) e. RR) -> (M <_ (k + 1) <-> (M < (k + 1) \/ M = (k + 1))))
30 nn0re 7317 . . . . . . . . . . . 12 |- (M e. NN0 -> M e. RR)
31 nn0re 7317 . . . . . . . . . . . . 13 |- (k e. NN0 -> k e. RR)
32 peano2re 6599 . . . . . . . . . . . . 13 |- (k e. RR -> (k + 1) e. RR)
3331, 32syl 12 . . . . . . . . . . . 12 |- (k e. NN0 -> (k + 1) e. RR)
3429, 30, 33syl2an 503 . . . . . . . . . . 11 |- ((M e. NN0 /\ k e. NN0) -> (M <_ (k + 1) <-> (M < (k + 1) \/ M = (k + 1))))
35 nn0leltp1 7337 . . . . . . . . . . . . 13 |- ((M e. NN0 /\ k e. NN0) -> (M <_ k <-> M < (k + 1)))
36 faccl 8192 . . . . . . . . . . . . . . . . . . . 20 |- (k e. NN0 -> (!` k) e. NN)
37 nncn 7113 . . . . . . . . . . . . . . . . . . . 20 |- ((!` k) e. NN -> (!` k) e. CC)
38 ax1id 6435 . . . . . . . . . . . . . . . . . . . 20 |- ((!` k) e. CC -> ((!` k) x. 1) = (!` k))
3936, 37, 383syl 24 . . . . . . . . . . . . . . . . . . 19 |- (k e. NN0 -> ((!` k) x. 1) = (!` k))
40 nnre 7112 . . . . . . . . . . . . . . . . . . . . 21 |- ((!` k) e. NN -> (!` k) e. RR)
4136, 40syl 12 . . . . . . . . . . . . . . . . . . . 20 |- (k e. NN0 -> (!` k) e. RR)
42 nnnn0 7315 . . . . . . . . . . . . . . . . . . . . 21 |- ((!` k) e. NN -> (!` k) e. NN0)
43 nn0ge0 7326 . . . . . . . . . . . . . . . . . . . . 21 |- ((!` k) e. NN0 -> 0 <_ (!` k))
4436, 42, 433syl 24 . . . . . . . . . . . . . . . . . . . 20 |- (k e. NN0 -> 0 <_ (!` k))
45 nn0ge0 7326 . . . . . . . . . . . . . . . . . . . . . 22 |- (k e. NN0 -> 0 <_ k)
46 0re 6603 . . . . . . . . . . . . . . . . . . . . . . . 24 |- 0 e. RR
47 leadd1 6808 . . . . . . . . . . . . . . . . . . . . . . . 24 |- ((0 e. RR /\ k e. RR /\ 1 e. RR) -> (0 <_ k <-> (0 + 1) <_ (k + 1)))
4846, 25, 47mp3an13 1182 . . . . . . . . . . . . . . . . . . . . . . 23 |- (k e. RR -> (0 <_ k <-> (0 + 1) <_ (k + 1)))
4931, 48syl 12 . . . . . . . . . . . . . . . . . . . . . 22 |- (k e. NN0 -> (0 <_ k <-> (0 + 1) <_ (k + 1)))
5045, 49mpbid 212 . . . . . . . . . . . . . . . . . . . . 21 |- (k e. NN0 -> (0 + 1) <_ (k + 1))
51 ax1cn 6422 . . . . . . . . . . . . . . . . . . . . . 22 |- 1 e. CC
5251addid2i 6484 . . . . . . . . . . . . . . . . . . . . 21 |- (0 + 1) = 1
5350, 52syl5eqbrr 3371 . . . . . . . . . . . . . . . . . . . 20 |- (k e. NN0 -> 1 <_ (k + 1))
54 lemul2aOLD 7022 . . . . . . . . . . . . . . . . . . . . 21 |- (((1 e. RR /\ (k + 1) e. RR /\ (!` k) e. RR) /\ (0 <_ (!` k) /\ 1 <_ (k + 1))) -> ((!` k) x. 1) <_ ((!` k) x. (k + 1)))
5525, 54mp3anl1 1185 . . . . . . . . . . . . . . . . . . . 20 |- ((((k + 1) e. RR /\ (!` k) e. RR) /\ (0 <_ (!` k) /\ 1 <_ (k + 1))) -> ((!` k) x. 1) <_ ((!` k) x. (k + 1)))
5633, 41, 44, 53, 55syl22anc 1101 . . . . . . . . . . . . . . . . . . 19 |- (k e. NN0 -> ((!` k) x. 1) <_ ((!` k) x. (k + 1)))
5739, 56eqbrtrrd 3359 . . . . . . . . . . . . . . . . . 18 |- (k e. NN0 -> (!` k) <_ ((!` k) x. (k + 1)))
58 facp1 8188 . . . . . . . . . . . . . . . . . 18 |- (k e. NN0 -> (!` (k + 1)) = ((!` k) x. (k + 1)))
5957, 58breqtrrd 3363 . . . . . . . . . . . . . . . . 17 |- (k e. NN0 -> (!` k) <_ (!` (k + 1)))
6059adantl 424 . . . . . . . . . . . . . . . 16 |- ((M e. NN0 /\ k e. NN0) -> (!` k) <_ (!` (k + 1)))
61 faccl 8192 . . . . . . . . . . . . . . . . . . 19 |- (M e. NN0 -> (!` M) e. NN)
62 nnre 7112 . . . . . . . . . . . . . . . . . . 19 |- ((!` M) e. NN -> (!` M) e. RR)
6361, 62syl 12 . . . . . . . . . . . . . . . . . 18 |- (M e. NN0 -> (!` M) e. RR)
6463adantr 425 . . . . . . . . . . . . . . . . 17 |- ((M e. NN0 /\ k e. NN0) -> (!` M) e. RR)
6541adantl 424 . . . . . . . . . . . . . . . . 17 |- ((M e. NN0 /\ k e. NN0) -> (!` k) e. RR)
66 peano2nn0 7333 . . . . . . . . . . . . . . . . . . 19 |- (k e. NN0 -> (k + 1) e. NN0)
67 faccl 8192 . . . . . . . . . . . . . . . . . . 19 |- ((k + 1) e. NN0 -> (!` (k + 1)) e. NN)
68 nnre 7112 . . . . . . . . . . . . . . . . . . 19 |- ((!` (k + 1)) e. NN -> (!` (k + 1)) e. RR)
6966, 67, 683syl 24 . . . . . . . . . . . . . . . . . 18 |- (k e. NN0 -> (!` (k + 1)) e. RR)
7069adantl 424 . . . . . . . . . . . . . . . . 17 |- ((M e. NN0 /\ k e. NN0) -> (!` (k + 1)) e. RR)
71 letr 6695 . . . . . . . . . . . . . . . . 17 |- (((!` M) e. RR /\ (!` k) e. RR /\ (!` (k + 1)) e. RR) -> (((!` M) <_ (!` k) /\ (!` k) <_ (!` (k + 1))) -> (!` M) <_ (!` (k + 1))))
7264, 65, 70, 71syl111anc 1100 . . . . . . . . . . . . . . . 16 |- ((M e. NN0 /\ k e. NN0) -> (((!` M) <_ (!` k) /\ (!` k) <_ (!` (k + 1))) -> (!` M) <_ (!` (k + 1))))
7360, 72mpan2d 766 . . . . . . . . . . . . . . 15 |- ((M e. NN0 /\ k e. NN0) -> ((!` M) <_ (!` k) -> (!` M) <_ (!` (k + 1))))
7473imim2d 28 . . . . . . . . . . . . . 14 |- ((M e. NN0 /\ k e. NN0) -> ((M <_ k -> (!` M) <_ (!` k)) -> (M <_ k -> (!` M) <_ (!` (k + 1)))))
7574com23 36 . . . . . . . . . . . . 13 |- ((M e. NN0 /\ k e. NN0) -> (M <_ k -> ((M <_ k -> (!` M) <_ (!` k)) -> (!` M) <_ (!` (k + 1)))))
7635, 75sylbird 222 . . . . . . . . . . . 12 |- ((M e. NN0 /\ k e. NN0) -> (M < (k + 1) -> ((M <_ k -> (!` M) <_ (!` k)) -> (!` M) <_ (!` (k + 1)))))
77 leid 6701 . . . . . . . . . . . . . . . 16 |- ((!` M) e. RR -> (!` M) <_ (!` M))
78 breq2 3342 . . . . . . . . . . . . . . . . 17 |- ((!` M) = (!` (k + 1)) -> ((!` M) <_ (!` M) <-> (!` M) <_ (!` (k + 1))))
7978biimpcd 172 . . . . . . . . . . . . . . . 16 |- ((!` M) <_ (!` M) -> ((!` M) = (!` (k + 1)) -> (!` M) <_ (!` (k + 1))))
8063, 77, 793syl 24 . . . . . . . . . . . . . . 15 |- (M e. NN0 -> ((!` M) = (!` (k + 1)) -> (!` M) <_ (!` (k + 1))))
81 fveq2 4681 . . . . . . . . . . . . . . 15 |- (M = (k + 1) -> (!` M) = (!` (k + 1)))
8280, 81syl5 20 . . . . . . . . . . . . . 14 |- (M e. NN0 -> (M = (k + 1) -> (!` M) <_ (!` (k + 1))))
8382adantr 425 . . . . . . . . . . . . 13 |- ((M e. NN0 /\ k e. NN0) -> (M = (k + 1) -> (!` M) <_ (!` (k + 1))))
8483a1dd 53 . . . . . . . . . . . 12 |- ((M e. NN0 /\ k e. NN0) -> (M = (k + 1) -> ((M <_ k -> (!` M) <_ (!` k)) -> (!` M) <_ (!` (k + 1)))))
8576, 84jaod 469 . . . . . . . . . . 11 |- ((M e. NN0 /\ k e. NN0) -> ((M < (k + 1) \/ M = (k + 1)) -> ((M <_ k -> (!` M) <_ (!` k)) -> (!` M) <_ (!` (k + 1)))))
8634, 85sylbid 220 . . . . . . . . . 10 |- ((M e. NN0 /\ k e. NN0) -> (M <_ (k + 1) -> ((M <_ k -> (!` M) <_ (!` k)) -> (!` M) <_ (!` (k + 1)))))
8786ex 402 . . . . . . . . 9 |- (M e. NN0 -> (k e. NN0 -> (M <_ (k + 1) -> ((M <_ k -> (!` M) <_ (!` k)) -> (!` M) <_ (!` (k + 1))))))
8887com13 37 . . . . . . . 8 |- (M <_ (k + 1) -> (k e. NN0 -> (M e. NN0 -> ((M <_ k -> (!` M) <_ (!` k)) -> (!` M) <_ (!` (k + 1))))))
8988com4l 43 . . . . . . 7 |- (k e. NN0 -> (M e. NN0 -> ((M <_ k -> (!` M) <_ (!` k)) -> (M <_ (k + 1) -> (!` M) <_ (!` (k + 1))))))
9089a2d 16 . . . . . 6 |- (k e. NN0 -> ((M e. NN0 -> (M <_ k -> (!` M) <_ (!` k))) -> (M e. NN0 -> (M <_ (k + 1) -> (!` M) <_ (!` (k + 1))))))
9190imp4a 391 . . . . 5 |- (k e. NN0 -> ((M e. NN0 -> (M <_ k -> (!` M) <_ (!` k))) -> ((M e. NN0 /\ M <_ (k + 1)) -> (!` M) <_ (!` (k + 1)))))
92 impexp 374 . . . . 5 |- (((M e. NN0 /\ M <_ k) -> (!` M) <_ (!` k)) <-> (M e. NN0 -> (M <_ k -> (!` M) <_ (!` k))))
9391, 92syl5ib 223 . . . 4 |- (k e. NN0 -> (((M e. NN0 /\ M <_ k) -> (!` M) <_ (!` k)) -> ((M e. NN0 /\ M <_ (k + 1)) -> (!` M) <_ (!` (k + 1)))))
945, 10, 15, 20, 28, 93nn0ind 7424 . . 3 |- (N e. NN0 -> ((M e. NN0 /\ M <_ N) -> (!` M) <_ (!` N)))
95943impib 1065 . 2 |- ((N e. NN0 /\ M e. NN0 /\ M <_ N) -> (!` M) <_ (!` N))
96953com12 1071 1 |- ((M e. NN0 /\ N e. NN0 /\ M <_ N) -> (!` M) <_ (!` N))
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 163   \/ wo 239   /\ wa 240   /\ w3a 858   = wceq 1298   e. wcel 1300   class class class wbr 3338  ` cfv 3998  (class class class)co 4884  CCcc 6384  RRcr 6385  0cc0 6386  1c1 6387   + caddc 6389   x. cmul 6391   <_ cle 6448  NNcn 6449  NN0cn0 6450   < clt 6653  !cfa 8183
This theorem is referenced by:  facavg 8207  efaddlem15 8614
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
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-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-seq1 7721  df-fac 8184
Copyright terms: Public domain