Verbal Explanation of Math Notation I am looking at a definition for an induced subgraph.  I completely understand what an induced subgraph is, so an explanation of that is beside the point.  What I am really interested in is a specification of the notation mechanics used in the definition:
$$
G'=(W,F) \text{ is an induced subgraph of } G = (V,E) \text{ when }\\ W \subseteq V \text{ and } F = \{ xy \in E :  x,y \in W\}
$$ 
Mostly what I am interested in is a verbal explanation of: 
$$
\{\dots : \dots \} 
$$
Because my interpretation: "F is every xy in E where both x and y are in W" seems to be a subset of what can be communicated using the braces-colon notation...and, in pseudo code, it would be: "for i in E( if: for all j in i, j is in W, then: i is in F)"... but, again, I don't think that is the fundamental structure of the braces-colon notation. 

Honestly, I would prefer an explanation in computer code--for loops, etc.  Because it appears that both a for loop is implied in the left hand position (dots), and a for loop, a conditional, or a conditional + for loop can be implied in the right hand position (second set of dots).  
But a verbal explanation of the braces--is the result inside the braces always a set?--the rules for the left hand box, the ":" and the rules for the right hand box would be awesome. 

Also, how is 
$$
\{ \dots : \dots \} 
$$
different than another set comprehension I've seen recently, 
$$
\{\dots | \dots \}
$$

As it is, my level of understanding of the $\{\dots : \dots\}$ notation is such that I have to know the meaning intended before I read the notation in order to understand it.  
 A: Think in the adjacency matrix, $M$, of the graph $G$: $M=(m_{i,j})$ for $i,j \in \{1,\ldots ,n\}$ such that $m_{i,j}=1$ iff the vertex $i$ is connected with the vertex $j$. So your input is a subset $W\subseteq V$ (you can give $W$ a specific data structure of you want) so how do we build the subgraph from the subset $W$? Look that $M$ is symmetric so you just need to look on the upper part of the matrix, look for all the ones in the first row of $M$ and then ask if the vertex $i$ and vertex $j$ is in $W$ if it is then you put this edge in your adjacency matrix of $G'$ and then continue to the other rows, here you can use the fact that $M$ is symmetric and finally you got the adjacency matrix of the induced subgraph by $W$.
A: Both formats $\{\ldots : \ldots\}$ and $\{\ldots \mid \ldots\}$ are examples set-builder notation, with $:$ and $\mid$ both read as "such that".
So I read $\{xy \in E : x, y \in W\}$ as "The set of all edges $xy$ such that $x$ and $y$ are $W$" literally, or, a little more naturally, "The set of all edges $xy$ where $x$ and $y$ are in $W$." If you're thinking something along the lines of "Put every $xy$ in $F$ for which $x$ and $y$ are in $W$", then you're thinking exactly right.
I suppose pseudocode would look something like
For xy in E:
    if (x is in W and y is in W):
        put xy in F

although pseudocode is not my specialty!

The general format of set-builder notation is something like $$\{[\text{what things in the set look like}] : [\text{what needs to be true of those things}]\}.$$


*

*The left part of a set-builder construct is usually a formal description of members of some auxiliary set $A$ (sometimes as simple as "$x \in A$", sometimes more complicated, like "$x^2 - y^2$", etc). 


*

*Sometimes $A$ is a set that's already laying around, sometimes it's a set that is "initialized" when we write down our set. For you, the set $E$ of edges was already laying around, and we just decided which edges to include.


*Then, the right half is simply some condition that is checked for each item in the auxiliary set $A$: you include an element $a \in A$ in your set, if and only if this condition is true for $a$.
Sometimes things are a little backwards; the right hand side will consist of the set we'll iterate over, and the left side will be things we'll include. An example like this would be to write the set of even integers as $\{2k : k \in \Bbb Z\}$. Here my perspective shifts, and I tend to think of the set as "Put $2k$ in our set, for each $k \in \Bbb Z$ we encounter," from a construction viewpoint.
I'm not a historian, but I would guess set-builder notation somewhat haphazardly evolved to include more flexibility to define, at the cost of not having a single, fixed structure, when it comes to actually constructing said sets (at least, maybe until you zoom way out -- I'm not a logician either, but a lowly working mathematician!). 
The above-linked Wikipedia article is much more thorough, if you really want to get into all the gritty details.
