$(M,d)$ be a complete metric space and $N \subset M$ a closed subset $\Rightarrow N$ is complete proof take a Cauchy sequence in $(N,d)$ then this Cauchy sequence converges in $M$ since M is complete. Now we need to show that this convergence occurs in $N$. Since $N$ is closed, $\cdot\cdot\cdot$ Question Any hint to proceed above reasoning?
Let $(X, d(x,y))$ be a complete metric space. Prove that if $A\subseteq X$ is a closed set, then $A$ is also complete.  My attempt: I tried to prove that every Cauchy sequence $(b_n)$ of points of $A$ converges to a point $b\in A$. However could not figure out the exit way. Maybe I am on the wrong track. Could you please help me?  edit: More from my attempt:  Suppose $A$ is a closed set and let $(x_n)$ be a sequence of points $A$ such that $\lim_n x_n\to b$.  Suppose now that $A$ has the property that $b\in A$, whenever $x_n$ converges to $b$. We know that every element of $x_n$ which is convergent in $X$ also converges to a point in $A$. Since $x_n$ is a Cauchy sequence in $A$, it must converge to a point $y\in A$. But the limit of a convergent sequence is unique.   Take $x\in A$ and select an appropriate $n$, which enables $x_n$ to converge to a point $x$ in $X$. Since the limit is unique, it must follow that $x=y$. Thus $x\in A$ and $A$ is closed.   If $A$ is a closed subset of $X$, then any Cauchy sequence of a point in $A$ is convergent in $X$ and hence converges to a point in $A$. Thus $A$ is complete.
Does "non-" prefixed to a two word phrase permit another hyphen before the second word?  If I want to refer to an entity which is defined as the negation of another entity by attaching "non-" it seems strange to attach the "non-" only to the first word when the second one is really the word naming the entity. For example,     non-control freak   looks like a person obsessed with not being in control rather than one who is simply not obsessed with control.     non-control-freak   actually looks better because the "freak" is attached to the "non-" as much as it is to "control-", without the space implying the presence of a phrase break.    and its answers make it sound like totally detaching the "non" could be an option, but if I were following the convention of hyphenating "non-" could I add a hyphen after the next word to resolve this problem? $\varepsilon$-number countability without choice Let $\alpha\mapsto\varepsilon_\alpha$ be the enumeration of the $\varepsilon$-numbers--that is, those $\alpha$ such that $\omega^\alpha=\alpha$--by the ordinals.  If we know that countable unions of countable sets are countable, (slightly weaker than countable choice), then we can show fairly easily that $\varepsilon_\alpha$ is countable iff $\alpha$ is countable.  I think I saw a result at some point that $\varepsilon_0$ is countable without relying on any choice principle (though I can't recall where I saw that). Is this true? More generally, for which $\alpha$ can we conclude that $\varepsilon_\alpha$ is countable in ZF?  Update: I have been able to prove (in ZF) that if $\varepsilon_\alpha$ is countable, then $|\alpha|&lt;\aleph_1$, so that's one direction. I'm still a bit uncertain about the answers I've got so far. Even my main monitor is shown as unknown. I have tried setting up dual monitors using Nvidia settings with no joy however it does recognize that I have 2 monitors.  This was not an issue in 11.04. My problem with the Nvidia settings appears to be that my 2 monitors require different resolutions but even when I set them to a resolution that they both can handle, it is then only appearing in cloned mode. I really hope someone can help or I will have to roll back to 11.04.  Why won't Ubuntu 11.10 recognize that I have 2 Monitors?   Here is the contents of my xorg.conf:  # nvidia-settings: X configuration file generated by nvidia-settings # nvidia-settings:  version 280.13  (buildd@rothera)  Thu Aug 11 17:28:49 UTC 2011  Section "ServerLayout"     Identifier     "Layout0"     Screen      0  "Screen0" 0 0     InputDevice    "Keyboard0" "CoreKeyboard"     InputDevice    "Mouse0" "CorePointer"     Option         "Xinerama" "0" EndSection  Section "Files" EndSection  Section "InputDevice"     # generated from default     Identifier     "Mouse0"     Driver         "mouse"     Option         "Protocol" "auto"     Option         "Device" "/dev/psaux"     Option         "Emulate3Buttons" "no"     Option         "ZAxisMapping" "4 5" EndSection  Section "InputDevice"     # generated from default     Identifier     "Keyboard0"     Driver         "kbd" EndSection  Section "Monitor"     # HorizSync source: xconfig, VertRefresh source: xconfig     Identifier     "Monitor0"     VendorName     "Unknown"     ModelName      "CRT-0"     HorizSync       30.0 - 83.0     VertRefresh     50.0 - 76.0     Option         "DPMS" EndSection  Section "Device"     Identifier     "Device0"     Driver         "nvidia"     VendorName     "NVIDIA Corporation"     BoardName      "GeForce 7025 / nForce 630a" EndSection  Section "Screen"     Identifier     "Screen0"     Device         "Device0"     Monitor        "Monitor0"     DefaultDepth    24     Option         "TwinView" "1"     Option         "TwinViewXineramaInfoOrder" "CRT-0"     Option         "metamodes" "CRT: 1280x1024 +1024+0, DFP: 1024x768 +0+0"     SubSection     "Display"         Depth       24     EndSubSection EndSection"   ok I have tried disper -e. Problem is that Nvidia settings appear to be treating both monitors as the same one. so changing the settings to one has no effect, but change the other and it affects both screens identically.  Results of disper -l as follows:      carter@carter-desktop:~$ disper -l display DFP-0: HP vs17  resolutions: 320x240, 400x300, 416x312, 512x384, 576x432, 680x384, 640x480, 720x450, 640x512, 800x512, 840x525, 800x600, 960x540, 832x624, 960x600, 896x672, 1024x768, 1152x864, 1280x960, 1280x1024 display CRT-0: CRT-0  resolutions: 320x240, 400x300, 416x312, 512x384, 576x432, 680x384, 640x480, 720x450, 640x512, 800x512, 840x525, 800x600, 960x540, 832x624, 960x600, 896x672, 1024x768, 1152x864, 1360x768, 1280x960, 1440x900, 1280x1024, 1400x1050, 1600x1024, 1680x1050, 1600x1200, 1920x1080, 1920x1200, 1792x1344 carter@carter-desktop:~$ When we find the electric field between the plates of a parallel plate capacitor we assume that the electric field from both plates is $${\bf E}=\frac{\sigma}{2\epsilon_0}\hat{n.}$$ The factor of two in the denominator comes from the fact that there is a surface charge density on both sides of the (very thin) plates. This result can be obtained easily for each plate. Therefore when we put them together the net field between the plates is $${\bf E}=\frac{\sigma}{\epsilon_0}\hat{n}$$ and zero everywhere else. Here, $\sigma$ is the surface charge density on a single side of the plate, or $Q/2A$, since half the charge will be on each side.   But in a real capacitor the plates are conducting, and the surface charge density will change on each plate when the other plate is brought closer to it. That is, in the limit that the two plates get brought closer together, all of the charge of each plate must be on a single side. If we let $d$ denote the distance between the plates, then we must have $$\lim_{d \rightarrow 0}{\bf E}=\frac{2\sigma}{\epsilon_0}\hat{n}$$ which disagrees with the above equation. Where is the mistake in this reasoning?  Or more likely, do our textbook authors commonly assume that we are in this limit, and that this is why the conductor behaves like a perfectly thin charged sheet? There have been several questions already posted with specific questions about , such as when to use it and what frameworks are there for it. However,  What is dependency injection and when/why should or shouldn't it be used? Some of the git commands have many options, and it would often be useful to search through them for the one I need - I was just looking for the option which controls the TAB width in git-gui, but there are about 200 completions for git config. An obvious workaround is to copy all the completions into an editor and search through them, but I'd rather do  [something] | grep tab   There are no man or info pages for compgen, help compgen doesn't even explain its own options, and there's no auto-complete for compgen (how's that for irony?).  PS:  doesn't work.  PPS: This is not a question about git-gui - The  was elsewhere.  PPPS: This is not about auto-completing commands, only command parameters. Bad Eyesight and Evolution Why do many humans have bad eyesight, such as near-sightedness, which hampers performance in a wide variety of tasks? Shouldn't there be evolutionary pressure towards better eyesight? PHP MySQLi doesn't recognize login info Why is this CW post saying 36% unknown? Looking at         it says "36% unknown". No user by the name of 'unknown' appears in the  ()  What madness is this? Who is this 'unknown' you speak of? Why can't a single ReLU learn a ReLU? As a follow-up to  I simplified even more and tried to train a single ReLU (with random weight) to a single ReLU.  This is the simplest network there is, and yet half the time it fails to converge.  If the initial guess is in the same orientation as the target, it learns quickly and converges to the correct weight of 1:      If the initial guess is "backwards", it gets stuck at a weight of zero and never goes through it to the region of lower loss:        I don't understand why.  Shouldn't gradient descent easily follow the loss curve to the global minima?  Example code:  from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, ReLU from tensorflow import keras import numpy as np import matplotlib.pyplot as plt  batch = 1000   def tests():     while True:         test = np.random.randn(batch)          # Generate ReLU test case         X = test         Y = test.copy()         Y[Y &lt; 0] = 0          yield X, Y   model = Sequential([Dense(1, input_dim=1, activation=None, use_bias=False)]) model.add(ReLU()) model.set_weights([[[-10]]])  model.compile(loss='mean_squared_error', optimizer='sgd')   class LossHistory(keras.callbacks.Callback):     def on_train_begin(self, logs={}):         self.losses = []         self.weights = []         self.n = 0         self.n += 1      def on_epoch_end(self, batch, logs={}):         self.losses.append(logs.get('loss'))         w = model.get_weights()         self.weights.append([x.flatten()[0] for x in w])         self.n += 1   history = LossHistory()  model.fit_generator(tests(), steps_per_epoch=100, epochs=20,                     callbacks=[history])  fig, (ax1, ax2) = plt.subplots(2, 1, True, num='Learning')  ax1.set_title('ReLU learning ReLU') ax1.semilogy(history.losses) ax1.set_ylabel('Loss') ax1.grid(True, which="both") ax1.margins(0, 0.05)  ax2.plot(history.weights) ax2.set_ylabel('Weight') ax2.set_xlabel('Epoch') ax2.grid(True, which="both") ax2.margins(0, 0.05)  plt.tight_layout() plt.show()     Similar things happen if I add bias: 2D loss function is smooth and simple, but if the relu starts upside down, it circles around and gets stuck (red starting points), and doesn't follow the gradient down to the minimum (like it does for blue starting points):    Similar things happen if I add output weight and bias, too.  (It will flip left-to-right, or down-to-up, but not both.) What does “{} \;” mean in find (in Linux)? Sometimes I see a command like  find . -name * -exec ls -a {} \;   I was asked to execute this.  What does {} \; mean here? How to use oEmbeds on Post Content during AJAX requests I have an AJAX request that returns a post. The post_content has links to Twitter, YouTube, TED and other platforms that are registered as oEmbed providers in a default, vanilla WordPress install. By now, the WordPress oEmbed handler does not register them and displays plain links and nothing else.   How can I fetch content via AJAX with oEmbed support? Why is it that when you add normally distributed random variables the variance gets larger but in the Central Limit Theorem it gets smaller? Why is Harry Potter a half-blood? Prove that $g$ is tangent to the graph of $f$ So I had these two functions and the following exercise:  $f(x)=x^3-2x^2$ $g_p(x)=px$ Prove that $g_{-1}$ is a tangent line to the graph of $f$. How many points do $g_{-1}$ and $f(x)$ have in common?  So yeah, the points in common are fairly simple to figure out:  Points in common: $x=1$ and $x=0$  So to see if it's actually tangent to the graph, I took the derivative of both functions at the points where they meet. The result:  $f'(x)=3x^2-4x$ $g'_{-1}(x)=-1$  So $f'(1)=-1$ and $f'(0)=0$ So I'm not sure why I get this answer? By the question, we are supposed to prove that its tangent to the graph of $f$ but by my calculation, it seems like only $f(1)$ is tangent with $g_{-1}(1)$. Help is appreciated! (Please avoid hint answers). Addressing a former office-holder by that office's title When is it appropriate to use an "expired" honorific to address or refer to a person?   In the U.S., former state governors are occasionally referred to as "Governor So-and-so", although they have not held that office for several years. I see this happening most often when the former governor is actively campaigning for a new office (usually U.S. President), and my impression is that it's done only by someone with an interest in the campaign (for or against) rather than a (relatively) neutral party like a newspaper.  Certainly this could be used as a jab: in a political campaign for high office, addressing one's opponent by a former title — lower than one's own — could imply that the opponent is not qualified for the new job. It could also be used the other way around, to remind listeners that a candidate one supports used to hold an important title.  I'm curious whether there are formal rules for this in the U.S., or at least style or journalist guidelines, for various offices. Are ambassadors, for example, entitled to some sort of emeritus honorific? How can I remove fonts that I never use, from libreoffice and linux in general? There are a lot of extra fonts that all seem to look alike and just annoy me in the drop down list. Is there anyway I can erase them from the system? I am using the following code to play a sound file using the java sound API.      Clip clip = AudioSystem.getClip();     AudioInputStream inputStream = AudioSystem.getAudioInputStream(stream);     clip.open(inputStream);     clip.start();   The method call to the Clip.start() method returns immediately, and the system playbacks the sound file in a background thread. I want my method to pause until the playback has completed.  Is there any nice way to do it?  EDIT: For everyone interested in my final solution, based on the answer from Uri, I used the code below:  private final BlockingQueue&lt;URL&gt; queue = new ArrayBlockingQueue&lt;URL&gt;(1);  public void playSoundStream(InputStream stream) {     Clip clip = AudioSystem.getClip();     AudioInputStream inputStream = AudioSystem.getAudioInputStream(stream);     clip.open(inputStream);     clip.start();     LineListener listener = new LineListener() {         public void update(LineEvent event) {                 if (event.getType() != Type.STOP) {                     return;                 }                  try {                     queue.take();                 } catch (InterruptedException e) {                     //ignore this                 }         }     }; clip.addLineListener(listener ); } I'm having some issues SSH'ing to a server when logged into a particular VM.  From my local PC, I can log in to the server just fine using the command ssh -i .ssh/[my private key] username@domain.  If I then SSH into another unrelated server which also has the same private key and run the above command it will also log in just fine in to the server.  But, when I SSH into a particular OpenStack VM (again has the same private key) on the unrelated server and then SSH in to the server from there I start getting prompted for a passphrase. But a passphrase hasn't been set for the key so inevitably I get a "Permission denied (publickey)." error.  To double check, I removed the private key from the VM and scp'd the private key from my PC into it again and tried the same command I still get prompted for a passphrase.  In other words:   PC - SSH - Server1 = Works fine  PC - SSH - Server2 - SSH - Server1 =     Works fine  PC - SSH - Server2 - SSH - Virtual Machine - SSH - Server 1 =         Asks for a passphrase   What could be the reason behind this? It's definitely the right private key I'm using and it has the appropriate permissions.  Edit - Output of ssh -v -i .ssh/[my private key] username@domain as requested  OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 58: Applying options for * debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 22. debug1: Connection established. debug1: key_load_public: No such file or directory debug1: identity file /.ssh/[my private key].ppk type -1 debug1: key_load_public: No such file or directory debug1: identity file /.ssh/[my private key].ppk-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_7.4 debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.4 debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.4 pat OpenSSH* compat 0x04000000 debug1: Authenticating to xxx.xxx.xxx.xxx:22 as '[my username]' debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: curve25519-sha256@libssh.org debug1: kex: host key algorithm: ecdsa-sha2-nistp256 debug1: kex: server-&gt;client cipher: chacha20-poly1305@openssh.com MAC: &lt;implicit&gt; compression: none debug1: kex: client-&gt;server cipher: chacha20-poly1305@openssh.com MAC: &lt;implicit&gt; compression: none debug1: kex: curve25519-sha256@libssh.org need=64 dh_need=64 debug1: kex: curve25519-sha256@libssh.org need=64 dh_need=64 debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ecdsa-sha2-nistp256 SHA256:ZiugTjR5fM0E3evOwHoePFKspDQChA0Ab6L0q88KP/g debug1: Host 'xxx.xxx.xxx.xxx' is known and matches the ECDSA host key. debug1: Found key in /home/centos/.ssh/known_hosts:2 debug1: rekey after 134217728 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: rekey after 134217728 blocks debug1: SSH2_MSG_EXT_INFO received debug1: kex_input_ext_info: server-sig-algs=&lt;rsa-sha2-256,rsa-sha2-512&gt; debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Trying private key: /.ssh/[my private key].ppk Enter passphrase for key '/.ssh/[my private key].ppk': Enter passphrase for key '/.ssh/[my private key].ppk': Enter passphrase for key '/.ssh/[my private key].ppk': debug1: No more authentication methods to try. Permission denied (publickey). Proving Binomial Identity without calculus How to establish the following identities without the help of calculus:  For positive integer $n, $ $$\sum_{1\le r\le n}\frac{(-1)^{r-1}\binom nr}r=\sum_{1\le r\le n}\frac1r $$  and  $$\sum_{0\le r\le n}\frac{(-1)^r\binom nr}{4r+1}=\frac{4^n\cdot  n!}{1\cdot5\cdot9\cdots(4n+1)}$$