|  | @@ -147,10 +147,33 @@ For the sake of example, let's try to build a table with the remaining combinati
 | 
	
		
			
				|  |  |  Then let's try to minimize it:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ```sh
 | 
	
		
			
				|  |  | -$ espresso -Dexact -oeqntott test3.tbl
 | 
	
		
			
				|  |  | +$ espresso -Dexact -oeqntott full-table.tbl
 | 
	
		
			
				|  |  |  o3 = (!i2&o1) | (i2&o2);
 | 
	
		
			
				|  |  |  ```
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  With the full set of combinations at hand, the minimizer will give back the original equations.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  So, we'll have to make ourselves content in trying all the possible combinations of feedbacks that the PAL can produce while in-circuit.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +### A representation of the PAL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +To analyze all the possible states of a PAL device we can draw a directed **graph**:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +- Every vertex in the graph represents a combination of the **outputs** of the PAL
 | 
	
		
			
				|  |  | +- Every edge is associated with a combination of the (simple, directly modifiable) **inputs** of the PAL
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +With this representation, we can see, for every state of the PAL, how the outputs (and, as a consequence, the feedbacks) change depending on the inputs. Obviously we'll have 2^x edges out of a vertex, where x is the number of the inputs to the PAL (Actually, if the PAL has synchronous AND asynchronous feedbacks, every combination will have to be tried twice, once with a clock pulse and once without, getting a total of 2*2^x edges per vertex).
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#### The Map analogy
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +To build the graph, we can use this analogy: Imagine You get parachuted in the middle of a city with the mission to map every connection this city has with neighbouring cities. Every road out of the city is one-way, and there are no road signs to tell you where every road goes. A road could very well loop you back to the city you are attempting to leave. To draw a map you could follow this simple algorithm:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +0. Look around and note in which city you're in as a start.
 | 
	
		
			
				|  |  | +1. Search for an yet-unexplored road out of the the current city
 | 
	
		
			
				|  |  | +   - Have you found an unexplored road? Go to 2.
 | 
	
		
			
				|  |  | +   - Have you not found one? Search on the map you have already drawn for the shortest road that gets you to a city with still unexplored roads
 | 
	
		
			
				|  |  | +      - Found a path? Follow it and go back to 1.
 | 
	
		
			
				|  |  | +      - No path? Then we're finished. You have a complete map of all the roads.
 | 
	
		
			
				|  |  | +2. Follow the road you found at the previous step. Remember to draw a line from the city you depart to the city you get to (which could very well be the same), and not the road number. Go back to 1.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +This is exactly the same procedure we follow while analyzing a PAL. Obviously, there could be cities not connected by roads (the unreachable states). Those will never be reachable in reality, but they will still cause our map to be incomplete.
 |