I am trying to learn discrete mathematics on my own and have been reading Rosen's discrete math textbook, there is one step in his proof that I do not understand.  Where $&lt;2*k!$ becomes $(K + 1)K!$  he states that $2 &lt; k + 1$ but how is he determining that?  I have attached an image of the proof for viewers to see exactly, it is the second last line of the inequalities.
Im trying to solve the following question         In the second step  where do they get $k!=2^k-1?$
Ubuntu 17.10 and later: can't change the input switching shortcut to alt+shift When I try to set the default combo for switching to different language layouts in my keyboard from Shift+Super+Space to Alt+Shift I can't.  I used to have this combo since Ubuntu 14 and even before that when I used to have Windows. Now for some stupid reason it does not allow (actually nothing happens its not like I get an error or the combo is used elsewhere). How could I bypass this bug? I want to calculate the derivative of $|x|^\alpha$ with respect to $x$, where $1&lt;\alpha&lt;2$.  $\frac{d|x|^\alpha}{dx}=\alpha|x|^{\alpha-1}\mathrm{sign}(x)$  Is it correct?  And is it true that  $\lim_{x \to 0} \alpha|x|^\alpha\mathrm{sign}(x)=0$?  What with the following derivative $|x|^\alpha\rm{sign}(x)$. I would be grateful for any hints. when does a functor map products into products? I often end up issuing complex commands over ssh; these commands involve piping to awk or perl one-lines, and as a result contain single quotes and $'s.  I have neither been able to figure out a hard and fast rule to do the quoting properly, nor found a good reference for it.  For instance, consider the following:  # what I'd run locally: CMD='pgrep -fl java | grep -i datanode | awk '{print $1}' # this works with ssh $host "$CMD": CMD='pgrep -fl java | grep -i datanode | awk '"'"'{print $1}'"'"   (Note the extra quotes in the awk statement.)  But how do I get this to work with, e.g. ssh $host "sudo su user -c '$CMD'"?  Is there a general recipe for managing quotes in such scenarios?.. How do I SSH to machine A via B in one command? I had booked a ticket for travel through Indian Railways using IRCTC and got a confirmed ticket. While booking, I forgot to mention the details of a one year old child who will also be traveling.     Will it create any problem while boarding the train? How to prove the midpoint of a chord is also the midpoint of the line segment defined by the points of intersection of other two chords with it? Inadvertent use of = instead of == It seems that   if (x=y) { .... }   instead of  if (x==y) { ... }    is a root of many evils.  Why don't all compilers mark it as error instead of a configurable warning?  I'm interested in finding out cases where the construct if (x=y) is useful. One frequent aspect of pdflatex output that could be improved is to what extent one can select text output from the generated pdf-file and copy-and-paste it. This is essentially an issue of having the right output encoding. There are at least two important aspects to this:   In the ideal case, Unicode would be the output encoding. Ligature glyphs (such as ﬁ) are ideally de-ligated in the output (here: "fi").   It seems that output encodings are specified through the fontenc package. What is the range of possible output encodings, and most importantly: Is there a way to specify a Unicode output encoding and one that deals with ligatures in the intended way?  (Note: It is important to distinguish output from input encodings. How to use different input encodings in LaTeX has been documented widely. My understanding is that this is best handled by the inputenx package, as it supersedes the inputenc package.)    Quick guide to the solutions: The information in the answers and answer threads is a bit distributed, so here the short summary: one approach is to use \input glyphtounicode together with \pdfgentounicode=1; the other approach is to use cmap/mmap.  Addendum: Sometimes one will need to load the package accsupp and enclose one's macro definition in \BeginAccSupp{method=hex,unicode,ActualText=&lt;codepoint&gt;}[...]\EndAccSupp{} to generate a specific code point. See the caveat about non-BMP code points  and the fix (starting from accsupp version v0.4, 2012/11/18) , which provides the new unichar package option. Proof that the irrational numbers are uncountable iPhone 6s with iOS 12.4 not connecting to MacBook Pro mid2015 with macOS 10.14.6 I am using an iPhone 6s with iOS 12.4 and a MacBook Pro mid2015 with macOS 10.14.6. Since recently (I am not exactly sure when it started), I cannot charge the phone with my computer anymore. As soon as I plug the phone in, it will play the charging sound repeatedly. The right-hand side port sometimes works, the lefthand side port never works. When I connect my old iPhone 5 (using the same cable), it charges without any issues. My iPad mini 4 shows the same issue.  Sometimes the "Do you trust this computer" setting flashes on the phone and disappears before I can click anything.   How can I fix this?  Update 1  Sometimes I get the Software Update dialogue in macOS. After approx. 2 minutes it shows the following:     Update 2  For some reason the issue disappeared for a while but is back now. Disabling "Settings" > "Touch ID &amp; Passcode" > "USB Accessoires" seems like it makes the problem a bit less bad, but not go away.  Update 3  This is driving me crazy. I upgraded to Mojave 10.14.3 mostly to get rid of the issue. It persists. Some more random information: Before logging in (Filevault pre-boot authentication), the phone will charge fine. Only when a user account is loaded, the issue appears. The likelihood of a successful connection increases with the battery state of the iPhone. Workaround 2 in my answer below suggest that this a "Trust issue" from the iPhone's side. I suppose the solution will have to be hidden somewhere there...    What I tried so far (will update):   Reset Privacy settings on iPhone Different (original, almost new Apple) lightning cables   Remove and add "iPhone USB" in Network Settings  SMC reset (), PRAM reset Upgrade to latest iOS 12.4 and MacOS 10.14.6 Is there a way for me to bind a key that will allow multiple units in my control group to all use the same spell at once?  For example, if I have 3 centaurs as chen, and I have them all selected. Can I press one key to make them all warstomp at the same time?   Or if I have 3 familiars as Visage. When I have all three selected, is there a button I can press to have them all stun at the same time? I have forgotten my Facebook account password and also I have no access to the number which I use to log-in to Facebook account.   On this page (see the image below) they are asking for a government photo-ID to verify my account. The problem is that I don't have a driving license, voter ID card, passport etc. All I have is a school ID card but that hasn't worked for me. Is there any other way to recover my password? How do I change which audio jacks are used for input and output? I'm using a Realtek HD audio card built-in my motherboard. The Windows driver comes with a control panel that allows me to select which back panel jacks are used for what. So for example I can make both the blue jack and green jack for output and only the red one for mic-in. (Whereas by default, the blue jack is for line in, which I never need.)  How can I do the same under Linux? If possible, please don't suggest something that involves PulseAudio or JACK; I'd like to do it the plain way, e.g. by editing ALSA configuration files, if possible. The way I understand it, my problem should have nothing to do with software servers redirecting streams, just instructing the driver to treat this jack as so and so because it's hardware supported.  Thank you very much! Why is there this strange contradiction between the language of logic and that of set theory? In standard probability theory events are represented by sets consisting of elementary events. Consider two events for which (as sets) $A \subset B$. If an elementary event $x \in A$ takes places then we say that $B$ takes place as well. Since $A \subset B$, $x \in A$ implies that $B$ takes place too.  It seems that when for sets (representing events) $$A \subset B$$ $$then \ A \ implies \ B .$$  On the other hand, if we use the language of logic for the events then $$A \supset B$$ $$ \ means\  that \ A\  implies\ B .$$  Why is this strange virtual contradiction between the language of sets and the language of logic?  (In order to avoid down votes and unplesant comments I reveal that I happen to know that the true translation of the sentence $A \supset B$ of logic to the language of sets (representing events) is $\overline{A \cap \overline B}$.) I'm using using algorithm2e package with the following settings:  \usepackage[ruled,vlined,linesnumbered,noresetcount]{algorithm2e}   But for some subset of algorithms in the same document, I want to use this setting:  \usepackage[boxed]{algorithm2e}   Is there a way to override the default setting just for a subset?  I found a similar question:  Here newenvironment is used to override the default setting of an option. But I want to override the option itself.  I wish there was a way to load a package several times with different options for each instance. GNOME: supend on laptop lid close no longer works since 19.10 upgrade I'm quite positive that this used to work flawlessly in 19.04 (and past releases) but no longer does after a release-upgrade to 19.10 (kernel 5.3.0-24, ThinkPad X1 Carbon gen 5 in case this matters).  I have the corresponding switch set in GNOME-Tweaks and have also attempted to manually edit /etc/systemd/logind.conf as suggested , namely uncomment and adjust the following lines, followed by a reboot:  $ grep -v '^#' /etc/systemd/logind.conf [Login] HandleLidSwitch=suspend HandleLidSwitchExternalPower=suspend HandleLidSwitchDocked=suspend LidSwitchIgnoreInhibited=yes   (strictly speaking, only the first one ought to be required but, just in case, I also added lines 2 &amp; 3, as well as #4 for good measure...  Looking at the output of systemctl status systemd-logind, I see the following:  Dec 17 17:56:50 x1c5 systemd-logind[8959]: Lid closed. Dec 17 17:57:03 x1c5 systemd-logind[8959]: Lid opened.   So the lid events are correctly detected.  To rule out any issue with the suspend process itself, I have also set my power button to suspend in Settings->Power->Suspend &amp; Power Button, for testing purposes.  Pressing the power button now results in this in the output of systemctl status systemd-logind (after a successful suspend-resume cycle):  Dec 17 18:13:58 x1c5 systemd-logind[8959]: Power key pressed. Dec 17 18:14:28 x1c5 systemd-logind[8959]: Delay lock is active (UID 121/gdm, PID 9215/gsd-power) but inhibitor timeout is reached. Dec 17 18:14:39 x1c5 systemd-logind[8959]: Operation 'sleep' finished.   Bottom line: lid events are detected correctly and suspend works flawlessly - but not on lid close...  Any idea how I can get the suspend on lid-close feature back to life?  I can of course use the workaround with the power button but it's a little too easy to forget and result in laptop overheating in bag etc...  --- edited to add ---  Got a little further courtesy of , although the issue isn't the exactly as described.  Here's a smoking gun:  $ systemd-inhibit --list --mode=block WHO       UID  USER      PID  COMM           WHAT                                                     WHY                                                         MODE  gdm       121  gdm       2231 gsd-power      handle-lid-switch                                        External monitor attached or configuration changed recently block gdm       121  gdm       2252 gsd-media-keys handle-power-key:handle-suspend-key:handle-hibernate-key GNOME handling keypresses                                   block user      1000 user      3017 gsd-media-keys handle-power-key:handle-suspend-key:handle-hibernate-key GNOME handling keypresses                                   block   This suggests that the lid close action is being blocked because "External monitor attached or configuration changed recently".  I do connect my laptop to a monitor using a USB-C cable but as I write this, it's been undocked and running on batteries for nearly 3 hours (GNOME settings only shows my laptop display as available).  However it looks like systemd or whichever component is responsible for this still incorrectly believes the external display is attached and - per the ticket - suspend isn't supported by GNOME in such scenarios...  Interestingly the gsd-power process (PID 2231) is owned by gdm rather than my UID.  Killing it restores the suspend-on-lid-close functionality.  Need to figure out why this process exists... When actually connected to external display, systemd-inhibit --list --mode=block reports a 2nd gsd-power process owned by the interactive user; which appears correct and sufficient. List AppDomains in Process How do I create a line graph which ignores zero values? I want to create a graph showing trends over time, calculated from a formula of various data.  However, some data is missing, resulting in zeroes in the calculated data which the chart uses.  When plotting this data against as a line graph, it's drawing a line down to the axis, which I don't want.  I'd like either a gap in the line, or skip the data point and draw from directly previous to next.  i.e. given this data:  00.0    61.6    39.5    74.6    86.8    72.0    66.5    99.5    85.6    80.6    95.0    122.4 81.0    83.1    88.2    00.0    94.3    60.5    00.0    99.5    95.8    86.2    00.0    111.4 84.1    110.8   78.9    62.0    75.9    102.2   89.9    87.1    81.6    73.5    00.0    116.9   All the 00.0 items mean "no data", so I'd like them ignored (not treated as 0 value).   This is the chart I currently have:   This is how I'd like the chart to come out:   Again, I don't mind if the dotted lines are blank or solid, so long as they don't go down to zero.  The data is dynamic/calculated, so I can't just say =AVERAGE(prev,next) since I don't know where missing data will occur in advance - I need a solution which takes this into account.  Any ideas? I am new to Game Development, All I have developed is some 2d Games, using Game Maker by . There game development is much more easy, just as simple as Drag and Drop. But, Now I wish to evolve in Game Development, and wanna try some hands with the common programming languages like, Java, C++ or C. In order to achieve this, I came around the first topic, Game Engine. So, What is Game Engine.? That is a broad question, with various answers. I came out with some conclusion after reading various links,  Wikipedia: A game engine is a system designed for the creation and development of video games. The core functionality typically provided by a game engine includes a rendering engine for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, and a scene graph.  It exists to abstract the (sometime platform-dependent) details of doing common game-related tasks, like rendering, physics, and input, so that developers (artists, designers, scripters and, yes, even other programmers) can focus on the details that make their games unique. Engines offer reusable components that can be manipulated to bring a game to life. Loading, displaying, and animating models, collision detection between objects, physics, input, graphical user interfaces, and even portions of a game's artificial intelligence can all be components that make up the engine.  Now what I understand is, Game Engine takes care of all the common work, like physics, loading etc... As far my question is concerned, what is a Game Engine (Programmatically)? Is it a Library? With pre-defined functions and classes, which can be inherited? Or what so ever, what is it?