<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Regular Expressions From Scratch, Part Seven: Listing All Members Of A Language In Order</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx</link><description>Regular languages are by definition those languages which can be described by a regular expression. 
It should be clear from the definition that the union of any finite number of regular languages is a 
regular language, the concatenation of any finite</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Regular Expression:  The Theory behind it!</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#543294</link><pubDate>Sat, 04 Mar 2006 02:29:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:543294</guid><dc:creator>Dan Sellers's WebLog</dc:creator><description>When it comes to validating input regular expression becomes a very important part of your security plan.&amp;amp;amp;nbsp;...&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=543294" width="1" height="1"&gt;</description></item><item><title>Synesthesia &amp;raquo; Links Roundup for 2006-02-21</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#536727</link><pubDate>Wed, 22 Feb 2006 12:18:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:536727</guid><dc:creator>Synesthesia » Links Roundup for 2006-02-21</dc:creator><description>PingBack from &lt;a rel="nofollow" target="_new" href="http://www.synesthesia.co.uk/blog/archives/2006/02/22/links-24/"&gt;http://www.synesthesia.co.uk/blog/archives/2006/02/22/links-24/&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=536727" width="1" height="1"&gt;</description></item><item><title>re: Regular Expressions From Scratch, Part Seven: Listing All Members Of A Language In Order</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#502859</link><pubDate>Mon, 12 Dec 2005 23:48:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:502859</guid><dc:creator>pndmnm</dc:creator><description>pcooper, it's worth noting that a total order on the pairs of reals isn't nearly as useful as giving them field order would be (a field is &amp;quot;ordered&amp;quot; if you can seperate the non-zero elements into two sets, P and N, x is in P if and only if -x is in N, and P is closed under the field operations) -- the standard field of pairs of reals (the complex plane) cannot be ordered in this fashion (by Artin-Schreier).&lt;br&gt;&lt;br&gt;(I realize this has little to nothing to do with the topic at hand, but if anyone gets here by googling for orders on pairs of reals...)&lt;br&gt;&lt;br&gt;Great sequence, I look forward to reading the rest of it.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=502859" width="1" height="1"&gt;</description></item><item><title>re: Regular Expressions From Scratch, Part Seven: Listing All Members Of A Language In Order</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#501744</link><pubDate>Fri, 09 Dec 2005 00:25:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501744</guid><dc:creator>Eric Lippert</dc:creator><description>You two are using two different definitions of &amp;quot;order&amp;quot;.  &lt;br&gt;&lt;br&gt;pcooper is describing a total order on an arbitrary set.  That is, given any two members of the set can we consistently describe whether one is &amp;gt;, = or &amp;lt; the other.  Total orders should have nice properties like antisymmetry and transitivity.  &lt;br&gt;&lt;br&gt;Lance is describing enumeration.  An enumeration imposes a total order on a set, but there are sets that can be ordered that cannot be enumerated.&lt;br&gt;&lt;br&gt;By &amp;quot;enumerated&amp;quot; I mean &amp;quot;put into 1-1 correspondance with the positive integers&amp;quot;.  That is, for every positive integer you can find a unique associated member, and for every member you can find a unique integer.&lt;br&gt;&lt;br&gt;Indeed, the set of real pairs is not enumerable. The set of reals is not enumerable either.  The set of rationals is though.&lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=501744" width="1" height="1"&gt;</description></item><item><title>re: Regular Expressions From Scratch, Part Seven: Listing All Members Of A Language In Order</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#501736</link><pubDate>Fri, 09 Dec 2005 00:03:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501736</guid><dc:creator>pcooper</dc:creator><description>Ordering the points on a plane doesn't seem all that hard. Point (x1,y1) &amp;lt; Point (x2,y2) if (x1 &amp;lt; x2) or (x1 = x2 and y1 &amp;lt; y2).&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=501736" width="1" height="1"&gt;</description></item><item><title>re: Regular Expressions From Scratch, Part Seven: Listing All Members Of A Language In Order</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#501728</link><pubDate>Thu, 08 Dec 2005 23:44:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501728</guid><dc:creator>Lance Fisher</dc:creator><description>Evin, can you enumerate an infinite set?  My intuative definition of enumerate is &amp;quot;make a (finite) list.&amp;quot;  Perhaps this is wrong. &lt;br&gt;&lt;br&gt;However, I do know that you can't order any old infinite set.  Try ordering the points on a plane.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=501728" width="1" height="1"&gt;</description></item><item><title>re: Regular Expressions From Scratch, Part Seven: Listing All Members Of A Language In Order</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#501684</link><pubDate>Thu, 08 Dec 2005 22:32:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501684</guid><dc:creator>Eric Lippert</dc:creator><description>No, &amp;quot;(a)&amp;quot; is not in R.  Remember, the rule is:&lt;br&gt;&lt;br&gt;* if u and w are strings in R then (uw) is a string in R.&lt;br&gt;&lt;br&gt;&amp;quot;a&amp;quot; is a string in R, but the empty string is not, so (a) is not a string in R.&lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=501684" width="1" height="1"&gt;</description></item><item><title>re: Regular Expressions From Scratch, Part Seven: Listing All Members Of A Language In Order</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#501681</link><pubDate>Thu, 08 Dec 2005 22:27:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501681</guid><dc:creator>Jonas Grumby</dc:creator><description>I don't mean to join the pedantry dogpile, but did you skip (a) in your enumeration? (it's in R, right?)&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=501681" width="1" height="1"&gt;</description></item><item><title>re: Regular Expressions From Scratch, Part Seven: Listing All Members Of A Language In Order</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#501675</link><pubDate>Thu, 08 Dec 2005 22:18:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501675</guid><dc:creator>Eric Lippert</dc:creator><description>Very clever, and you are correct, the &amp;quot;clearly&amp;quot; is a big old hand-wave.  :)&lt;br&gt;&lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=501675" width="1" height="1"&gt;</description></item><item><title>Enumerating H</title><link>http://blogs.msdn.com/b/ericlippert/archive/2005/12/08/regular-expressions-from-scratch-part-seven-listing-all-members-of-a-language-in-order.aspx#501672</link><pubDate>Thu, 08 Dec 2005 22:11:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501672</guid><dc:creator>Evin</dc:creator><description>I'm not sure if the _you_ was a reference to my limited lifetime,&lt;br&gt;but I can enumerate H as well as I can enumerate any other infinite set.  The order of my enumeration is very important.  First I will list all programs and inputs of length 1 which halt in 1 operation.  Then I will list those no longer than 2 which halt in 2 or fewer operations (skipping those that I listed before).  And so on.  I will eventually list every member of H (and each will be in a well-defined position).  I probably wouldn't get around to Goldbach's conjecture before the Sun expands, but if it is false, I would eventually list a program searching for the even number which disproves it.&lt;br&gt;&lt;br&gt;If I could enumerate H ordered by length or alphabetically, I could solve H by calculating the appropriate number of elements in my list.&lt;br&gt;&lt;br&gt;If we're talking about languages in general, and not just the decidable ones, you must be careful with what can be done &amp;quot;clearly.&amp;quot;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=501672" width="1" height="1"&gt;</description></item></channel></rss>