I know that $2^\mathbb{N}$ is not countable but what is wrong with the following "proof"?  Consider the following map $f: \mathbb{N} \to 2^\mathbb{N}$, which maps a natural number $n$ to a set of integers which correspond to the index of non-zero bits in $n$'s binary representation:  $$f(n)=\{i ~|~ n = \sum_{j=0}^\infty k_j2^j \text{ and } k_i=1\}$$  $f(n)$ is clearly "onto" since for any $S\in 2^\mathbb{N}$, there exists a natural number $n = \sum_{i\in S} 2^i$ s.t. $f(n)=S$.  However, if $f(n)$ is onto, then this is effectively proving that $2^\mathbb{N}$ is countable, which is, of course, false. Where was the mistake?
Here I offer a "proof" of why the power set of the natural numbers is countable by creating a supposed bijection. I know that my proof is wrong, but where? If anyone could point it out, that'd be awesome.  Consider the power set of the natural numbers. We can form a bijection $f:\mathbb{N}\to\mathcal{P}(\mathbb{N})$ as follows.  For any $f(x)$ convert $x$ to its binary representation, which is a string of $0$s and $1$s. If the $i$-th digit is $1$, then include $i$ in the output set $S=f(x)$. Otherwise do not include $i$. Note that $i$ is $0$-indexed and starts from the right-most digit.  So in this case $f(5)=\{1,3\}$. Supposedly we can construct any set in $\mathcal{P}(\mathbb{N})$ with an appropriate choice of $x$.  Where does this proof blow up?
I have noticed this on many different Windows machine, on many different occasions: the RAM usage reported by Task Manager or Resource Monitor often seems to add up to an amount which is significantly lower than the actual amount in use.  For example, many times on my laptop or my desktop, I have seen something like 7GB in use, and yet the total of the Working RAM Set is more like 3GB. I just can't figure out where it's being used!  Here's an extreme example I noticed today in Resource Monitor on a server:    If you right-click the image and open in a new tab, and view the numbers, you'll notice that the Working Set (which doesn't include nonphysical virtual memory) add up to about 1.7GB. I get similar numbers by adding up RAM usage in Task Manager when "Show processes from all users" is enabled.  Now here's a screenshot of task manager's Performance tab:    This says 7.6GB of physical memory is in use.  I see this all the time, on personal computers, laptops, and now servers: the total RAM usage reported by system tools only accounts for about 1/4 of the RAM usage I observe. WTF is going on???  Is there any satisfying explanation of where all my RAM is? What is gobbling it up, and why is it leaving no trace?  EDIT: Here's a picture of the graphical RAM use, as user whs asked for:    EDIT 2: In response to James' response, here's a picture of the nonpaged processes in poolmon.exe, sorted by size:    These results confuse me. poolmon correctly states that I have 6GB of nonpaged pool in use, but all the nonpaged pool processes are less than 8MB in size.  What could this mean? Is poolmon failing to detect some of the processes using the nonpaged pool? Requires installation of untrusted packages? How to split larger files into smaller parts? In the context of metric (and in general first-countable) topologies, it's reasonably clear what a closed set is: a set $F$ is closed if and only if every convergent sequence of points in $F$ converges to a point also in $F$. This naturally generalises to the definition of a closed set in an arbitrary topological space using the concept of limit points... but limit points are defined in terms of open sets, which are, to me, somewhat more mysterious than closed sets.  I was once told that ultrafilters axiomatise the concept of (sets of) big sets. I'm hoping here to find a similar conceptual picture of topologies defined by systems of open sets, preferably without reference to closed sets. One such explanation I've seen is that open set axiomatise the concept of nearness, which, I suppose, is fair enough at least for metric topologies. Indeed, if something is "happening" at points near $x \in X$, then it's usually the case that every open neighbourhood $U \subseteq X$ of $x$ contains an open subset $V \subseteq U$, $x \in V$, such that the something "happens" at all points in $V$. But what about non-metrisable topologies, particularly the coarse ones where there are no "small" open sets?  Consider, for example, the Zariski topology on affine $n$-space $\mathbb{A}^n$. $\mathbb{A}^n$ is irreducible, so every non-empty open set is dense. It seems reasonable to interpret this to mean that every non-empty open set is "large". Indeed, if we work over the complex numbers, then in the usual metric geometry, Zariski-open sets are unbounded and have full measure, so are very large indeed, so I don't think it's fair to say that open sets are capturing the notion of nearness here.  I'm also curious about the history of point set topology. When were the axioms first written down? What were the first "non-geometric" examples of topological spaces — "non-geometric" here referring to either non-metrisable topologies or topologies on sets other than sets of points of some intuitively geometric object — and were they part of the motivations for creating point set topology? How can I use the `--multi-dex` option? String processing in windows batch files: How to pad value with leading zeros? redraw GUI on didreceivelocalnotification when come from lock screen iphone I need a poll inside my content types.  Sometimes the users create an article and like to create a poll directly into the node they created. They don't want to create an extra poll with no connection to the original article.  So how can I get the poll functionality inside a different content type? The legacy tray (see the screenshot below) will be removed in GNOME 3.26. I want to wean myself off it before the change arrives in Ubuntu (17.10 or 18.04).    Can I disable the legacy tray in Ubuntu GNOME 17.04? What is the standard way to add N seconds to datetime.time in Python? Given a datetime.time value in Python, is there a standard way to add an integer number of seconds to it, so that 11:34:59 + 3 = 11:35:02, for example?  These obvious ideas don't work:  &gt;&gt;&gt; datetime.time(11, 34, 59) + 3 TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int' &gt;&gt;&gt; datetime.time(11, 34, 59) + datetime.timedelta(0, 3) TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta' &gt;&gt;&gt; datetime.time(11, 34, 59) + datetime.time(0, 0, 3) TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'   In the end I have written functions like this:  def add_secs_to_time(timeval, secs_to_add):     secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second     secs += secs_to_add     return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)   I can't help thinking that I'm missing an easier way to do this though.  Related What is cool about generics, why use them? I thought I'd offer this softball to whomever would like to hit it out of the park. What are generics, what are the advantages of generics, why, where, how should I use them? Please keep it fairly basic. Thanks. Render result is completely blank A scene I made is not rendering, at all. This grey screen stays the same and nothing changes.  Here are my settings:  [ Converting shapefile To GeoJSON using ArcPy? Installing Guest Additions causing problems Stack Exchange doesn't allow me to answer protected questions because I gave away earned rep in bounties I noticed that I can't answer protected questions. I don't want to actually, but it says:        It was , but I also didn't have an ability to answer other protected questions.  I earned 270 reputation points + 100 reputation point bonus. Then I  350 reputation points as a bounty. Then I earned 59 reputation points. Today I started another bounty (50 reputation points), etc – I offered 4 bounties with total 500 rep.  Despite the fact I started from the association bonus, I must have an ability to answer protected questions, as I earned reputation points here. But offered them as bounties.    I now have enough reputation points, but I would like it to be fixed, because I like offering bounties very much.  I would like system to check for my bounties when it checks if I can answer protected question. Is the term "errored out" a grammatically correct phrase, or just a colloquial one? Is there any package or a method to force LaTeX to keep floating environments like table and figure closer to where they are declared? ViewExpiredException in Firefox and IE after migrating to Jboss 7.0 AS Examples:   In a car, van, etc. On a bus, boat, motorcycle, etc.   How can one decide which preposition to use? Is memorization the only way or is there a better way?  Note: People generally explain this by either distinguishing between open and closed vehicles or between large and small vehicles. However, the examples I've given defeat both explanations. Infinite amount of flags I have been going through some old posts, flagging them as necessary. But I have noticed that the number of posts that I am able to flag is continually staying at ten. It seems that the new flagging system has messed this up.  I am able to keep flagging posts even after 10, so I know it isn't a UI bug. This is a very big problem, because I can flag infinitely many times. And I am pretty sure this isn't the intended behavior of the overlords This isn't because I am being awarded more flags. I flag more than 13 posts in 5 minutes, and I can keep going without restriction  Some of the flags were accepted, so now my number is up to 13. But it is still staying at 13