When $b$ is prime and $a&gt;0$ is any integer: $$(1/a)\pmod b \equiv a^{b-2}\pmod b$$  Can somebody explain me how this equation holds true in number theory. Someone told me that it can be proven through Euler's theorem, but how?
Why is $a^{-1}$ mod $p$ equal to $a^{p-2}$ mod $p$ in modular arithmetic?
How can I get a reference to a method? Is it possible in Ruby to get a reference to methods of an object ( I would like to know if this can be done without procs/lambdas ) , for example , consider the following code :   class X   def initialize     @map = {}     setup_map   end    private   def setup_map     # @map["a"] = get reference to a method     # @map["b"] = get reference to b method     # @map["c"] = get referebce to c method   end    public   def call(a)     @map["a"](a) if a > 10     @map["b"](a) if a > 20     @map["c"](a) if a > 30   end    def a(arg)      puts "a was called with #{arg}"   end    def b(arg)      puts "b was called with #{arg}"   end    def c(arg)     puts "c was called with #{arg}"   end end   Is it possible to do such thing ? I would like to avoid procs/lambdas because I want to be able to change the behaviour of A,B,C by subclassing . I have six upvotes for the one question with no intervening history. They have been summarised into two groups - one with 4 events and one with 2 events. However, when you expand either, both show all 6 events. Minor I know, just letting you know. Is it correct to hyphenate with compound premodifiers? If so, where is the hyphen placed? An integer $a \pmod m$ has inverse if and only if $\gcd(a,m)=1$? An integer $a \pmod m$ has inverse if and only if $\gcd(a,m)=1$?  Why is this? I tried understanding it from my notes but I don't get it.  A thorough explanation would be greatly welcome.  Thanks for all the answers so far. I think my biggest problem is understanding why $\gcd(a,m)\neq1 \Longrightarrow \not\exists a^{-1}$. I am running Ubuntu Gnome 16.10 (64bit). Gnome-shell version 3.20.4.   When I start my computer, I eventually see GDM3 offering a login prompt, as expected.   After I login, my monitors flash a little (like they're unplugged and then replugged in), and then I am brought to the gnome 3 desktop.   However, if I hit  CTRL + ALT + F1, I am brought back to GDM3, offering a login prompt.   If I then hit CTRL + ALT + F2,  I am brought back to my Gnome 3 desktop.  So it seems like GDM3 continues to run in TTY1 while the desktop runs in TTY2.   Questions   Is this how things are supposed to work? I thought the desktop was supposed to use the same TTY (or whatever you call it) as the display manager.  Am I using more graphical resources by having things setup this way? Is there a way to have GDM3 pass off the display to Gnome Desktop after I login? Is there any advantage do doing #3? Is there a design pattern for dropdown lists in iOS? How to get rid of OTA software update notification? I upgraded my Nexus 4 to Lollipop a few days ago but I don't like it. I'll leave out my reasons because they're not relevant here. I wiped my phone and installed a clean stock 4.2.2 version instead. I'm happy with this.  Not long after, Android automatically downloaded the 4.3 upgrade and notifies me with the choices "Later" and "Install". I don't want to do this upgrade.  How do I:   get rid of the notification, and  remove the downloaded update (to free up precious storage space).     I have already tried choosing "Later" but the same notification immediately reappears.    Based on Google search results, I also tried going to Settings &gt; Apps &gt; All &gt; Google Services Framework and unticked "show notifications" but it still appears. Force stop or disable also doesn't seem to help, so I've re-enabled the service including notifications. I didn't see any other apps in this list that sounded relevant - did I just not see it? In the Wikipedia article , it says     After Newtonian gravitation was found to be inconsistent with special relativity, . . .   I don't see how Newtonian gravitation itself is inconsistent with special relativity.  After all, Newton's Universal Law of Gravitation is completley analogous to Coulomb's Law, so it would seem that, if there were an analogous "gravitational magnetic field", one could formulate a theory of gravitation in exact analogy with Maxwell's Theory of Electromagnetism, and of course, this would automatically be consistent with Special Relativity.  What about this approach to gravitation does not work?  The only problem I could see with this is the lack of evidence for a "gravitational magnetic field".  That being said, gravity is "weak" as it is, and my guess is that it would be extremely difficult to set up an experiment in which a massive body were moving fast enough for this "magnetic field effect" to be obsevable.  EDIT:  As has been pointed out to me in the answers, Newton itself is inconsistent with SR.  Similarly, however, so is Coulomb's Law, yet, electromagnetism is still consistent with SR.  Thus, how do we know that it is not the case that Newton's Law is the special "static" case of a more general gravitomagnetic theory exactly analogous to Maxwell's Theory:  Let $\mathbf{G}$ be the gravitation field, let $\rho$ be the mass density, and $\mathbf{J}$ be the mass current density, let $\gamma _0$ be defined so that $\frac{1}{4\pi \gamma _0}=G$, the Universal Gravitation Constant, let $\nu _0$ be defined so that $\frac{1}{\sqrt{\gamma _0\nu _0}}=c$, and suppose there exists a field $\mathbf{M}$, the gravitomagnetic field, so that the following equations hold: $$ \vec{\nabla}\cdot \mathbf{G}=-\frac{\rho}{\gamma _0} $$ $$ \vec{\nabla}\cdot \mathbf{M}=0 $$ $$ \vec{\nabla}\times \mathbf{G}=-\frac{\partial \mathbf{M}}{\partial t} $$ $$ \vec{\nabla}\times \mathbf{M}=\nu _0\mathbf{J}+\gamma _0\nu _0\frac{\partial \mathbf{G}}{\partial t} $$ where theses fields would produce on a mass $m$ moving with velocity $\mathbf{v}$ in our inertial frame the Lorentz force $\mathbf{F}=m\left( \mathbf{G}+\mathbf{v}\times \mathbf{M}\right)$.  This theory would automatically be consistent with SR and would reduce to Newton's Law of Gravitation for the case of gravitostatics:  $\frac{\partial \mathbf{G}}{\partial t}=\frac{\partial \mathbf{M}}{\partial t}=\mathbf{J}=0$.  (To be clear, you can't just set the time derivatives equal to $\mathbf{0}$ as it seems I have done.  Upon doing so, you obtain the corresponding static theory, which is technically incorrect (as you can easily see because it won't be relativistically invariant), but is nevertheless often a useful approximation.)  My question can thus be phrased as:  without appealing directly to GR, what is wrong with this theory? Defaulting to the sign-up form? Recently I've noticed more and more sign-in / sign-up workflows defaulting to the sign-up option first and providing a minimal "Sign-In / Login" action somewhere else on the page. What's the reason behind this practice?  Examples where I've seen this recently: How can I make the map::find operation case insensitive? Kubuntu - can not enter wifi credentials after adding external wifi card My ethernet connection is quite unreliable (It uses powerline adapters) so I bought an external wifi adapter. I have plugged it in and run the command sudo ip address add 192.168.0.39/24 brd + dev enp7s0, and KDE has detected it. Unfortunately, it doesn't seem to realise it is a wireless network and therefore needs credentials. Where I could normally find a place to enter credentials (the network widget, system settings) there are none. KDE reports that the device is connected in the UI. How do I make it work out that it is wireless and therefore needs credentials? Edit: With ethernet plugged out, (USB) adapter plugged in: $ ip address show 1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host         valid_lft forever preferred_lft forever 2: enp7s0: &lt;NO-CARRIER,BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc fq_codel state DOWN group default qlen 1000     link/ether 04:d9:f5:8a:f5:e0 brd ff:ff:ff:ff:ff:ff  With ethernet plugged in, adapter plugged in: 1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host         valid_lft forever preferred_lft forever 2: enp7s0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 04:d9:f5:8a:f5:e0 brd ff:ff:ff:ff:ff:ff     inet 192.168.0.51/24 brd 192.168.0.255 scope global dynamic noprefixroute enp7s0        valid_lft 863988sec preferred_lft 863988sec     inet6 fe80::7eb1:eca2:96a0:fe5c/64 scope link noprefixroute         valid_lft forever preferred_lft forever  With just ethernet: 1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host         valid_lft forever preferred_lft forever 2: enp7s0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 04:d9:f5:8a:f5:e0 brd ff:ff:ff:ff:ff:ff     inet 192.168.0.51/24 brd 192.168.0.255 scope global dynamic noprefixroute enp7s0        valid_lft 863960sec preferred_lft 863960sec     inet6 fe80::7eb1:eca2:96a0:fe5c/64 scope link noprefixroute         valid_lft forever preferred_lft forever  With nothing: 1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host         valid_lft forever preferred_lft forever 2: enp7s0: &lt;NO-CARRIER,BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc fq_codel state DOWN group default qlen 1000     link/ether 04:d9:f5:8a:f5:e0 brd ff:ff:ff:ff:ff:ff  lsusb, adapter plugged in: Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 1d57:32da Xenta 2.4GHz Receiver (Keyboard and Mouse) Bus 001 Device 004: ID 0bda:b812 Realtek Semiconductor Corp. 802.11ac NIC Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  I'm not adding it with it plugged out because it's obviously the Bus 001 Device 004: ID 0bda:b812 Realtek Semiconductor Corp. 802.11ac NIC. There were no restarts between any of these changes. Taking back turns, and forgotten privileges How to display javascript console on Chrome (or a different browser)? I want to quickly try some Javascript code on Android phone.   I cannot find how to open console or something similar on either Chrome or default browser. about:debug doesn't do anything, and I don't want "remote debugging".   I can download another app if necessary (but I don't want to root my device). Probability expected value football problem The number of injuries at a college football game has the following probability distribution:      $$\begin{array}{|l:l|} \hline \textrm{Number of injuries} &amp; 0 &amp; 1 &amp; 2 &amp; 3 &amp; 4 &amp; 5 \\ \hdashline \textrm{Probability} &amp; 0.14 &amp; 0.33 &amp; 0.23 &amp; 0.17 &amp; 0.09 &amp; 0.04 \\ \hline \end{array}$$      The coach must file a report whenever there is more than one injury in any game.      a. Calculate the expected number of reports filed in the next 20 games.      b. Calculate the standard deviation of the number of reports filed in the next 20 games.      c. Calculate the expected number of football games to be played before the first game in which there are at least four injuries. Interactive / Real time code compilation for stackoverflow.com. That will improve the answer correctness of the stackoverflow.com.  When adding a new code block, let the user try to compile the code and see the result. It will be useful to demonstrate class designs, algorithms, and logics. Is causality a formalised concept in physics? How to get image size (height & width) using JavaScript? I would like to know how to get the version information of an installed program that doesn't have the      --version or -version   method implemented. Why is $(0, 0)$ not a minimum of $f(x, y) = (y-3x^2)(y-x^2)$? There is an exercise in my lists about those functions: $$f(x, y) = (y-3x^2)(y-x^2) = 3 x^4-4 x^2 y+y^2$$  $$g(t) = f(vt) = f(at, bt); a, b \in \mathbf{R}$$  It asks me to prove that $t = 0$ is a local minimum of $g$ for all $a, b \in \mathbf{R}$  I did it easily: $$g(t) = 3 a^4 t^4-4 a^2 t^2 b t+b^2 t^2$$ $$g&#39;(t) = 2 b^2 t-12 a^2 b t^2+12 a^4 t^3$$ $$g&#39;&#39;(t) = 2 b^2-24 a^2 b t+36 a^4 t^2$$  It is a critical point: $$g&#39;(0) = 0; \forall a, b$$  Its increasing for all a, b: $$g&#39;&#39;(0) = 2b^2 &gt; 0; \forall b \ne 0$$ and $$b = 0 \implies g(t) = 3 a^4 t^4$$ which has only one minimum, at $0$, and no maximum  However, it also asks me to prove that $(0, 0)$ is not a local minimum of $f$.  How can this be possible? I mean, if $(0, 0)$ is a minimum over every straight line that passes through it, then, in this point, $f$ should be increasing in all directions, no? I am using Adobe Illustrator CS6 to create small images (like icons) for my app so I need pixel precision.  How can I avoid X, Y, W and H properties to have decimals? Can I configure 0 decimals for this properties on my document?  If I use the textboxes with this properties it does right, it increases pixel by pixel, but when draggin with the mouse it uses up to 3 decimals.