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

Theorem facavgt 6892
Description: The product of two factorials is greater than or equal to the factorial of (the floor of) their average.
Assertion
Ref Expression
facavgt |- ((M e. NN0 /\ N e. NN0) -> (!` (|_` ((M + N) / 2))) <_ ((!` M) x. (!` N)))

Proof of Theorem facavgt
StepHypRef Expression
1 avglet 5991 . . 3 |- ((M e. RR /\ N e. RR) -> (((M + N) / 2) <_ M \/ ((M + N) / 2) <_ N))
2 nn0ret 6055 . . 3 |- (M e. NN0 -> M e. RR)
3 nn0ret 6055 . . 3 |- (N e. NN0 -> N e. RR)
41, 2, 3syl2an 454 . 2 |- ((M e. NN0 /\ N e. NN0) -> (((M + N) / 2) <_ M \/ ((M + N) / 2) <_ N))
5 nn0addclt 6067 . . . . . . . 8 |- ((M e. NN0 /\ N e. NN0) -> (M + N) e. NN0)
6 nn0ret 6055 . . . . . . . 8 |- ((M + N) e. NN0 -> (M + N) e. RR)
75, 6syl 10 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> (M + N) e. RR)
8 rehalfclt 5981 . . . . . . 7 |- ((M + N) e. RR -> ((M + N) / 2) e. RR)
9 fllet 6176 . . . . . . 7 |- (((M + N) / 2) e. RR -> (|_` ((M + N) / 2)) <_ ((M + N) / 2))
107, 8, 93syl 20 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> (|_` ((M + N) / 2)) <_ ((M + N) / 2))
11 letrt 5498 . . . . . . 7 |- (((|_` ((M + N) / 2)) e. RR /\ ((M + N) / 2) e. RR /\ M e. RR) -> (((|_` ((M + N) / 2)) <_ ((M + N) / 2) /\ ((M + N) / 2) <_ M) -> (|_` ((M + N) / 2)) <_ M))
12 flclt 6174 . . . . . . . . 9 |- (((M + N) / 2) e. RR -> (|_` ((M + N) / 2)) e. ZZ)
13 zret 6086 . . . . . . . . 9 |- ((|_` ((M + N) / 2)) e. ZZ -> (|_` ((M + N) / 2)) e. RR)
1412, 13syl 10 . . . . . . . 8 |- (((M + N) / 2) e. RR -> (|_` ((M + N) / 2)) e. RR)
157, 8, 143syl 20 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> (|_` ((M + N) / 2)) e. RR)
165, 6, 83syl 20 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> ((M + N) / 2) e. RR)
172adantr 389 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> M e. RR)
1811, 15, 16, 17syl3anc 856 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> (((|_` ((M + N) / 2)) <_ ((M + N) / 2) /\ ((M + N) / 2) <_ M) -> (|_` ((M + N) / 2)) <_ M))
1910, 18mpand 699 . . . . 5 |- ((M e. NN0 /\ N e. NN0) -> (((M + N) / 2) <_ M -> (|_` ((M + N) / 2)) <_ M))
20 facwordit 6881 . . . . . . 7 |- (((|_` ((M + N) / 2)) e. NN0 /\ M e. NN0 /\ (|_` ((M + N) / 2)) <_ M) -> (!` (|_` ((M + N) / 2))) <_ (!` M))
21203exp 830 . . . . . 6 |- ((|_` ((M + N) / 2)) e. NN0 -> (M e. NN0 -> ((|_` ((M + N) / 2)) <_ M -> (!` (|_` ((M + N) / 2))) <_ (!` M))))
22 flge0nn0t 6185 . . . . . . 7 |- ((((M + N) / 2) e. RR /\ 0 <_ ((M + N) / 2)) -> (|_` ((M + N) / 2)) e. NN0)
23 nn0ge0t 6064 . . . . . . . . 9 |- ((M + N) e. NN0 -> 0 <_ (M + N))
245, 23syl 10 . . . . . . . 8 |- ((M e. NN0 /\ N e. NN0) -> 0 <_ (M + N))
25 halfnneg2t 5985 . . . . . . . . 9 |- ((M + N) e. RR -> (0 <_ (M + N) <-> 0 <_ ((M + N) / 2)))
265, 6, 253syl 20 . . . . . . . 8 |- ((M e. NN0 /\ N e. NN0) -> (0 <_ (M + N) <-> 0 <_ ((M + N) / 2)))
2724, 26mpbid 195 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> 0 <_ ((M + N) / 2))
2822, 16, 27sylanc 471 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> (|_` ((M + N) / 2)) e. NN0)
29 pm3.26 319 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> M e. NN0)
3021, 28, 29sylc 68 . . . . 5 |- ((M e. NN0 /\ N e. NN0) -> ((|_` ((M + N) / 2)) <_ M -> (!` (|_` ((M + N) / 2))) <_ (!` M)))
3119, 30syld 27 . . . 4 |- ((M e. NN0 /\ N e. NN0) -> (((M + N) / 2) <_ M -> (!` (|_` ((M + N) / 2))) <_ (!` M)))
32 facclt 6877 . . . . . . . 8 |- (M e. NN0 -> (!` M) e. NN)
33 nncnt 5878 . . . . . . . 8 |- ((!` M) e. NN -> (!` M) e. CC)
34 ax1id 5254 . . . . . . . 8 |- ((!` M) e. CC -> ((!` M) x. 1) = (!` M))
3532, 33, 343syl 20 . . . . . . 7 |- (M e. NN0 -> ((!` M) x. 1) = (!` M))
3635adantr 389 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> ((!` M) x. 1) = (!` M))
37 1re 5407 . . . . . . . 8 |- 1 e. RR
38 lemul2itOLD 5796 . . . . . . . 8 |- (((1 e. RR /\ (!` N) e. RR /\ (!` M) e. RR) /\ (0 <_ (!` M) /\ 1 <_ (!` N))) -> ((!` M) x. 1) <_ ((!` M) x. (!` N)))
3937, 38mp3anl1 907 . . . . . . 7 |- ((((!` N) e. RR /\ (!` M) e. RR) /\ (0 <_ (!` M) /\ 1 <_ (!` N))) -> ((!` M) x. 1) <_ ((!` M) x. (!` N)))
40 facclt 6877 . . . . . . . . . 10 |- (N e. NN0 -> (!` N) e. NN)
41 nnret 5877 . . . . . . . . . 10 |- ((!` N) e. NN -> (!` N) e. RR)
4240, 41syl 10 . . . . . . . . 9 |- (N e. NN0 -> (!` N) e. RR)
43 nnret 5877 . . . . . . . . . 10 |- ((!` M) e. NN -> (!` M) e. RR)
4432, 43syl 10 . . . . . . . . 9 |- (M e. NN0 -> (!` M) e. RR)
4542, 44anim12i 333 . . . . . . . 8 |- ((N e. NN0 /\ M e. NN0) -> ((!` N) e. RR /\ (!` M) e. RR))
4645ancoms 436 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> ((!` N) e. RR /\ (!` M) e. RR))
47 nnnn0t 6053 . . . . . . . . 9 |- ((!` M) e. NN -> (!` M) e. NN0)
48 nn0ge0t 6064 . . . . . . . . 9 |- ((!` M) e. NN0 -> 0 <_ (!` M))
4932, 47, 483syl 20 . . . . . . . 8 |- (M e. NN0 -> 0 <_ (!` M))
50 nnge1t 5891 . . . . . . . . 9 |- ((!` N) e. NN -> 1 <_ (!` N))
5140, 50syl 10 . . . . . . . 8 |- (N e. NN0 -> 1 <_ (!` N))
5249, 51anim12i 333 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> (0 <_ (!` M) /\ 1 <_ (!` N)))
5339, 46, 52sylanc 471 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> ((!` M) x. 1) <_ ((!` M) x. (!` N)))
5436, 53eqbrtrrd 2627 . . . . 5 |- ((M e. NN0 /\ N e. NN0) -> (!` M) <_ ((!` M) x. (!` N)))
55 letrt 5498 . . . . . 6 |- (((!` (|_` ((M + N) / 2))) e. RR /\ (!` M) e. RR /\ ((!` M) x. (!` N)) e. RR) -> (((!` (|_` ((M + N) / 2))) <_ (!` M) /\ (!` M) <_ ((!` M) x. (!` N))) -> (!` (|_` ((M + N) / 2))) <_ ((!` M) x. (!` N))))
56 facclt 6877 . . . . . . 7 |- ((|_` ((M + N) / 2)) e. NN0 -> (!` (|_` ((M + N) / 2))) e. NN)
57 nnret 5877 . . . . . . 7 |- ((!` (|_` ((M + N) / 2))) e. NN -> (!` (|_` ((M + N) / 2))) e. RR)
5828, 56, 573syl 20 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> (!` (|_` ((M + N) / 2))) e. RR)
5944adantr 389 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> (!` M) e. RR)
60 axmulrcl 5246 . . . . . . 7 |- (((!` M) e. RR /\ (!` N) e. RR) -> ((!` M) x. (!` N)) e. RR)
6160, 44, 42syl2an 454 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> ((!` M) x. (!` N)) e. RR)
6255, 58, 59, 61syl3anc 856 . . . . 5 |- ((M e. NN0 /\ N e.