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

Theorem facavgt 6907
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 6001 . . 3 |- ((M e. RR /\ N e. RR) -> (((M + N) / 2) <_ M \/ ((M + N) / 2) <_ N))
2 nn0ret 6065 . . 3 |- (M e. NN0 -> M e. RR)
3 nn0ret 6065 . . 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 6077 . . . . . . . 8 |- ((M e. NN0 /\ N e. NN0) -> (M + N) e. NN0)
6 nn0ret 6065 . . . . . . . 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 5991 . . . . . . 7 |- ((M + N) e. RR -> ((M + N) / 2) e. RR)
9 fllet 6187 . . . . . . 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 5508 . . . . . . 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 flreclt 6185 . . . . . . . 8 |- (((M + N) / 2) e. RR -> (|_` ((M + N) / 2)) e. RR)
137, 8, 123syl 20 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> (|_` ((M + N) / 2)) e. RR)
145, 6, 83syl 20 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> ((M + N) / 2) e. RR)
152adantr 389 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> M e. RR)
1611, 13, 14, 15syl3anc 857 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> (((|_` ((M + N) / 2)) <_ ((M + N) / 2) /\ ((M + N) / 2) <_ M) -> (|_` ((M + N) / 2)) <_ M))
1710, 16mpand 700 . . . . 5 |- ((M e. NN0 /\ N e. NN0) -> (((M + N) / 2) <_ M -> (|_` ((M + N) / 2)) <_ M))
18 facwordit 6896 . . . . . . 7 |- (((|_` ((M + N) / 2)) e. NN0 /\ M e. NN0 /\ (|_` ((M + N) / 2)) <_ M) -> (!` (|_` ((M + N) / 2))) <_ (!` M))
19183exp 831 . . . . . 6 |- ((|_` ((M + N) / 2)) e. NN0 -> (M e. NN0 -> ((|_` ((M + N) / 2)) <_ M -> (!` (|_` ((M + N) / 2))) <_ (!` M))))
20 flge0nn0t 6197 . . . . . . 7 |- ((((M + N) / 2) e. RR /\ 0 <_ ((M + N) / 2)) -> (|_` ((M + N) / 2)) e. NN0)
21 nn0ge0t 6074 . . . . . . . . 9 |- ((M + N) e. NN0 -> 0 <_ (M + N))
225, 21syl 10 . . . . . . . 8 |- ((M e. NN0 /\ N e. NN0) -> 0 <_ (M + N))
23 halfnneg2t 5995 . . . . . . . . 9 |- ((M + N) e. RR -> (0 <_ (M + N) <-> 0 <_ ((M + N) / 2)))
245, 6, 233syl 20 . . . . . . . 8 |- ((M e. NN0 /\ N e. NN0) -> (0 <_ (M + N) <-> 0 <_ ((M + N) / 2)))
2522, 24mpbid 195 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> 0 <_ ((M + N) / 2))
2620, 14, 25sylanc 471 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> (|_` ((M + N) / 2)) e. NN0)
27 pm3.26 319 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> M e. NN0)
2819, 26, 27sylc 68 . . . . 5 |- ((M e. NN0 /\ N e. NN0) -> ((|_` ((M + N) / 2)) <_ M -> (!` (|_` ((M + N) / 2))) <_ (!` M)))
2917, 28syld 27 . . . 4 |- ((M e. NN0 /\ N e. NN0) -> (((M + N) / 2) <_ M -> (!` (|_` ((M + N) / 2))) <_ (!` M)))
30 facclt 6892 . . . . . . . 8 |- (M e. NN0 -> (!` M) e. NN)
31 nncnt 5888 . . . . . . . 8 |- ((!` M) e. NN -> (!` M) e. CC)
32 ax1id 5265 . . . . . . . 8 |- ((!` M) e. CC -> ((!` M) x. 1) = (!` M))
3330, 31, 323syl 20 . . . . . . 7 |- (M e. NN0 -> ((!` M) x. 1) = (!` M))
3433adantr 389 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> ((!` M) x. 1) = (!` M))
35 1re 5418 . . . . . . . 8 |- 1 e. RR
36 lemul2itOLD 5806 . . . . . . . 8 |- (((1 e. RR /\ (!` N) e. RR /\ (!` M) e. RR) /\ (0 <_ (!` M) /\ 1 <_ (!` N))) -> ((!` M) x. 1) <_ ((!` M) x. (!` N)))
3735, 36mp3anl1 909 . . . . . . 7 |- ((((!` N) e. RR /\ (!` M) e. RR) /\ (0 <_ (!` M) /\ 1 <_ (!` N))) -> ((!` M) x. 1) <_ ((!` M) x. (!` N)))
38 facclt 6892 . . . . . . . . . 10 |- (N e. NN0 -> (!` N) e. NN)
39 nnret 5887 . . . . . . . . . 10 |- ((!` N) e. NN -> (!` N) e. RR)
4038, 39syl 10 . . . . . . . . 9 |- (N e. NN0 -> (!` N) e. RR)
41 nnret 5887 . . . . . . . . . 10 |- ((!` M) e. NN -> (!` M) e. RR)
4230, 41syl 10 . . . . . . . . 9 |- (M e. NN0 -> (!` M) e. RR)
4340, 42anim12i 333 . . . . . . . 8 |- ((N e. NN0 /\ M e. NN0) -> ((!` N) e. RR /\ (!` M) e. RR))
4443ancoms 436 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> ((!` N) e. RR /\ (!` M) e. RR))
45 nnnn0t 6063 . . . . . . . . 9 |- ((!` M) e. NN -> (!` M) e. NN0)
46 nn0ge0t 6074 . . . . . . . . 9 |- ((!` M) e. NN0 -> 0 <_ (!` M))
4730, 45, 463syl 20 . . . . . . . 8 |- (M e. NN0 -> 0 <_ (!` M))
48 nnge1t 5901 . . . . . . . . 9 |- ((!` N) e. NN -> 1 <_ (!` N))
4938, 48syl 10 . . . . . . . 8 |- (N e. NN0 -> 1 <_ (!` N))
5047, 49anim12i 333 . . . . . . 7 |- ((M e. NN0 /\ N e. NN0) -> (0 <_ (!` M) /\ 1 <_ (!` N)))
5137, 44, 50sylanc 471 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> ((!` M) x. 1) <_ ((!` M) x. (!` N)))
5234, 51eqbrtrrd 2633 . . . . 5 |- ((M e. NN0 /\ N e. NN0) -> (!` M) <_ ((!` M) x. (!` N)))
53 letrt 5508 . . . . . 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))))
54 facclt 6892 . . . . . . 7 |- ((|_` ((M + N) / 2)) e. NN0 -> (!` (|_` ((M + N) / 2))) e. NN)
55 nnret 5887 . . . . . . 7 |- ((!` (|_` ((M + N) / 2))) e. NN -> (!` (|_` ((M + N) / 2))) e. RR)
5626, 54, 553syl 20 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> (!` (|_` ((M + N) / 2))) e. RR)
5742adantr 389 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> (!` M) e. RR)
58 axmulrcl 5257 . . . . . . 7 |- (((!` M) e. RR /\ (!` N) e. RR) -> ((!` M) x. (!` N)) e. RR)
5958, 42, 40syl2an 454 . . . . . 6 |- ((M e. NN0 /\ N e. NN0) -> ((!` M) x. (!` N)) e. RR)
6053, 56, 57, 59syl3anc 857 . . . . 5 |- ((M e. NN0 /\ N e. NN0) -> (((!` (|_` ((M + N) / 2))) <_ (!` M) /\ (!` M) <_ ((!` M) x. (!` N))) -> (!` (|_` ((M + N) / 2))) <_ ((!` M)