<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12932458</id><updated>2011-12-06T04:15:10.822-05:00</updated><category term='student'/><category term='pushdown systems'/><category term='authorship'/><category term='workshop'/><category term='first-order logic'/><category term='saturation algorithm'/><category term='logic'/><category term='finite variable'/><category term='well-ordered'/><category term='model checking'/><category term='credit'/><title type='text'>Logicomp</title><subtitle type='html'>Logic and Complexity</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>61</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12932458.post-3132038464257183312</id><published>2008-10-27T06:10:00.000-05:00</published><updated>2008-10-27T06:18:57.662-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='student'/><category scheme='http://www.blogger.com/atom/ns#' term='credit'/><category scheme='http://www.blogger.com/atom/ns#' term='authorship'/><title type='text'>When does Bob deserve to be a co-author?</title><content type='html'>I have recently been reading Bill Gasarch's &lt;a href="http://weblog.fortnow.com/2008/10/when-does-alice-deserve-to-be-co-author.html"&gt;post&lt;/a&gt; about when Alice deserves to be a co-author. This is definitely a sensitive issue; just check the number of ANONYMOUS comments. I have recently found some &lt;span style="font-style:italic;"&gt;advice&lt;/span&gt; that is more oriented towards faculty-student type of collaborations, but is perhaps also suitable in general. Check this &lt;a href="http://www.acsp.org/Documents/Credit_for_collab_faculty-student_work.html"&gt;link&lt;/a&gt;. Interestingly, it was a document written by Department of City and Regional Planning, University of Berkeley ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-3132038464257183312?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/3132038464257183312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=3132038464257183312' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/3132038464257183312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/3132038464257183312'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2008/10/when-does-bob-deserve-to-be-co-author.html' title='When does Bob deserve to be a co-author?'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-5841430415885858280</id><published>2008-07-16T14:35:00.002-05:00</published><updated>2008-10-26T06:50:22.771-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='workshop'/><title type='text'>Highland workshop on XML, Logic, and Automata</title><content type='html'>I'll be attending &lt;a href="http://homepages.inf.ed.ac.uk/libkin/highlandsworkshop.html"&gt;Highlands Workshop&lt;/a&gt; on XML, Logic, and Automata organized by Leonid from tomorrow until this Sunday. The venue is actually quite interesting: a small town in the Highlands called &lt;a href="http://en.wikipedia.org/wiki/Grantown-on-Spey"&gt;Grantown-on-spey&lt;/a&gt;. I'm just hoping that they have a grocery store :) I will give a presentation on recurrent reachability in regular model checking based on &lt;a href="http://homepages.inf.ed.ac.uk/s0673998/papers/lpar08_full.pdf"&gt;this paper&lt;/a&gt;. Anyway, I'll post a summary of the workshop later on this week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-5841430415885858280?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/5841430415885858280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=5841430415885858280' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/5841430415885858280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/5841430415885858280'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2008/07/highland-workshop-on-xml-logic-and.html' title='Highland workshop on XML, Logic, and Automata'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-2385350785044274459</id><published>2008-07-14T10:30:00.001-05:00</published><updated>2008-07-14T10:35:44.658-05:00</updated><title type='text'>Rahul Santhanam has joined Edinburgh</title><content type='html'>Rahul Santhanam, &lt;a href="http://lance.fortnow.com/"&gt;Lance Fortnow's&lt;/a&gt; ex PhD student, has recently &lt;a href="http://homepages.inf.ed.ac.uk/mfourman/blogs/news/2007/06/rahul-santhanam.html"&gt;joined&lt;/a&gt; Edinburgh's School of Informatics. Warm welcome to him!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-2385350785044274459?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/2385350785044274459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=2385350785044274459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/2385350785044274459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/2385350785044274459'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2008/07/rahul-santhanam-has-joined-edinburgh.html' title='Rahul Santhanam has joined Edinburgh'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-5101030688660658039</id><published>2008-07-02T08:47:00.001-05:00</published><updated>2008-07-02T09:00:22.108-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='finite variable'/><category scheme='http://www.blogger.com/atom/ns#' term='first-order logic'/><title type='text'>Finite-variable hierarchy conjecture</title><content type='html'>It seems that &lt;a href="http://www.mit.edu/~brossman/"&gt;Ben Rossman&lt;/a&gt; has resolved another long-standing open problem in finite model theory: finite-variable hierarchy conjecture. Loosely speaking, the conjecture is that over ordered graphs first-order logic with k+1 variable is more powerful than first-order logic with k variable. The problem is nicely summarized in &lt;a href="http://www.cl.cam.ac.uk/~ad260/papers/gabbay60.ps"&gt;Anuj Dawar's survey&lt;/a&gt;. Ben has &lt;a href="http://www.mit.edu/~brossman/k-clique-stoc.pdf"&gt;shown&lt;/a&gt; that this hierarchy is strict. What was previously known is that (over ordered graphs) first-order logic with 3 variables is strictly more expressive than first-order logic with 2 variables, but it was not known whether first-order logic with 3 variables is less expressive than first-order logic with k variables, for every k &gt; 3. Worse yet, it wasn't even known whether this hierarchy is strict. See Anuj Dawar's survey for further details.&lt;br /&gt;&lt;br /&gt;I believe this is the third big open problems that Ben has resolved in this decade. Go Ben!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-5101030688660658039?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/5101030688660658039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=5101030688660658039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/5101030688660658039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/5101030688660658039'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2008/07/finite-variable-hierarchy-conjecture.html' title='Finite-variable hierarchy conjecture'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-6061414702814630926</id><published>2008-06-30T09:03:00.000-05:00</published><updated>2008-06-30T09:19:26.779-05:00</updated><title type='text'>Restructuring logicomp</title><content type='html'>I'm thinking of restructuring my blogs. I've recently found that things have changed a lot since I started my break a year or so ago: Lance has retired from blogging, Andy D has started his &lt;a href="http://andysresearch.blogspot.com/"&gt;new cool blog&lt;/a&gt;, and Luca Aceto has his &lt;a href="http://processalgebra.blogspot.com/"&gt;blog&lt;/a&gt;. Ah ... also I'm having a lot of difficulty deciphering blogger's word verification mechanism. &lt;br /&gt;&lt;br /&gt;Unfortunately, I've become really rusty with HTML and will have to start getting used to it again. Shocked with what a long break can do to one's dexterity ;) Anyway, I'll put all the new links some time soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-6061414702814630926?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/6061414702814630926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=6061414702814630926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/6061414702814630926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/6061414702814630926'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2008/06/restructuring-logicomp.html' title='Restructuring logicomp'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-8920097752561473084</id><published>2008-06-26T08:08:00.002-05:00</published><updated>2008-06-27T10:30:39.704-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='saturation algorithm'/><category scheme='http://www.blogger.com/atom/ns#' term='pushdown systems'/><title type='text'>Pushdown systems: reachability via saturations</title><content type='html'>Finally, I have some time to resume blogging again after finishing several papers (and now with something with more content). Before I continue, I'd like to apologize for not replying some comments because by mistake I had them forwarded to an expired email address. How careless I was!&lt;br /&gt;&lt;br /&gt;Anyway, I'm intending to cover a simple basic topic in the verification of infinite-state systems. Reachability is probably the most basic question when you do verification and we would like to see how to solve this problem &lt;em&gt;efficiently&lt;/em&gt; for pushdown systems, which are the simplest well-behaved class of infinite-state systems. For those practically-minded, pushdown systems can naturally be used to model sequential programs and algorithms for pushdown systems have been implemented and used for doing program analysis &lt;em&gt;for real&lt;/em&gt;. By the way, the saturation technique also extends to other (more powerful) classes of infinite-state systems and so it's really worth knowing. Anyway, please review the definition of pushdown systems &lt;a href="http://logicomp.blogspot.com/2006/03/model-checking-on-infinite-transition.html"&gt;here&lt;/a&gt; before you continue.&lt;br /&gt;&lt;br /&gt;Roughly speaking, the reachability problem for pushdown systems asks the following question: given a pushdown system P and two configurations C&lt;sub&gt;1&lt;/sub&gt; and C&lt;sub&gt;2&lt;/sub&gt; of P, is it possible to reach C&lt;sub&gt;2&lt;/sub&gt; from C&lt;sub&gt;1&lt;/sub&gt; in P? There are other variants of the problem that take sets of configurations instead of just single configurations, and they can be solved using exactly the same saturation technique.&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://logicomp.blogspot.com/2006/03/model-checking-on-infinite-transition.html"&gt;here&lt;/a&gt; I have mentioned that the MSO theory of pushdown systems is decidable and this implies that reachability is also decidable. However, the algorithm that you obtain in this way runs in exponential time.&lt;br /&gt;&lt;br /&gt;The idea of saturation construction is to construct a finite automaton A that recognizes the set of configurations that can reach C&lt;sub&gt;2&lt;/sub&gt; and then check whether C&lt;sub&gt;1&lt;/sub&gt; is in the language of A; recall that membership checking for finite automata is solvable in linear time. First, observe that C&lt;sub&gt;2&lt;/sub&gt; is a single word and is obviously regular. We start with an automaton for C&lt;sub&gt;2&lt;/sub&gt; and introduce several extra states, each corresponding to a state of the pushdown system P. Call this automaton A. We shall &lt;em&gt;iteratively&lt;/em&gt; add transitions to A by the following rules: if there is a transition (p,a,c,v,p') in P, and in the automaton A the state p' can reach a state q via the word v, then we shall add a transition (p,c,q) in A. The intuitive idea is that if a configuration p'vw is accepted by A, then the configuration paw must also be accepted by A because you can apply the transition (p,a,c,v,p'). By the way, notice that we don't add any states in the iteration and so the algorithm can only add polynomially many transitions to A. Hence, the algorithm terminates in polynomial time.&lt;br /&gt;&lt;br /&gt;As far as I remember, the idea was first proposed in the paper by Bouajjani, Esparza, and Maler for pushdown systems:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Reachability analysis of pushdown automata: Application to model-checking. CONCUR 1997.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It seems that similar ideas were already proposed earlier for ground tree rewrite systems, a more general class of systems, in:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Coquide, Dauchet, and Gilleron. Bottom-up tree pushdown automata: classification and connection with rewrite systems. Theoretical Computer Science 127, 1994.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;By the way, it is worth noticing that simple fixpoint computations might not terminate for pushdown systems, as the state space is infinite. So, the saturation construction is necessary after all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-8920097752561473084?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/8920097752561473084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=8920097752561473084' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/8920097752561473084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/8920097752561473084'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2008/06/pushdown-systems-reachability-via.html' title='Pushdown systems: reachability via saturations'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-3285591653539694041</id><published>2008-01-14T07:12:00.000-05:00</published><updated>2008-01-14T07:56:45.412-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pushdown systems'/><category scheme='http://www.blogger.com/atom/ns#' term='model checking'/><category scheme='http://www.blogger.com/atom/ns#' term='well-ordered'/><category scheme='http://www.blogger.com/atom/ns#' term='logic'/><title type='text'>Happy New Year 2008!</title><content type='html'>It was exactly a year ago that I wrote my last post. I guess I have been really busy doing research (yes, this is an excuse that always works for us researchers). I am planning on writing a few things on what research I have been doing recently in some details (as I used to do); partly to help me understand more stuff, and partly to spread around some good news about the area of logic and verification (and computation as well, of course).&lt;br /&gt;&lt;br /&gt;Without further ado, here are some plans for my posts for the next two to three weeks:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;Some extensions of pushdown systems and how to do model checking on these structures&lt;/span&gt;. I covered the definitions of pushdown systems already in &lt;a href="http://logicomp.blogspot.com/2006/03/model-checking-on-infinite-transition.html"&gt;here&lt;/a&gt;, but not how to do model checking on these structures. So, I'll start there. Extensions that I will consider including prefix-recognizable systems, ground tree rewrite systems, and some probabilistic extensions.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;Well-structured transition systems&lt;/span&gt;. The theory of WSTS, which rely heavily on the theory of well-ordered quasi ordering, give general decidability results for reachability checking for large classes of infinite-state transition systems (eg, Petri Nets, lossy counter systems, etc). &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-3285591653539694041?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/3285591653539694041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=3285591653539694041' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/3285591653539694041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/3285591653539694041'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2008/01/happy-new-year-2008.html' title='Happy New Year 2008!'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-116845164464846694</id><published>2007-01-10T12:53:00.000-05:00</published><updated>2007-01-11T22:05:57.916-05:00</updated><title type='text'>I have moved again ...</title><content type='html'>It seems like ages since I last wrote for this blog. Last September, I moved with my advisor to the University of Edinburgh to begin my PhD. It took me longer than I thought to settle in Edinburgh as the atmosphere of the city, ESPECIALLY the gloomy weather, is quite different to that which I am accustomed to. Folklore has it that there are only sixty sunny days in Edinburgh in a year on average. I presume that forty of these days are in the summer. The other peculiarity that you can find in Edinburgh is the wind and rain. If you live outside Edinburgh and think that your city is windy, then I suggest that you come to visit Edinburgh. Actually, you'll find that the combination of wind and rain makes umbrella pretty much useless! &lt;br /&gt;&lt;br /&gt;Anyway, apologies to my avid readers that I was silent for so long. Provided there is time and interest, I will blog again on a weekly basis.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-116845164464846694?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/116845164464846694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=116845164464846694' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/116845164464846694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/116845164464846694'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2007/01/i-have-moved-again.html' title='I have moved again ...'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-115101121074610393</id><published>2006-06-22T16:06:00.000-05:00</published><updated>2006-06-22T16:20:11.026-05:00</updated><title type='text'>Australia qualifies for round of 16</title><content type='html'>&lt;img src="http://us.news1.yimg.com/us.yimg.com/i/fifa/gen/xp/20060622/i/1238960103.jpg" width=352 height=400 border=0&gt;&lt;br /&gt;&lt;br /&gt;After losing 2 - 0 to Brazil, The Socceroos had to at least draw against Croatia. What a nerve-racking (and controversial) game that was! In the end, &lt;a href="http://fifaworldcup.yahoo.com/06/en/060622/1/83ql.html"&gt;Australia managed to draw 2 - 2 against Croatia&lt;/a&gt;. Although I am supporting Australia through and through, I think that The Socceroos didn't secure the desired result convincingly. In a way, we were lucky to get a draw! Next: Italy vs. Australia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-115101121074610393?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/115101121074610393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=115101121074610393' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/115101121074610393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/115101121074610393'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/06/australia-qualifies-for-round-of-16.html' title='Australia qualifies for round of 16'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-114870825968748769</id><published>2006-06-14T15:57:00.000-05:00</published><updated>2006-06-15T12:38:02.930-05:00</updated><title type='text'>Linear Temporal Logic (1)</title><content type='html'>As their name suggests, &lt;a href="http://en.wikipedia.org/wiki/Temporal_logic"&gt;temporal logics&lt;/a&gt; are logics where truth values of formulas may change over time. The significance of temporal logic in computer science is indisputable, especially in verification of safety-critical reactive systems. Model checkers of many flavors of temporal logics have been developed to the extent that they can quickly verify real-world systems with a huge number of states. Furthermore, in contrast to many other tools and techniques of formal methods which are semi-automatic and relatively expensive, model checking is fully-automatic and quite cheap (excellent free model checkers like SPIN exist). Last year these tools and techniques were awarded the ACM Paris Kanellakis Theory and Practice Award. Amir Pnueli, the researcher who introduced the idea of using temporal logic in verification, was awarded the ACM Turing Award in 1996.&lt;br /&gt;&lt;br /&gt;As we mentioned, temporal logic comes in a number of flavors. At present we deal only with &lt;i&gt;Linear Temporal Logic (LTL)&lt;/i&gt;. It is &lt;i&gt;linear&lt;/i&gt; because we evaluate each LTL formula with respect to a vertex-labeled infinite path p&lt;sub&gt;0&lt;/sub&gt;p&lt;sub&gt;1&lt;/sub&gt;..., where each vertex p&lt;sub&gt;i&lt;/sub&gt; in the path corresponds to a point in time. "Present" is p&lt;sub&gt;0&lt;/sub&gt;. "Future" is any of p&lt;sub&gt;i&lt;/sub&gt; with i &amp;ge; 0. Each vertex is labeled by a subset of 2&lt;sup&gt;&amp;Sigma;&lt;/sup&gt; where &amp;Sigma; is a set of &lt;i&gt;atomic propositions&lt;/i&gt;. In other words, the label of a vertex indicates which atomic propositions are &lt;i&gt;true&lt;/i&gt; in that vertex. Here is a somewhat contrived example. Suppose that &amp;Sigma; = {a,b}. As an example, take the path {a}&lt;sup&gt;2000&lt;/sup&gt;{a,b}&lt;sup&gt;&amp;omega;&lt;/sup&gt;, which is a path whose first 2000 vertices are {a}-labeled and the rest of the vertices are {a,b}-labeled. An example of an LTL formula is "at some point in the future, 'b' holds", which is true. Another example is "a holds until b holds", which is also true.&lt;br /&gt;&lt;br /&gt;More formally, the syntax of LTL formulas can be defined in Backus-Naur form as follows:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;   &amp;phi;, &amp;psi; := p (p &amp;isin; &amp;Sigma;) | &amp;phi; &amp;and; &amp;psi; | &amp;not; &amp;phi; | X &amp;phi; | &amp;phi; U &amp;psi;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Given a 2&lt;sup&gt;&amp;Sigma;&lt;/sup&gt;-labeled (infinite) path w, we write w&lt;sup&gt;i&lt;/sup&gt; to refer to the infinite subpath of w starting from the ith vertex (the initial vertex is the 0th vertex). We may now define the semantics of LTL formulas:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; w |= p (p &amp;isin; &amp;Sigma;) if the label of the initial vertex of w contains p&lt;br /&gt;  &lt;li&gt; w |= &amp;phi; &amp;and; &amp;psi; if w |= &amp;phi; and w |= &amp;psi;&lt;br /&gt;  &lt;li&gt; w |= &amp;not; &amp;phi; if it is not the case that w |= &amp;phi;&lt;br /&gt;  &lt;li&gt; w |= X &amp;phi; if w&lt;sup&gt;1&lt;/sup&gt; |= &amp;phi;&lt;br /&gt;  &lt;li&gt; w |= &amp;phi; U &amp;psi; if there exists j &amp;ge; 0 such that w&lt;sup&gt;j&lt;/sup&gt; |= &amp;psi; and for all 0 &amp;le; i &amp;lt; j, we have w&lt;sup&gt;i&lt;/sup&gt; |= &amp;phi;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;We use F &amp;phi; to abbreviate "true U &amp;phi;", which says that &amp;phi; holds in some future. Note that "future" also includes the present. We use G &amp;phi; to abbreviate &amp;not; F &amp;not; &amp;phi;, which says that &amp;phi; must hold at all points in the path, i.e., &lt;em&gt;globally&lt;/em&gt;. Finally, note that {&amp;not;,&amp;and;} captures all other boolean connectives, which allows us to freely use any boolean connectives when we write formulas.&lt;br /&gt;&lt;br /&gt;How do we use LTL to verify real world systems? The answer requires that we first define the semantics of LTL formulas with respect to &lt;i&gt;Kripke Structures&lt;/i&gt;. A &lt;i&gt;Kripke structure&lt;/i&gt; K over a finite alphabet &amp;Sigma; is a tuple (S,E,&amp;lambda;: S -&gt; 2&lt;sup&gt;&amp;Sigma;&lt;/sup&gt;), where S is a set of vertices (or &lt;i&gt;states&lt;/i&gt;)and E a set of directed edges on S. It is normally assumed that each vertex in S has at least one outgoing edge. The function &amp;lambda; defines which propositions in &amp;Sigma; are true in a given state. The reader should convince himself that the notion of Kripke structures can be used to model many practical systems. You can first start with traffic lights, in which case &amp;Sigma = {green,red,yellow}, S consists of three states (each corresponding to the event where the light is green, red, or yellow), and E models how traffic lights work (e.g. green -&gt; yellow -&gt; red). A more interesting example includes &lt;a href="http://en.wikipedia.org/wiki/Dining_philosophers_problem"&gt;Dijkstra's algorithm for the dining philosopher problem&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, given a state s in structure K, we may define the semantics of LTL formulas: K,s |= &amp;phi; if for all directed path w in K starting from s, we have w |= &amp;phi;. For example, if K models traffic lights, then the formulas G( green -&gt; F red ) and G( green -&gt; X yellow ) have to hold in every state of K. [For example, the first formula says that, it is globally true that if the light is presently green, then at some point in the future it will turn red.]&lt;br /&gt;&lt;br /&gt;What we are interested in is an algorithm that solves the following model-checking problem: given a Kripke structure K over &amp;Sigma;, a state s in K, and an LTL formula &amp;phi; over &amp;Sigma;, decide whether K,s |= &amp;phi;. The problem is PSPACE-complete. The best known algorithm, which runs in 2&lt;sup&gt;O(|&amp;phi;|)&lt;/sup&gt; x |K|, was given by Vardi and Wolper by utilizing automata theory on infinite strings. Although the complexity of the algorithm is exponential in the size of the formula, the algorithm runs quite fast in practice because practical specifications are usually short. We shall talk about this algorithm in the near future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-114870825968748769?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/114870825968748769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=114870825968748769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114870825968748769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114870825968748769'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/06/linear-temporal-logic-1.html' title='Linear Temporal Logic (1)'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-115013721703610547</id><published>2006-06-12T13:30:00.000-05:00</published><updated>2006-06-12T13:33:37.490-05:00</updated><title type='text'>Australia vs. Japan: 3 - 1</title><content type='html'>&lt;a href="http://fifaworldcup.yahoo.com/06/en/w/match/template.html?id=12"&gt;Go Aussie&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-115013721703610547?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/115013721703610547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=115013721703610547' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/115013721703610547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/115013721703610547'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/06/australia-vs-japan-3-1.html' title='Australia vs. Japan: 3 - 1'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-114659010118716616</id><published>2006-05-02T10:42:00.000-05:00</published><updated>2006-05-11T23:09:55.620-05:00</updated><title type='text'>Game theoretic characterization of treewidth</title><content type='html'>There is no doubt that the notion of &lt;a href="http://en.wikipedia.org/wiki/Treewidth"&gt;treewidth&lt;/a&gt; introduced by Robertson and Seymour is one of the most important concepts in math and computer science introduced in the past thirty years. Roughly speaking, treewidth of a graph G measures how much G looks like a tree. For example, the treewidths of a tree, of a cycle, and of a clique (with n vertices) are respectively 1, 2, and n.&lt;br /&gt;&lt;br /&gt;Some of the readers might not be aware of an intuitive way of understanding the concept of treewidths that is provided by the &lt;i&gt;cops-and-robber games&lt;/i&gt;, as pointed out by Seymour and Thomas in their paper "Graph searching and a min-max theorem for treewidth", Journal of Combinatorial Theory B, Vol. 58 (1993). The following presentation follows the second paper cited at the bottom. The k-cops-and-robber games, where k &gt; 1, takes a graph G = (V,E) as a parameter. Each game has two players: the &lt;i&gt;cops&lt;/i&gt; and the &lt;i&gt;robber&lt;/i&gt;. The game goes as follows:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; In round 0, the cops choose a subset X&lt;sub&gt;0&lt;/sub&gt; of V of size at most k. The robber chooses a vertex v&lt;sub&gt;0&lt;/sub&gt; of V - X&lt;sub&gt;0&lt;/sub&gt;. &lt;br /&gt;  &lt;li&gt; In round i+1, the cops choose a subset X&lt;sub&gt;i+1&lt;/sub&gt; of V of size at most k. If possible, the robber chooses a vertex v&lt;sub&gt;i+1&lt;/sub&gt; of V - X&lt;sub&gt;i+1&lt;/sub&gt; such that there is a (possibly empty) path from v&lt;sub&gt;i&lt;/sub&gt; to v&lt;sub&gt;i+1&lt;/sub&gt; which does not pass through X&lt;sub&gt;i&lt;/sub&gt; &amp;cap; X&lt;sub&gt;i+1&lt;/sub&gt;. Otherwise, the cops win the game right there.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;If this game has no end (i.e. the robber can evade capture), then the robber wins. The cops are said to &lt;i&gt;have a winning strategy&lt;/i&gt; on the k-cops-and-robber game on G if they can play in such a way that they will eventually win the game. Otherwise, we say that the robber &lt;i&gt;has a winning strategy&lt;/i&gt; on this game.&lt;br /&gt;&lt;br /&gt;It is helpful to think of the set X&lt;sub&gt;i+1&lt;/sub&gt; - X&lt;sub&gt;i&lt;/sub&gt; as set of vertices above which the cops are hovering in helicopters in round i+1. [This tells us that cops can move from vertices to vertices unrestrictedly.] Also, the set X&lt;sub&gt;i+1&lt;/sub&gt; &amp;cap; X&lt;sub&gt;i&lt;/sub&gt; can be thought of as the vertices where the cops have landed from helicopters. So, it takes two moves for a cop to be at a particular vertex v (i.e. on the ground): she must first ride a helicopter to v, and second land the helicopter at v. On the other hand, a cop may take off to another vertex (but still is in a helicopter) in just one move. In addition, the robber can see the cops in the helicopter, and may elude capture by running at great speed to another vertex as long as he does not run through a cop on the ground during his escape.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Theorem&lt;/b&gt; (Seymour and Thomas): A graph G has treewidth &amp;le; k-1 iff the cops have a winning strategy in the k-cops-and-robber game on G.&lt;br /&gt;&lt;br /&gt;Equivalently, a graph G has treewidth k-1 iff k is the smallest number k' such that the cops have a winning strategy in the k'-cops-and-robber game on G. Let's try this game on a tree. The cops can win the game using 2 cops only. The idea is to gradually shrink the set of vertices the robber can go to in the next round by alternately moving the two cops in a "depth-first traversal" manner. On the other hand, it is clear that the robber player has a winning strategy on a tree if he is chased by only a poor lone cop.&lt;br /&gt;&lt;br /&gt;In recent years, some researchers in databases and verification have proposed variants of the cops-and-robber games so as to explain some phenomena in those fields. Let me conclude by mentioning two such papers:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt;Gottlob, Leone, and Scarcello. &lt;i&gt;Robbers, marshals, and guards: game theoretic and logical characterization of hypertree width&lt;/i&gt;, JCSS 66, 2003.&lt;br /&gt;  &lt;li&gt;Berwanger, Dawar, Hunter, and Kreutzer. &lt;i&gt;DAG-width and Parity Games&lt;/i&gt;, STACS 2006.&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-114659010118716616?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/114659010118716616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=114659010118716616' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114659010118716616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114659010118716616'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/05/game-theoretic-characterization-of.html' title='Game theoretic characterization of treewidth'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-114598814968520423</id><published>2006-04-25T12:53:00.000-05:00</published><updated>2006-04-27T16:17:35.973-05:00</updated><title type='text'>Automatic Structures: Part 2 -- Buchi-Bruyer Theorem</title><content type='html'>We now concentrate on the proof of Buchi-Bruyer Theorem, probably the most important theorem concerning automatic structures, which says that the set of regular relations coincides with the set of relations definable in M&lt;sub&gt;univ&lt;/sub&gt; (defined below). By the way, this theorem is folklore in the sense that its proof is unpublished, but well-known to everybody in the community.&lt;br /&gt;&lt;br /&gt;We first need some definitions. Suppose that &lt;b&gt;s&lt;/b&gt; := (s&lt;sub&gt;1&lt;/sub&gt;, ...,s&lt;sub&gt;n&lt;/sub&gt;) &amp;isin; (&amp;Sigma;*)&lt;sup&gt;n&lt;/sup&gt;. Then, define a string [&lt;b&gt;s&lt;/b&gt;] over the alphabet (&amp;Sigma;&amp;cup; {#})&lt;sup&gt;n&lt;/sup&gt; whose length is max{s&lt;sub&gt;1&lt;/sub&gt;,...,s&lt;sub&gt;n&lt;/sub&gt;}, and whose ith symbol is (a&lt;sub&gt;1&lt;/sub&gt;,...,a&lt;sub&gt;n&lt;/sub&gt;) where a&lt;sub&gt;j&lt;/sub&gt; is the ith symbol of s&lt;sub&gt;j&lt;/sub&gt;, if i &amp;le; |s&lt;sub&gt;j&lt;/sub&gt;|, and a&lt;sub&gt;j&lt;/sub&gt; is #, otherwise. One might visualize [&lt;b&gt;s&lt;/b&gt;] as the string obtained by placing s&lt;sub&gt;1&lt;/sub&gt;,...,s&lt;sub&gt;n&lt;/sub&gt; in a left-aligned column and pad each string s&lt;sub&gt;i&lt;/sub&gt; with # so that each of the resulting rows is of equal length. After that, we consider this matrix as a string [&lt;b&gt;s&lt;/b&gt;] whose jth position is the jth column of the string. A subset S of (&amp;Sigma;*)&lt;sup&gt;n&lt;/sup&gt; is said to be &lt;i&gt;regular&lt;/i&gt; if the set { [&lt;b&gt;s&lt;/b&gt;] : &lt;b&gt;s&lt;/b&gt; &amp;isin; S } is regular.&lt;br /&gt;&lt;br /&gt;Fix an alphabet of size at least two. Consider the infinite structure M&lt;sub&gt;univ&lt;/sub&gt; := (&amp;Sigma;*, &amp;le;, (L&lt;sub&gt;a&lt;/sub&gt;)&lt;sub&gt;a &amp;isin; &amp;Sigma;&lt;/sub&gt;, el) where&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt;the universe is the set of all &amp;Sigma;-strings,&lt;br /&gt;  &lt;li&gt;x &amp;le; y iff x is a prefix of y,&lt;br /&gt;  &lt;li&gt;L&lt;sub&gt;a&lt;/sub&gt;(x) is true iff the rightmost symbol of x is a, and&lt;br /&gt;  &lt;li&gt;el(x,y) is true iff |x| = |y| (|x| denotes the length of x).&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;What properties are (first-order) definable in M&lt;sub&gt;univ&lt;/sub&gt;? Here are some simple ones:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt;|x| &amp;le; |y| (i.e. the string x is no longer than the string y),&lt;br /&gt;  &lt;li&gt;|x| = |y| + k for some fixed constant k, &lt;br /&gt;  &lt;li&gt;im-pref(x,y) (i.e. x = y.a for some letter a &amp;isin; &amp;Sigma;), and&lt;br /&gt;  &lt;li&gt;the kth symbol of x is a (where k is fixed and a &amp;isin; &amp;Sigma;).&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Apologize for the overloading of the symbol '&amp;le;' because of the lack of HTML symbols. For example, the first property above can be expressed as&lt;br /&gt;&lt;center&gt;&lt;br /&gt;   &amp;exist; s( s &amp;le; y &amp;and; el(x,s) ).&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;The second property is also easily expressible, but you might need more quantifiers and make use of the relation im-pref. The third property can be expressed by saying that |x| &amp;le; |y| and there is no z with x &lt; z &lt; y (here '&lt;' is the irreflexive version of the prefix relation &amp;le;).&lt;br /&gt;&lt;br /&gt;Now, a subset S of (&amp;Sigma;*)&lt;sup&gt;n&lt;/sup&gt; is said to be definable in M&lt;sub&gt;univ&lt;/sub&gt; if there exists a first-order formula &amp;phi;(x&lt;sub&gt;1&lt;/sub&gt;,...,x&lt;sub&gt;n&lt;/sub&gt;) in the vocabulary of M&lt;sub&gt;univ&lt;/sub&gt; such that &lt;br /&gt;&lt;center&gt;&lt;br /&gt;   S = { &lt;b&gt;s&lt;/b&gt; : M&lt;sub&gt;univ&lt;/sub&gt; |= &amp;phi;(&lt;b&gt;s&lt;/b&gt;) }.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Theorem&lt;/b&gt; (Buchi-Bruyer): A subset S of (&amp;Sigma;*)&lt;sup&gt;n&lt;/sup&gt; is definable in M&lt;sub&gt;univ&lt;/sub&gt; iff S is regular.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Proof sketch&lt;/i&gt;:&lt;br /&gt;(&lt;=) Suppose that S is recognized by the automaton A = (Q,q&lt;sub&gt;0&lt;/sub&gt;,F,&amp;delta;: Q x &amp;Sigma; -&gt; Q), where Q = {q&lt;sub&gt;0&lt;/sub&gt;,...,q&lt;sub&gt;l&lt;/sub&gt;} is a finite set of states, q&lt;sub&gt;0&lt;/sub&gt; &amp;isin; Q is the initial state, F &amp;sube; Q is the set of final states, and &amp;delta; the transition function. So, for all &lt;b&gt;s&lt;/b&gt; &amp;isin; (&amp;Sigma;*)&lt;sup&gt;n&lt;/sup&gt;, &lt;b&gt;s&lt;/b&gt; &amp;isin; S iff the string s&lt;sub&gt;1&lt;/sub&gt;...s&lt;sub&gt;k&lt;/sub&gt; = [&lt;b&gt;s&lt;/b&gt;] is accepted by A,i.e., there exists a run p&lt;sub&gt;0&lt;/sub&gt;...p&lt;sub&gt;k&lt;/sub&gt; such that p&lt;sub&gt;0&lt;/sub&gt; = q&lt;sub&gt;0&lt;/sub&gt;, p&lt;sub&gt;k&lt;/sub&gt; &amp;isin; F, and &amp;delta;(p&lt;sub&gt;i&lt;/sub&gt;,s&lt;sub&gt;i+1&lt;/sub&gt;) = p&lt;sub&gt;i+1&lt;/sub&gt;. The defining formula for S is &lt;br /&gt;&lt;center&gt;&lt;br /&gt;   &amp;phi;(x&lt;sub&gt;1&lt;/sub&gt;,...,x&lt;sub&gt;n&lt;/sub&gt;) = &amp;exist;v&lt;sub&gt;0&lt;/sub&gt;,...,v&lt;sub&gt;l&lt;/sub&gt;( &amp;psi;&lt;sub&gt;len&lt;/sub&gt; &amp;and; &amp;psi;&lt;sub&gt;char&lt;/sub&gt; &amp;and; &amp;psi;&lt;sub&gt;start&lt;/sub&gt; &amp;and; &amp;psi;&lt;sub&gt;end&lt;/sub&gt; &amp;and; &amp;psi;&lt;sub&gt;trans&lt;/sub&gt; )&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;where:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; &amp;psi;&lt;sub&gt;len&lt;/sub&gt; asserts that |v&lt;sub&gt;i&lt;/sub&gt;| = max{|x&lt;sub&gt;j&lt;/sub&gt;| : 1 &amp;le; j &amp;le; n} + 1.&lt;br /&gt;  &lt;li&gt; &amp;psi;&lt;sub&gt;char&lt;/sub&gt; asserts that [(v&lt;sub&gt;1&lt;/sub&gt;,...,v&lt;sub&gt;l&lt;/sub&gt;)] = w&lt;sub&gt;0&lt;/sub&gt;...w&lt;sub&gt;k&lt;/sub&gt; is a &lt;i&gt;characteristic sequence&lt;/i&gt;, i.e., each v&lt;sub&gt;i&lt;/sub&gt; is a string of 0s and 1s, and that, for each position h, exactly one of the strings v&lt;sub&gt;i&lt;/sub&gt;s have value 1. [Intuitively, we want each w&lt;sub&gt;j&lt;/sub&gt; to represent the state p&lt;sub&gt;j&lt;/sub&gt; in our accepting run.]&lt;br /&gt;  &lt;li&gt; &amp;psi;&lt;sub&gt;start&lt;/sub&gt; asserts that the first position of v&lt;sub&gt;0&lt;/sub&gt; has value 1.&lt;br /&gt;  &lt;li&gt; &amp;psi;&lt;sub&gt;end&lt;/sub&gt; asserts that the last position of some v&lt;sub&gt;j&lt;/sub&gt;, where q&lt;sub&gt;j&lt;/sub&gt; &amp;isin; F, has value 1.&lt;br /&gt;  &lt;li&gt; &amp;psi;&lt;sub&gt;trans&lt;/sub&gt; asserts that the transition from w&lt;sub&gt;j&lt;/sub&gt; to w&lt;sub&gt;j+1&lt;/sub&gt; respects &amp;delta;. [This will be a huge table, quite tedious to write down.]&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;The reader should convince herself that all of the above sentences are definable in M&lt;sub&gt;univ&lt;/sub&gt;.&lt;br /&gt;&lt;br /&gt;(=&gt;) The proof is by induction on the formula &amp;phi;(x&lt;sub&gt;1&lt;/sub&gt;,...,x&lt;sub&gt;n&lt;/sub&gt;) defining S. The base case (i.e. atomic formulas) is very easy (left to the reader). Further, the case where &amp;phi; is of the form &amp;psi;&lt;sub&gt;1&lt;/sub&gt; &amp;or; &amp;psi;&lt;sub&gt;2&lt;/sub&gt; or &amp;not; &amp;psi; follows immediately from the properties that regular languages are closed under union and complementation. What remains is to prove this for the case where &amp;phi; is of the form &amp;exist;x&lt;sub&gt;n+1&lt;/sub&gt; &amp;psi;(x&lt;sub&gt;1&lt;/sub&gt;,...,x&lt;sub&gt;n+1&lt;/sub&gt;). Suppose that the n+1-ary regular relation R defined by &amp;psi; is recognized by the automaton A = (Q,q&lt;sub&gt;0&lt;/sub&gt;,F,&amp;delta;). To construct an automaton A' for S, one first applies the pumping lemma to show that: there exists a number K such that if (s&lt;sub&gt;1&lt;/sub&gt;,...,s&lt;sub&gt;n+1&lt;/sub&gt;) &amp;isin; R, where |s&lt;sub&gt;n+1&lt;/sub&gt;| &gt; |s&lt;sub&gt;j&lt;/sub&gt;| for 1 &amp;le; j &amp;le; n, then there exists another string s'&lt;sub&gt;n+1&lt;/sub&gt; such that (s&lt;sub&gt;1&lt;/sub&gt;,...,s'&lt;sub&gt;n+1&lt;/sub&gt;) &amp;isin; R and |s'&lt;sub&gt;n+1&lt;/sub&gt;| &amp;le; max{|s&lt;sub&gt;j&lt;/sub&gt;| : 1 &amp;le; j &amp;le; n} + K. We construct A' as follows. First, make K+1 isomorphic copies of A (with different labels), where the ith copy is denoted by A&lt;sup&gt;i&lt;/sup&gt; = (Q&lt;sup&gt;i&lt;/sup&gt; = {q&lt;sub&gt;0&lt;/sub&gt;&lt;sup&gt;i&lt;/sup&gt;,...,q&lt;sub&gt;l&lt;/sub&gt;&lt;sup&gt;i&lt;/sup&gt;},q&lt;sub&gt;0&lt;/sub&gt;&lt;sup&gt;i&lt;/sup&gt;,F&lt;sup&gt;i&lt;/sup&gt;,&amp;delta;&lt;sup&gt;i&lt;/sup&gt;). The states of A' are the union of the Q&lt;sup&gt;i&lt;/sup&gt;s. The start states consist of all the q&lt;sub&gt;0&lt;/sub&gt;&lt;sup&gt;i&lt;/sup&gt;s. The final states are the union of the F&lt;sup&gt;i&lt;/sup&gt;s. The transition function &amp;delta;' works as follows: whenever &amp;delta;&lt;sup&gt;i&lt;/sup&gt;(q&lt;sub&gt;j&lt;/sub&gt;&lt;sup&gt;i&lt;/sup&gt;,(c&lt;sub&gt;1&lt;/sub&gt;,...,c&lt;sub&gt;n+1&lt;/sub&gt;)) = q&lt;sub&gt;h&lt;/sub&gt;&lt;sup&gt;i&lt;/sup&gt;, where c&lt;sub&gt;m&lt;/sub&gt; &amp;isin; (&amp;Sigma; &amp;cup {#}), we put &amp;delta;'(q&lt;sub&gt;j&lt;/sub&gt;&lt;sup&gt;i&lt;/sup&gt;,(c&lt;sub&gt;1&lt;/sub&gt;,...,c&lt;sub&gt;n&lt;/sub&gt;) = q&lt;sub&gt;h&lt;/sub&gt;&lt;sup&gt;i&lt;/sup&gt;. Note that A' is non-deterministic. It is easy to check that A' recognizes S. (QED)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-114598814968520423?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/114598814968520423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=114598814968520423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114598814968520423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114598814968520423'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/04/automatic-structures-part-2-buchi.html' title='Automatic Structures: Part 2 -- Buchi-Bruyer Theorem'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-114305885021173249</id><published>2006-04-20T11:42:00.000-05:00</published><updated>2006-04-20T12:48:26.736-05:00</updated><title type='text'>Automatic Structures: Part 1</title><content type='html'>Several weeks ago, my supervisor Leonid Libkin gave a presentation about &lt;i&gt;automatic structures&lt;/i&gt; in our reading group meeting. I would like to talk about these nice animals in some details. This is the first part in the series of posts giving a flavor of automatic structures and sketching some important proofs. If there are interests, I will also talk about how one might apply automatic structures to program verification (this line of research is still under intense development).&lt;br /&gt;&lt;br /&gt;Finite model theory primarily concerns finite structures, and has been successfully applied to database theory, and logical approaches to verification (i.e. model checking). On the other hand, finite structures are often too restrictive. For example, when modeling C programs, the use of infinite structures is often inevitable. For this reason, a lot of effort has been put into extending the framework of finite model theory to infinite structures. Several such approaches include metafinite model theory, embedded finite model theory, and automatic structures. In the sequel, we are primarily interested in automatic structures.&lt;br /&gt;&lt;br /&gt;Roughly speaking, automatic structures are structures whose universe, and relations can each be represented by a finite automaton. A simple example of automatic structures is Presburger arithmetic (N,+), where N is the set of natural numbers. Here is how one might represent (N,+) using finite automata. Represent the universe N in binary &lt;em&gt;in reverse order&lt;/em&gt; (e.g. 4 = 001, 2 = 01); call such a representation bin(N). So, bin(N) is a language over &amp;Sigma; = {0,1}. It is simple to devise a finite automaton that recognizes precisely bin(N). Now, how do we represent the 3-ary relation &lt;br /&gt;&lt;center&gt;&lt;br /&gt;    + = { (bin(i),bin(j),bin(k)) : i + j = k, i,j,k &amp;isin; N }&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;with an automaton? First, it is possible to represent the relation + as a language L over the alphabet {0,1,#}&lt;sup&gt;3&lt;/sup&gt; defined in the following way. For i,j,k &amp;isin; bin(N), concatenate i,j,k with the padding symbol # so that the resulting strings i',j',k' are of the same length. For example, if i = 001, j = 01, and k = 00001, then i' = 001##, j' = 01###, and k' = 00001. Now, we may treat the tuple (i',j',k') as a string over the alphabet {0,1,#}&lt;sup&gt;3&lt;/sup&gt;, e.g., for i',j',k' in the above example, the resulting string is (0,0,0)(0,1,0)(1,#,0)(#,#,0)(#,#,1). Then, if i + j = k, put the string (i',j',k') in L. Having defined L, it is not hard to exhibit an automaton that recognizes precisely L. [This automaton resembles the commonplace algorithm for addition.]&lt;br /&gt;&lt;br /&gt;What is so cool about automatic structures? First, it is somewhat immediate that automatic structures have decidable FO theories. Second, there exists a &lt;i&gt;universal automatic structure&lt;/i&gt; M&lt;sub&gt;univ&lt;/sub&gt;, which is a structure in which all other automatic structures can be interpreted with FO translation (or reduction). Furthermore, the set of all relations definable in M&lt;sub&gt;univ&lt;/sub&gt; captures precisely all regular relations, which gives an easy way to prove properties about regular languages. By the way, automatic structures also give a nice way of proving that model checking some types of &lt;a href="http://logicomp.blogspot.com/2006/03/model-checking-on-infinite-transition.html"&gt;infinite transition systems&lt;/a&gt; be decidable.&lt;br /&gt;&lt;br /&gt;Anyway, this post was merely intended to whet the reader's appetite. I hope this was enticing enough. In the next post, I will give a precise definition of automatic structures and prove the Buchi-Bruyer theorem that the set of relations definable in M&lt;sub&gt;univ&lt;/sub&gt; coincides with all regular relations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-114305885021173249?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/114305885021173249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=114305885021173249' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114305885021173249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114305885021173249'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/04/automatic-structures-part-1.html' title='Automatic Structures: Part 1'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-114305749262768367</id><published>2006-03-22T14:04:00.000-05:00</published><updated>2006-03-22T15:05:09.530-05:00</updated><title type='text'>Reading Group</title><content type='html'>I am at present organizing a reading group on "Model Checking on Nice Infinite Structures". Its purpose is to help the participants get a big picture of the area, know which problems are presently open, and understand proof ideas without having to read every paper. In sum, if you want to get up to speed with the state of the art, attend the meetings!&lt;br /&gt;&lt;br /&gt;Two upcoming meetings are as follows:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; My supervisor Leonid Libkin will give an introduction to Automatic Structures on Thursday, March 23, from 2pm-3pm, UofT St. George Campus, PT378.&lt;br /&gt;  &lt;li&gt; Pablo Barcelo will give the first part of his presentation on Walukiewicz's proof of Muchnik's theorem on Friday, March 24, from 3pm-4pm, UofT St. George Campus, PT378.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Feel free to stop by if you are in Toronto.&lt;br /&gt;&lt;br /&gt;I've &lt;a href="http://logicomp.blogspot.com/2006/03/model-checking-on-infinite-transition.html"&gt;tried to give a flavor of the area&lt;/a&gt; before. I will say a little bit more. The main concern of the area is to come up with nice infinite structures on which model checking L-formulas (for some nice logic L) is computationally effective. For example, Buchi's theorem and Rabin's theorem give effective procedures for model-checking MSO formulas on, respectively, the infinite one-way successor S1S = (N,&amp;#139;) and the infinite binary tree S2S = ({0,1}*,S0,S1) where&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; N is the set of natural numbers, and &amp;#139; the graph of the usual successor function on N.&lt;br /&gt;  &lt;li&gt; {0,1}* stands for bit strings (including the empty string), &lt;br /&gt;&lt;center&gt;&lt;br /&gt;   S0 = { (w,w0) : w &amp;isin; {0,1}* },&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;and&lt;br /&gt;&lt;center&gt;&lt;br /&gt;S1 = { (w,w1) : w &amp;isin; {0,1}* }.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;It turns out that one can obtain a large number of decidability results via &lt;i&gt;interpretation&lt;/i&gt; to S2S. As I mention &lt;a href="http://logicomp.blogspot.com/2006/03/model-checking-on-infinite-transition.html"&gt;previously&lt;/a&gt;, one can show that model checking MSO formulas on pushdown graphs is effective. In fact, using the same technique, one can show that the MSO theory of ordered rational numbers (Q,&lt;) is decidable.&lt;br /&gt;&lt;br /&gt;There is more to "Model Checking on Nice Infinite Structures" than what I just mentioned. For example, one of the most important research directions is to come up with "ways of transforming structures" that preserve decidability of L-theories. Examples of such transformations include unfoldings, and iterations. The latter transformation is the main concern of Muchnik's theorem, which will be presented by Pablo Barcelo some time this week. These decidability-preserving transformations are so powerful that one can obtain the decidability of S2S by reducing it to a trivial edge-labeled graph with one node and two self-loops of different labels. It turns out that one can obtain a rich theory by, for example, applying MSO-interpretations and the unfolding operation &lt;i&gt;in alternation&lt;/i&gt;. This is the subject of Caucal's hierarchy. For more, see for the link to Thomas's survey in my previous post.&lt;br /&gt;&lt;br /&gt;Another hot topic includes "Automatic Structures". Roughly speaking, automatic structures are logical structures that can be presented by finite automata. For example, one can obtain a characterization of regular languages using this technique. For more, see &lt;a href="http://www.mathematik.tu-darmstadt.de/~blumensath/Publications/LICS-2000.ps.gz"&gt;this paper&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-114305749262768367?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/114305749262768367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=114305749262768367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114305749262768367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114305749262768367'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/03/reading-group.html' title='Reading Group'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-114261712578875700</id><published>2006-03-17T12:38:00.000-05:00</published><updated>2006-03-17T14:28:06.556-05:00</updated><title type='text'>403 Forbidden</title><content type='html'>Some of you have informed me of not being able to access this blog recently. In fact, I am aware of this problem when trying to publish some of my recent posts. &lt;br /&gt;&lt;br /&gt;I recently learned that is caused by problems with some of the Blogger's servers (for more, read &lt;a href="http://status.blogger.com/2006/03/some-users-are-currently-getting-403_08.html"&gt;this&lt;/a&gt;). This affects some, but not all, blogs from Blogger (unfortunately, including Logicomp). But, this problem goes away usually within 24 hours. So, if your computer fails to access this blog next time, please be patient and come back the following morning :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-114261712578875700?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/114261712578875700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=114261712578875700' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114261712578875700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114261712578875700'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/03/403-forbidden.html' title='403 Forbidden'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-114194003231690688</id><published>2006-03-09T13:56:00.000-05:00</published><updated>2006-03-17T09:51:07.196-05:00</updated><title type='text'>Model-checking on infinite transition systems</title><content type='html'>"Program testing can be used to show the presence of bugs, but never to show their absence!", said &lt;a href="http://en.wikipedia.org/wiki/Dijkstra"&gt;Edsger Dijkstra&lt;/a&gt;. &lt;a href="http://en.wikipedia.org/wiki/Model_checking"&gt;Model-checking&lt;/a&gt; is one well-known approach to automatic verification of programs. The framework of model-checking can be described as follows. Given a representation of a program P as a finite transition system (a.k.a. &lt;a href="http://en.wikipedia.org/wiki/Kripke_structure"&gt;Kripke Structures&lt;/a&gt;) M(P) and given a formal specification f in a specification language L, check whether f is true in M(P), in symbols M(P) |= f. The specification language can be any of your favorite logics; but, the most frequently used ones include LTL, CTL, CTL*, and &amp;mu;-calculus. Recently, a lot of effort has been made to extend the framework to suitable classes of infinite structures. In this post, I will mostly talk about model-checking on infinite transition systems. The logic that we frequently use in this case is &lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-october-2005-monadic.html"&gt;monadic second-order logic&lt;/a&gt; (MSO) as &lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; It subsumes most modal logics that we use in verification including all the afore-mentioned logics, and&lt;br /&gt;  &lt;li&gt; MSO is a well-behaved and well-studied logic.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Here is a quick memory refresher: MSO is first-order logic (FO) that is extended by quantification over sets and atomic formulas of the form "x &amp;isin; X" with the meaning that the element x of the domain D of given interpretation belongs to the set X, which is interpreted as a subset of D.&lt;br /&gt;&lt;br /&gt;I will talk about one simple kind of infinite transition systems that goes by the name of &lt;i&gt;pushdown graphs&lt;/i&gt;. A pushdown graph is nothing but the transition graph of a pushdown automaton. Here, a pushdown automaton is a tuple (Q,A,&amp;Gamma;, q&lt;sub&gt;0&lt;/sub&gt;, Z&lt;sub&gt;0&lt;/sub&gt;, &amp;Delta;), where Q is a finite set of states, A the input alphabet, &amp;Gamma; the stack alphabet, Z&lt;sub&gt;0&lt;/sub&gt; &amp;isin; &amp;Gamma; the initial stack symbol, and the transition relation &amp;Delta; is a finite subset of Q x A x &amp;Gamma; x &amp;Gamma;&lt;sup&gt;*&lt;/sup&gt; x Q, where (q,a,v,&amp;alpha,q') is to be interpreted as "Whenever I am on a state q, see the letter a on the input tape, and see the letter v on the stack tape, I will replace v by the word &amp;alpha; and move to a new state q'". Further, for a technical reason, it is usually wise to assume that there is no transition rule that pops the stack symbol Z&lt;sub&gt;0&lt;/sub&gt;. Now a pushdown graph for this automaton is the infinite graph G = (V,(E&lt;sub&gt;a&lt;/sub&gt;)&lt;sub&gt;a &amp;isin; A&lt;/sub&gt;) where:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li&gt; V is the set of configurations of the automaton (i.e. words from Q&amp;Gamma;&lt;sup&gt;*&lt;/sup&gt;, a product of the current state and the stack configurations) that are reachable from q&lt;sub&gt;0&lt;/sub&gt;Z&lt;sub&gt;0&lt;/sub&gt; by a finite number of applications of &amp;Delta;,&lt;br /&gt;  &lt;li&gt; E&lt;sub&gt;a&lt;/sub&gt; is the set of all pairs (qvw,q'&amp;alpha;w) from V&lt;sup&gt;2&lt;/sup&gt; for which there is a transition (q,a,v,&amp;alpha;,q').&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;A result of Muller-Schupp is that MSO model-checking problem on pushdown graphs is decidable. The proof of this result is by direct MSO-interpretation to S2S (MSO theory of 2-successors), and uses Rabin's deep result that S2S be decidable. I recommend &lt;br /&gt;&lt;center&gt;&lt;br /&gt;W. Thomas. &lt;a href="http://www-i7.informatik.rwth-aachen.de/d/publications/pub-Thomas.html"&gt;Constructing Infinite Graphs with a Decidable MSO-theory&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;for a nice presentation of this proof.&lt;br /&gt;&lt;br /&gt;Now comes the most important question. What sort of queries can you ask in MSO regarding pushdown graphs? The most useful one is reachability, i.e., given two configurations C and C', determine whether C' is reachable from C. This is how you write it in MSO:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;   REACH(x,x') &amp;equiv; &amp;forall; X( x&amp;isin;X and &amp;forall;y,z( y&amp;isin;X and E(y,z) --&gt; z&amp;isin;X) --&gt; x'&amp;isin;X)&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;As usual, E(x,y) is an abbreviation for "OR&lt;sub&gt;a &amp;isin; A&lt;/sub&gt; E(x,y)". It turns out that there are lots of fancy infinite graphs on which MSO model-checking are decidable. But, this is a subject of future posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-114194003231690688?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/114194003231690688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=114194003231690688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114194003231690688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114194003231690688'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/03/model-checking-on-infinite-transition.html' title='Model-checking on infinite transition systems'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-114178284502288107</id><published>2006-03-07T20:36:00.000-05:00</published><updated>2006-03-07T20:54:05.043-05:00</updated><title type='text'>Slides from Logic and Databases Workshop at Cambridge</title><content type='html'>Last week I was attending a &lt;a href="http://www.newton.cam.ac.uk/programmes/LAA/laaw02.html"&gt;logic and databases workshop&lt;/a&gt; at Cambridge, UK, as part of a special programme on logic and algorithms at &lt;a href="http://www.newton.cam.ac.uk/"&gt;Newton Institute&lt;/a&gt;. As there were some excellent talks, I want to point out that there the slides are available &lt;a href="http://www.newton.cam.ac.uk/webseminars/pg+ws/2006/laa/laaw02/"&gt;online&lt;/a&gt;. I personally recommend the following slides: Neven's, Lynch's, Segoufin's, Schweikardt's, Libkin's, Szeider's, and Koch's.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-114178284502288107?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/114178284502288107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=114178284502288107' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114178284502288107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114178284502288107'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/03/slides-from-logic-and-databases.html' title='Slides from Logic and Databases Workshop at Cambridge'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-114177893160471734</id><published>2006-03-07T18:07:00.000-05:00</published><updated>2006-03-07T20:56:33.900-05:00</updated><title type='text'>Resuming to Blog</title><content type='html'>Apologies for being silent for a long time. Thanks for those who for the last few months left comments on my blog or emailing me directly, and apologies if I did not reply. Until very recently, I was not so sure of which research track in finite model theory I wanted to pursue for my graduate studies, even though I have a general overview of the area. It is a difficult, but crucial, task for a new researcher in finite model theory (I believe even for 1st year graduate students like myself) to pin down exactly where (s)he should start, as the area is both deep and diverse. Realizing that this is extremely important, I desperately tried to read more and talk more with my advisor and others (yes, at the expense of blogging and replying emails). I am glad to say that I have found something that I really like and am confident that I can contribute to; which also implies that I may resume blogging.&lt;br /&gt;&lt;br /&gt;I realize that it will take some time for my blog readers to resume reading this blog (I certainly hope they will), and so I will start slow. Just in case you are in Toronto, I am planning to start a reading group focusing on "monadic theory of tree-like structures" and applications to computer verification (e.g. see &lt;a href="http://www.amazon.com/gp/product/3540003886/qid=1141777736/sr=2-2/ref=pd_bbs_b_2_2/102-9572347-4812138?s=books&amp;v=glance&amp;n=283155"&gt;this book&lt;/a&gt;). If you're curious but not sure of what it is, don't worry as I will give you a flavor of the area in the next few posts. The goal is to get a big picture of the area, know which problems are open, and understand important proof ideas without having to read each paper. [Each participant will take turn to present one result each time we meet.] Everyone is warmly welcome to participate. [I will make a more detailed announcement in a week.]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-114177893160471734?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/114177893160471734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=114177893160471734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114177893160471734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/114177893160471734'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/03/resuming-to-blog.html' title='Resuming to Blog'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113968441961354313</id><published>2006-02-11T13:47:00.000-05:00</published><updated>2006-02-11T14:00:19.626-05:00</updated><title type='text'>New Book on Parameterized Complexity</title><content type='html'>Jorg Flum and Martin Grohe just published their &lt;a href="http://www.springer.com/sgw/cda/frontpage/0,11855,1-156-22-141358322-detailsPage%253Dppmmedia%257CaboutThisBook%257CaboutThisBook,00.html"&gt;new book&lt;/a&gt; titled Parameterized Complexity Theory. Flum and Grohe are two giants in finite model theory who have contributed so much towards the development of parameterized complexity theory, especially logical characterizations of parameterized complexity classes. At this moment, one can only purchase the book from Springer as they just appeared some time this week.&lt;br /&gt;&lt;br /&gt;I can't compare this book with &lt;a href="http://www.springer.com/sgw/cda/frontpage/0,11855,1-40109-22-1519914-0,00.html"&gt;Downey and Fellow's book&lt;/a&gt; as I haven't read Flum and Grohe's. However, I heard from several people who proof-read the book before publications that Flum and Grohe's book is much more well-written and readable than Downey and Fellow's.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113968441961354313?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113968441961354313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113968441961354313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113968441961354313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113968441961354313'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/02/new-book-on-parameterized-complexity.html' title='New Book on Parameterized Complexity'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113794969651273544</id><published>2006-01-22T12:02:00.000-05:00</published><updated>2006-01-22T12:08:16.526-05:00</updated><title type='text'>How much damage can be caused by a peer reviewer having a bad day?</title><content type='html'>Check out &lt;a href="http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&amp;pName=computer_level1_article&amp;TheCat=1015&amp;path=computer/homepage/1205&amp;file=profession.xml&amp;xsl=article.xsl&amp;"&gt;this cool article&lt;/a&gt;! You will find some hilarious reviews for award-winning papers authored by Dijkstra, Codd, Shannon, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113794969651273544?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113794969651273544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113794969651273544' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113794969651273544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113794969651273544'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/01/how-much-damage-can-be-caused-by-peer.html' title='How much damage can be caused by a peer reviewer having a bad day?'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113763966186361038</id><published>2006-01-21T22:01:00.000-05:00</published><updated>2006-01-21T22:03:06.196-05:00</updated><title type='text'>Almost sure theory</title><content type='html'>We all know that the Hilbert's &lt;a href="http://en.wikipedia.org/wiki/Entscheidungsproblem"&gt;Enstceidungsproblem&lt;/a&gt;, i.e. deciding whether a first-order sentence is true, is undecidable. Church, Turing, and others proved it. Recall that first-order logic admits &lt;a href="http://logicomp.blogspot.com/2006/01/0-1-law.html"&gt;the 0-1 law&lt;/a&gt;, i.e., every FO sentence is &lt;i&gt;almost surely true&lt;/i&gt; (AST) or &lt;i&gt;almost surely false&lt;/i&gt; (ASF). So, what about the problem of deciding whether an FO sentence be AST? It turns out that this is decidable. I shall outline some important ideas for proving this statement.&lt;br /&gt;&lt;br /&gt;Let us restrict ourselves to graphs as before. In proving that FO admits the 0-1 law, we mentioned the extension axioms EA = {P&lt;sub&gt;k&lt;/sub&gt;}&lt;sub&gt;k &amp;isin; N&lt;/sub&gt;, where N is the set of all natural numbers. Extension axioms are nothing more than graph properties. In our case, P&lt;sub&gt;k&lt;/sub&gt;s are FO-expressible. Although for the purpose of this post we need not understand what our extension axioms are, I will just define it for future reference:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&amp;forall;x&lt;sub&gt;1&lt;/sub&gt;, ..., x&lt;sub&gt;2k&lt;/sub&gt;( &amp;and;&lt;sub&gt;i &amp;ne; j&lt;/sub&gt; x&lt;sub&gt;i&lt;/sub&gt; &amp;ne x&lt;sub&gt;j&lt;/sub&gt; -&gt; &lt;br /&gt;&lt;br /&gt;&amp;exist;z( &amp;and;&lt;sub&gt;1 &amp;le; i &amp;le; 2k&lt;/sub&gt; z &amp;ne; x&lt;sub&gt;i&lt;/sub&gt; &lt;br /&gt;&lt;br /&gt;&amp;and;&lt;sub&gt;i &amp;le; k&lt;/sub&gt; E(z,x&lt;sub&gt;i&lt;/sub&gt;) &lt;br /&gt;&lt;br /&gt;&amp;and;&lt;sub&gt;i &gt; k&lt;/sub&gt; &amp;not;E(z,x&lt;sub&gt;i&lt;/sub&gt;)))&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Recall that a &lt;i&gt;theory&lt;/i&gt; T is a set of sentences. A &lt;i&gt;model&lt;/i&gt; of T is a structure that satisfies all sentences of T. The theory T is &lt;i&gt;consistent&lt;/i&gt; if it has a model, and it is &lt;i&gt;complete&lt;/i&gt; iff for each sentence f (of the same vocabulary), we have either T |= f, i.e. every model of T is a model of f, or T |= &amp;not; f. A consistent and complete theory T is &lt;i&gt;decidable&lt;/i&gt; if it is possible to decide whether T |= f, for any given sentence f.&lt;br /&gt;&lt;br /&gt;Theorem: EA is consistent (and has a unique countable model), complete, and decidable&lt;br /&gt;&lt;br /&gt;We will not prove the first two statements, as we will need more model theory (see Libkin's "Elements of Finite Model Theory" for more details). To prove that EA is decidable, we need only invoke an old result from recursive theory that every recursively axiomatizable theory is decidable. The above definition of P&lt;sub&gt;k&lt;/sub&gt; gives us a recursive enumeration of the axioms. &lt;br /&gt;&lt;br /&gt;The unique countable model for EA, denoted RG, is called the &lt;i&gt;random graph&lt;/i&gt;, as its probabilistic construction is often emphasized in the literature. Using the above theorem, we derive an easy corollary:&lt;br /&gt;&lt;br /&gt;Corollary: For any FO sentence f, RG |= f iff &amp;mu;(f) = 1.&lt;br /&gt;&lt;br /&gt;With these results, it is a breeze to conclude that deciding whether an FO sentence be AST is computable. To determine the exact complexity of the problem, one needs a more hairy analysis, which we will not do here. It turns out that the problem is PSPACE-complete, the proof of which can be found in&lt;br /&gt;&lt;center&gt;&lt;br /&gt;E. Granjean. &lt;i&gt;Complexity of the first-order theory of almost all finite structures&lt;/i&gt;, Information and Control, Volume 57, 1983.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Recent work in this area mostly deals with determining fragments of second-order logic that admits the 0-1 law, and whether the almost sure theory with respect to the fragment be decidable. [It is easy to see that SO in its full power does not admit the 0-1 law.] This, however, lies outside the scope of our current discussion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113763966186361038?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113763966186361038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113763966186361038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113763966186361038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113763966186361038'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/01/almost-sure-theory.html' title='Almost sure theory'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113669791693386335</id><published>2006-01-07T23:03:00.000-05:00</published><updated>2006-01-13T17:00:03.390-05:00</updated><title type='text'>The 0-1 Law</title><content type='html'>To start off the year 2006, I want to talk about the 0-1 law, which is an extremely important and elegant topic in finite model theory. A logic L (over a fixed vocabulary &amp;sigma;) is said to admit the 0-1 law if, for any sentence f of L, the fraction of &amp;sigma;-structures with universe {0,...,n-1} that satisfy the sentence f converges to either 0 or 1 as n approaches infinity. We denote this fraction by &amp;mu;&lt;sub&gt;n&lt;/sub&gt;(f) and the limit, if exists, by &amp;mu;(f). [Of course, this means that &amp;mu; and &amp;mu;&lt;sub&gt;n&lt;/sub&gt; ranges between 0 and 1.] In other words, every sentence f is &lt;i&gt;almost surely false&lt;/i&gt; or &lt;i&gt;almost surely true&lt;/i&gt;. For simplicity, let us restrict our attention to undirected loopless graphs, i.e., &amp;sigma; contains only one binary relation E which is both symmetric and irreflexive. Below is perhaps the most fundamental theorem about the 0-1 law.&lt;br /&gt;&lt;br /&gt;Theorem (Fagin 1976, Glebskii et al. 1969): First-order logic admits the 0-1 law&lt;br /&gt;&lt;br /&gt;Most finite model theorists equate the admission of 0-1 law with the inability to do "counting". Consider the following properties EVEN = { G : G has even number of vertices }. We see that &amp;mu;&lt;sub&gt;n&lt;/sub&gt;(EVEN) = 1 iff n is even, and hence &amp;mu;(EVEN) does not exist. I am yet to see a property whose asymptotic probability &amp;mu; converges to something other than 0 or 1, or diverges, but has nothing to do with counting. Consider the following properties:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; &amp;mu;(BIPARTITE) = 0&lt;br /&gt;  &lt;li&gt; &amp;mu;(HAMILTONIAN) = 1&lt;br /&gt;  &lt;li&gt; &amp;mu;(CONNECTED) = 1&lt;br /&gt;  &lt;li&gt; &amp;mu;(TREE) = 0&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;On the other hand, if you admit constant or function symbols, it is possible to have first-order properties whose asymptotic probability converges to something other than 0 or 1. So, it is crucial to assume that our vocabulary &amp;sigma; be purely relational.&lt;br /&gt;&lt;br /&gt;What is the use of 0-1 law in finite model theory apart from the amusement of some theoreticians? [I will have to confess many proofs about the 0-1 law, including Fagin's proof of the above theorem, are usually of great beauty.] Well, a primary concern of finite model theory is to determine how expressive a logic is over a given class of finite structures. By proving that a logic admits the 0-1 law, we show that &lt;strong&gt;any&lt;/strong&gt; property whose asymptotic probability does not converge to either 0 or 1 is not expressible in the logic. For example, an immediate corollary of  the above theorem is that first-order logic cannot express EVEN.&lt;br /&gt;&lt;br /&gt;Let me briefly outline the proof ideas of the above theorem which recurs in 0-1 law proofs. We only need to show that, for each natural number k, there exists a property P&lt;sub&gt;k&lt;/sub&gt; of graphs such that&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; &amp;mu;(P&lt;sub&gt;k&lt;/sub&gt;) = 1, and&lt;br /&gt;  &lt;li&gt; Any two models of P&lt;sub&gt;k&lt;/sub&gt; cannot be distinguished by a first-order sentence of quantifier rank k. [Recall that the quantifier rank of a first-order sentence is the maximum depth of any nesting of quantifiers of the sentence.]&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Why is this sufficient? Let f be a first-order sentence of quantifier rank k. There are two cases. First, there exists a model of P&lt;sub&gt;k&lt;/sub&gt; that is also a model of f. In this case, it is not hard to show that &lt;em&gt;any&lt;/em&gt; model of P&lt;sub&gt;k&lt;/sub&gt; is also a model of f, which implies that &amp;mu;(f) &amp;ge; &amp;mu;(P&lt;sub&gt;k&lt;/sub&gt;) = 1. The second case is that all models of P&lt;sub&gt;k&lt;/sub&gt; are not models of f, i.e., they are models of "not f". Therefore, &amp;mu;("not f") &amp;ge; &amp;mu;(P&lt;sub&gt;k&lt;/sub&gt;) = 1. That is, we have &amp;mu;(f) = 0.&lt;br /&gt;&lt;br /&gt;The property P&lt;sub&gt;k&lt;/sub&gt; is commonly referred to as an &lt;i&gt;extension axiom&lt;/i&gt;. Note that P&lt;sub&gt;k&lt;/sub&gt; does not have to be L-definable (where L is the logic that is to admit 0-1 law). &lt;br /&gt;&lt;br /&gt;Two excellent expositions of the basics of 0-1 laws include Leonid Libkin's Elements of Finite Model Theory chapter 12, and James Lynch DIMACS 1995-1996 Tutorial notes on "Random Finite Models".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113669791693386335?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113669791693386335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113669791693386335' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113669791693386335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113669791693386335'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/01/0-1-law.html' title='The 0-1 Law'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113668326506689415</id><published>2006-01-07T20:08:00.000-05:00</published><updated>2006-01-07T20:29:30.843-05:00</updated><title type='text'>Starting the year 2006</title><content type='html'>Sorry for having been silent for quite a while. This winter "break" turned out to be quite a busy one for me, with quite a bit of homework and research to do. Anyway, belated happy new year! I hope that this will be a great and productive year for all of us.&lt;br /&gt;&lt;br /&gt;I just resumed reading the lattest on the blogsphere, with still quite a bit of catching up to do. For now, I will mention mention a couple of noteworthy things that happened:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; &lt;a href="http://www.antimeta.org/blog/"&gt;Kenny Easwaran&lt;/a&gt; wrote an &lt;a href="http://www.antimeta.org/blog/archives/2005/12/forcing.html"&gt;introductory article&lt;/a&gt; on "forcing", a well-known technique in set theory for proving independence results. I will write more on it when I finish reading the article.&lt;br /&gt;  &lt;li&gt; &lt;a href="http://www.cs.toronto.edu/~igor"&gt;Igor Naverniouk&lt;/a&gt;, a PhD student from University of Toronto, just started a new blog on True Artificial Intelligence. The first couple of entries look quite interesting.&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113668326506689415?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113668326506689415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113668326506689415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113668326506689415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113668326506689415'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2006/01/starting-year-2006.html' title='Starting the year 2006'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113505225976656237</id><published>2005-12-19T21:28:00.000-05:00</published><updated>2005-12-19T23:17:39.836-05:00</updated><title type='text'>Immerman's descriptive complexity survey</title><content type='html'>The most recent issue of &lt;a href="http://sigact.acm.org/sigactnews/online.html"&gt;SIGACT Newsletter&lt;/a&gt; (vol. 36, number 4) contains a guest column concerning progress in descriptive complexity by Neil Immerman. [Thanks to &lt;a href="http://www.learningcomputation.com/blog/"&gt;Kurt&lt;/a&gt; for making me aware of this article.] The article concisely surveys some recent progress in finite model theory with an emphasis on descriptive complexity. The style is extremely informal, and I believe is a perfect weekend read. I highly recommend the article to anybody interested in logic or computational complexity.&lt;br /&gt;&lt;br /&gt;Let me say a little bit about the content of the article (no spoiler!). It starts by motivating the study of descriptive complexity. Then, it moves on to the spectrum problem and Fagin's theorem (that NP = existential second-order logic), which marked the beginning of descriptive complexity. We then see some other capturing results in descriptive complexity (e.g. characterizations of P, PSPACE, etc.). My favorite capturing result mentioned here is DSPACE[n&lt;sup&gt;v&lt;/sup&gt;] = VAR[v+1], where VAR[k] denotes the set of problems expressible by a sequence of first-order sentences using at most k variables. And so forth ... but let me mention another interesting thing written in the article. We notice that most of the capturing results use a linear ordering on the universe. [In fact, a linear ordering is necessary for these results to work.] For example, Immerman-Vardi theorem says that FO(LFP) captures PTIME over the class of ordered structures. However, FO(LFP) does &lt;em&gt;not&lt;/em&gt; capture PTIME over the class of all structures. In fact, a long-standing open problem in finite model theory is whether there exists a logic capturing order-independent PTIME problems. The article nicely surveys our progress towards resolving this problem. Another interesting thing that you will get to know a bit about is the phenomenon that one logic may be exponentially more "succinct" than another logic with the same expressive power.&lt;br /&gt;&lt;br /&gt;A fair question to ask now is to what extent has descriptive complexity has helped us to answer structural complexity questions such as separating two complexity classes. Let me try to provide some answers to this question. I believe that the first switching lemma, which separates AC&lt;sup&gt;0&lt;/sup&gt; from LOGSPACE, was proved by Miklos Ajtai using finite model theory. This result was independently discovered by Saxe, Sipser, and Furst around the same time using combinatorics. Most people, even finite model theorists, think that the combinatorial proof provided by Saxe et al. is easier to understand than Ajtai's proof. [Of course, we now have Hastad's switching lemma with some elegant proofs.] Next I will mention Immerman-Szelepscenyi theorem that NSPACE(f(n)) is closed under complementation. Immerman proved this by appealing to descriptive complexity, while Szelepscenyi by using some elementary combinatorics. In this sense, a skeptic might say that descriptive complexity has not really helped structural complexity theory. But, what has? Nothing much really, with expander graphs as one only exception (recall Reingold's recently proved theorem that L = SL).  On the other hand, I believe that descriptive complexity helps us understand computational complexity. Many problems or classes in complexity theory have simple and elegant correspondence in descriptive complexity theory. In fact, some logical characterizations of complexity classes are commonly used by computational complexity theorists (e.g. logical characterizations of each level in the poly-time hierarchy). In this sense, I am positive that one day somebody who understands computational complexity, with some help from descriptive complexity, will resolve some of the most tantalizing open problems in structural complexity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113505225976656237?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113505225976656237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113505225976656237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113505225976656237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113505225976656237'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/12/immermans-descriptive-complexity.html' title='Immerman&apos;s descriptive complexity survey'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113314473676711939</id><published>2005-12-10T19:10:00.000-05:00</published><updated>2005-12-10T19:58:45.493-05:00</updated><title type='text'>Foundations of XML: Validating XML Documents (1)</title><content type='html'>Apologies for my long silence. Things got unexpectedly hectic for me in the past two to three weeks for various reasons. Anyway, as I promised in &lt;a href="http://logicomp.blogspot.com/2005/11/xml-automata-logic-database.html"&gt;my previous post&lt;/a&gt;, I will further talk about foundations of XML, should the reader be interested. I received two comments expressing interests, one from &lt;a href="http://thatlogicblog.blogspot.com"&gt;Jon Cohen&lt;/a&gt;, which assure me that at least somebody is going to read this post :-). So, on with our discussion on foundations of XML. Let's spend some time now talking about validation of XML documents. [I am still preparing my post on navigating XML documents and XPath.] In this post, I will talk about a practical validation language that goes by the name of DTD (Document Type Definition).&lt;br /&gt;&lt;br /&gt;Roughly speaking, the aim of validation is to ensure that an XML document "makes sense". More precisely, the problem is that, given an XML document (i.e. a labeled unranked tree T) and a statement f in some specification language L, we want to test whether T satisfies f. The most frequently used language L for validation of XML documents is &lt;a href="http://www.w3schools.com/dtd/default.asp"&gt;DTD&lt;/a&gt; (Document Type Definition). Here, we use a formal model of DTDs that does not incorporate XML "data values", e.g., texts within XML tags (see my previous post). Let us start with an example. As always, we fix a finite alphabet &amp;Sigma; of discourse. Continuing with our example in the previous post, suppose we want to test whether an unranked tree T satisfies the properties:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt;its root is labeled "books",&lt;br /&gt;  &lt;li&gt;every node labeled "books" may have zero or more children labeled "book", and&lt;br /&gt;  &lt;li&gt;every node labeled "book" must have four children labeled "title", "author", "year", and "publisher" (in this order), optionally followed by one child labeled "rank".&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;A DTD that asserts this property is the following:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;books     -&gt; book*&lt;br /&gt;book      -&gt; title, author, year, publisher, rank?&lt;br /&gt;title     -&gt; &amp;epsilon;&lt;br /&gt;author    -&gt; &amp;epsilon;&lt;br /&gt;year      -&gt; &amp;epsilon;&lt;br /&gt;publisher -&gt; &amp;epsilon;&lt;br /&gt;rank      -&gt; &amp;epsilon;&lt;/pre&gt;&lt;br /&gt;If you have studied &lt;a href="http://en.wikipedia.org/wiki/Regular_language"&gt;regular languages&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Regular_expression"&gt;regular expressions&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Context-free_grammar"&gt;context-free grammars&lt;/a&gt;, then chances are that you wouldn't have any problem understanding what the previous DTD says. Loosely, each rule (i.e. V -&gt; e, where V is a "label" in &amp;Sigma; and e is a regular expression over &amp;Sigma;) specifies that a V-labeled node in an unranked tree T has children with labels c&lt;sub&gt;1&lt;/sub&gt;, ..., c&lt;sub&gt;n&lt;/sub&gt; that can be generated by e. The Kleene star '*' stands for "zero or more". The question mark '?' abbreviates "zero or one". Commas ',' mean "followed by" in the sense of string concatenation. Finally, the symbol '&amp;epsilon;' is the empty string. Therefore, formally, a DTD over &amp;Sigma; is a pair (r,P) where r is the root symbol in &amp;Sigma; and P is a set of rules over &amp;Sigma; such that r does not appear in the "body" of any rules in P (i.e. on the right hand side).&lt;br /&gt;&lt;br /&gt;Although DTD is a nice practical specification language for XML, it does not satisfy some nice properties of both practical and theoretical interests. For example, the sets of trees that can be recognized by DTDs are not closed under unions and complementations. [Recall that regular languages are closed under unions, intersection, and complementation (see &lt;a href="http://en.wikipedia.org/wiki/Regular_language#Closure_properties"&gt;here&lt;/a&gt; for more closure properties of regular languages).] Also, DTDs do not recognize "contexts" (e.g. how do you create a DTD that uses the tag "name" to mean two different things such as "name" of a "book", which should have no children, and "name" of a "person", which should have exactly two children labeled "First Name" and "Last Name"?). Nonetheless, this problem does not seem to bother programmers that much. This explains why DTD is still the most popular XML validation language. However, there are some XML validation languages that address the aforementioned problems. I believe the most popular such language is &lt;a href="http://www.w3schools.com/schema/default.asp"&gt;XSD&lt;/a&gt; (XML Schema Definition). We shall consider a formal model of XSD next. We shall later see that XSD has the full power of the yardstick logic for XML validation, which is &lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-october-2005-monadic.html"&gt;monadic second-order logic&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113314473676711939?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113314473676711939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113314473676711939' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113314473676711939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113314473676711939'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/12/foundations-of-xml-validating-xml.html' title='Foundations of XML: Validating XML Documents (1)'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113314582644290576</id><published>2005-11-27T21:25:00.000-05:00</published><updated>2005-11-27T21:43:46.456-05:00</updated><title type='text'>Australia qualified for the World Cup 2006 in Germany</title><content type='html'>&lt;img src="http://203.15.102.146/media/2764bresc.jpg" alt="" border="1" bordercolor="#000000"&gt;&lt;br /&gt;&lt;br /&gt;After 30 years of bad luck, Australia has finally qualified for next year's World Cup in Germany after beating Uruguay in a dramatic penalty shoot-out at Sydney's Telstra Stadium, Australia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113314582644290576?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113314582644290576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113314582644290576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113314582644290576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113314582644290576'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/11/australia-qualified-for-world-cup-2006.html' title='Australia qualified for the World Cup 2006 in Germany'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113251584324212540</id><published>2005-11-20T10:43:00.000-05:00</published><updated>2005-11-20T14:57:23.196-05:00</updated><title type='text'>XML = Automata + Logic + Database</title><content type='html'>What do you get when you mix automata theory, mathematical logic, and database theory in a big bowl, and stir it vigorously? The answer is foundations of XML. In the past 7 - 8 years, the study of XML has generated a large number of elegant and unexpected connections between the three aforementioned areas. How so? Answer: we can view XML documents as labeled unranked trees, and we have numerous formalisms in (tree) automata theory and mathematical logic for querying and manipulating tree-like structures.&lt;br /&gt;&lt;br /&gt;I presume you all know a little bit about HTML. XML is just like HTML but you have to define your own &lt;i&gt;tags&lt;/i&gt; (e.g. &amp;lt;tag&amp;gt; ... &amp;lt;/tag&amp;gt;). According to &lt;a href="http://www.w3schools.com/xml/default.asp"&gt;W3C XML tutorial&lt;/a&gt;, unlike HTML, whose primary goal is to display data focusing on how it looks, XML was designed to describe data and to focus on what data is. Well, then, what can you use XML for? Primarily, for information exchange on the web. In fact, one of the greatest promises of XML is to serve as the lingua franca in information exchange. Without further ado, let's look at an example of XML documents:&lt;br /&gt;&lt;pre&gt;&amp;lt;books&amp;gt;&lt;br /&gt;    &amp;lt;book&amp;gt;&lt;br /&gt;        &amp;lt;title&amp;gt;Elements of Finite Model Theory&amp;lt;/title&amp;gt;&lt;br /&gt;        &amp;lt;author&amp;gt;Leonid Libkin&amp;lt;/author&amp;gt;&lt;br /&gt;        &amp;lt;year&amp;gt;2004&amp;lt;/year&amp;gt;&lt;br /&gt;        &amp;lt;publisher&amp;gt;Springer&amp;lt;/publisher&amp;gt;&lt;br /&gt;        &amp;lt;rank&amp;gt;5/5&amp;lt;/rank&amp;gt;&lt;br /&gt;    &amp;lt;/book&amp;gt;&lt;br /&gt;    &amp;lt;book&amp;gt;&lt;br /&gt;        &amp;lt;title&amp;gt;Animal Farm&amp;lt;/title&amp;gt;&lt;br /&gt;        &amp;lt;author&amp;gt;George Orwell&amp;lt;/author&amp;gt;&lt;br /&gt;        &amp;lt;year&amp;gt;2003&amp;lt/year&amp;gt;&lt;br /&gt;        &amp;lt;publisher&amp;gt;Penguin Books&amp;lt;/publisher&amp;gt;&lt;br /&gt;    &amp;lt;/book&amp;gt;&lt;br /&gt;&amp;lt;/books&amp;gt;&lt;/pre&gt;&lt;br /&gt;One can view this document as a labeled unranked tree:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/5345/421/1600/tree.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5345/421/320/tree.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When we study foundations of XML, we care only about the structure of the tree. Consequently, we omitted the texts within the innermost tags. By definition, this tree is different from the tree that you get from exchanging the two children of "books". That is, a sibling ordering is assumed. Also, note that a node in an XML tree may have an arbitrarily large number of children. This is why the tree is said to be &lt;i&gt;unranked&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;We are interested in both procedural formalisms (i.e. automata) and logical formalisms (i.e. logical languages) for querying unranked trees. The intention is that we express the query in a logical language, which will then be converted to an automaton that one can run to compute the query against the XML document.&lt;br /&gt;&lt;br /&gt;Of course, we should ask why we want to have query languages in the first place. Some answers are:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; &lt;i&gt;Validation&lt;/i&gt; - we wish to distinguish XML documents that make sense and those that don't. A common example arises when two parties want to exchange some information using XML documents. They of course have to agree on the formatting of the documents that they accept. Elaborating on the example above, one may insist that "books" have zero or more children with tags "book", each of which must have four children with tags (in order) "title", "author", "year", and "publisher", and one optional child with tags "rank". &lt;br /&gt;  &lt;li&gt; &lt;i&gt;Navigation&lt;/i&gt;. For example, one may want to ask for all nodes in the document that are tagged "book" and have a child tagged "rank".&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;For validation, the yardstick logic is monadic second-order logic (MSO). This is because MSO is essentially equivalent to XSD (XML Schema Definition) which people use for validation in practice. For navigation, the yardstick logic is first-order logic (FO). This is because FO and its fragments is closely connected to XPath, a practical XML navigational language which people use.&lt;br /&gt;&lt;br /&gt;What kind of procedural formalisms do we have for validation and navigation? For validation, we have what we call &lt;i&gt;nondeterministic unranked tree automaton&lt;/i&gt; (NUTA). Its connection to MSO is very tight:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;Theorem: A set of unranked trees (over a fixed finite set of labels) is recognizable by a NUTA iff it is definable in MSO.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;What about navigation? This is still open.&lt;br /&gt;&lt;br /&gt;Another research direction in foundations of XML concerns finding logics, which are equivalent to the yardstick logics, whose model-checking/query evaluation is polynomial in the size of the formula and tree. It is known that both MSO and FO have horrible complexity for model-checking over trees. Research in this direction often requires one to use some kinds of modal logics. For example, we know that CTL* (Computational Tree Logic*) with past operator, which researchers in model-checking community love, is equivalent to FO over unranked trees. There are also other research directions with a plethora of interesting open problems (such as streaming XML documents). If the reader is interested, I will further elaborate on foundations of XML.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113251584324212540?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113251584324212540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113251584324212540' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113251584324212540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113251584324212540'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/11/xml-automata-logic-database.html' title='XML = Automata + Logic + Database'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113179869727769503</id><published>2005-11-12T07:25:00.000-05:00</published><updated>2005-11-12T07:31:37.290-05:00</updated><title type='text'>Upcoming theory talk at UofT</title><content type='html'>For those of you in Toronto, you might want to stop by at UofT next Friday for a talk on P vs. NP. Here is the description:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Title&lt;/span&gt;: Can the P vs NP question be independent of the axioms of mathematical reasoning?&lt;br /&gt;&lt;b&gt;Speaker&lt;/b&gt;: Shai Ben-David, University of Waterloo&lt;br /&gt;&lt;b&gt;Venue&lt;/b&gt;: Galbraith Bld, Rm. 248&lt;br /&gt;&lt;b&gt;Time&lt;/b&gt;: 18 November, 11.10 AM&lt;br /&gt;&lt;b&gt;Abstract&lt;/b&gt;:&lt;br /&gt;I'll discuss the possibility that the failure to resolve basic complexity theoretic statements stems from these statements being independent of the logical theories that underly our mathematical reasoning. In the first part of the talk, I shall briefly survey independence (from the axioms of set theory) of questions in various areas of mathematics. I shall then go on to discuss independence results that seem relevant to the P vs NP question. Finally, I shall outline some results of myself and Shai Halevi that imply that, as far as current proof techniques for such questions go, the task of proving that P vs NP is independent of Peano Arithmetic is as hard as proving very strong upper bounds on the (deterministic) complexity of the SAT problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113179869727769503?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113179869727769503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113179869727769503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113179869727769503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113179869727769503'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/11/upcoming-theory-talk-at-uoft.html' title='Upcoming theory talk at UofT'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113142994826017088</id><published>2005-11-07T22:56:00.000-05:00</published><updated>2006-03-16T15:29:26.740-05:00</updated><title type='text'>Favorite Logic of November 2005: Second-Order Logic</title><content type='html'>Last month we &lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-october-2005-monadic.html"&gt;talked&lt;/a&gt; about monadic second-order logic (MSO). We now shall proceed to a more expressive logic: second-order logic (SO) and some of its fragments, such as existential second-order logic (ESO) and universal second-order logic (ASO). In fact, some of the most tantalizing open questions in complexity theory can be reduced to questions about the expressive power of the afore-mentioned logics. More precisely, ESO equals NP, whereas ASO equals coNP. Hence, to separate P from NP, it is sufficient to prove that ASO and ESO have different expressive power. Since we have numerous tools for proving inexpressibility results in finite model theory, it is natural to ask whether it is possible to separate NP from coNP using finite model theory. This, as you would have expected, is still open. However, we have managed to prove a weaker version: that &lt;i&gt;Monadic NP&lt;/i&gt; is different from &lt;i&gt;Monadic coNP&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;So, what exactly is SO? MSO permits quantifications over sets (i.e. unary relations). SO is just a generalization of this idea: you are allowed to quantify over k-ary relations. So, formulas in SO will look like&lt;br /&gt;&lt;center&gt;&lt;br /&gt;     &amp;psi; := Q&lt;sub&gt;1&lt;/sub&gt;X&lt;sub&gt;1&lt;/sub&gt;...Q&lt;sub&gt;m&lt;/sub&gt;X&lt;sub&gt;m&lt;/sub&gt; &amp;phi;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;where Q &amp;isin; {&amp;exist;,&amp;forall;}, X&lt;sub&gt;i&lt;/sub&gt; is a k&lt;sub&gt;i&lt;/sub&gt;-ary "second-order variable" to be interpreted as a k&lt;sub&gt;i&lt;/sub&gt;-ary relation, and &amp;phi; is just a first-order (FO) formula that talks about these second-order variables as well as some relations in the given vocabulary. An example of a sentence in this logic has been given in &lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-october-2005-monadic.html"&gt;here&lt;/a&gt;, in which case all second-order variables are unary. Another example that uses non-unary relations is hamiltonianicity:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;   &amp;exist; L &amp;exist; S ( (L is a strict linear ordering over the vertices) and (S is L's successor relation) and &amp;forall; x &amp;forall; y( S(x,y) -&gt; E(x,y) ) )&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;A graph is hamiltonian iff there exists a path that visits every vertex in the graph. You can think of L as the transitive closure of the path P that witnesses the hamiltonianicity of the graph, and of S as the path P. [Example: a strict linear ordering on {1,2,3} is the binary relation &amp;le; = {(1,2),(1,3),(2,3)}, while its successor relation is the binary relation {(1,2),(2,3)}. Perhaps, it is more descriptive to say "immediate successor" than just "successor".] Notice that in these two examples we only used &amp;exist; quantifiers for the second-order variables. We use ESO (read: existential second-order logic) to denote all formulas in SO of this kind, i.e., where all the Q&lt;sub&gt;i&lt;/sub&gt; is &amp;exist;. We use ASO (read: universal second-order logic) to denote formulas in SO where Q&lt;sub&gt;i&lt;/sub&gt; equals &amp;forall;.&lt;br /&gt;&lt;br /&gt;Theorem (Fagin 1974): ESO captures NP. ASO captures coNP.&lt;br /&gt;&lt;br /&gt;The notion of "capture" here has been defined in a &lt;a href="http://logicomp.blogspot.com/2005/10/logics-capturing-complexity-classes.html"&gt;previous post&lt;/a&gt;. The examples above give two concrete NP properties (hamiltonianicity, and 3-colorability) that you can express in ESO. How do you express non-hamiltonianicity in ASO? It's simple: just negate the formula above and use the fact that "not &amp;exist; X&lt;sub&gt;i&lt;/sub&gt; &amp;psi;" is equivalent to "&amp;exist; X&lt;sub&gt;i&lt;/sub&gt; not &amp;psi". This can easily be generalized to other coNP properties. Let's summarize the results.&lt;br /&gt;&lt;br /&gt;Theorem: NP = coNP iff ESO = ASO iff 3-colorability is expressible in ASO.&lt;br /&gt;&lt;br /&gt;What complexity class does SO correspond to?&lt;br /&gt;&lt;br /&gt;Theorem (Stockmeyer 1977) SO captures PH.&lt;br /&gt;&lt;br /&gt;Actually, Stockmeyer proved a much stronger result relating the kth level in the hierarchy to an SO fragment that contains formulas with k second-order quantifier alternation.&lt;br /&gt;&lt;br /&gt;Of course, we have not been successful in proving that ESO != ASO. However, a weaker version has been proven in the literature.&lt;br /&gt;&lt;br /&gt;Theorem (Fagin 1975) Monadic NP is different from Monadic coNP.&lt;br /&gt;&lt;br /&gt;By monadic NP, we mean ESO formulas all of whose second-order variables are unary. The same goes for monadic coNP. So, monadic NP is just existential monadic second-order logic (EMSO), while monadic coNP is universal MSO (AMSO). The separation query given in Fagin's proof was "graph connectivity"; it is expressible in AMSO, but not in EMSO. A simplified version of this proof has been given in a paper by Ajtai, Fagin, and Stockmeyer (AFS) in 1995. [Correction: the paper is by Fagin, Stockmeyer, and Vardi (FSV) instead. Thanks to Ron Fagin for pointing this out.] In my opinion, this is also the &lt;em&gt;most&lt;/em&gt; beatiful proof I have ever seen in finite model theory: simple, but extremely powerful. In a nutshell, this proof cleverly employs hanf-locality (which I have discussed &lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-september-2005-first_13.html"&gt;here&lt;/a&gt;) which gives us a way of easily providing a winning strategy in "Ehrenfeucht-Fraisse games", which can be used to prove inexpressibility results. Is it possible to generalize the proof technique to ESO? Unfortunately no: Hanf-locality is not useful as soon as we permit binary second-order variables. On the other hand, we still have Ehrenfeucht-Fraisse games, which are in general hard to play. So, FSV proposed the following project: develop tools to easily establish a winning strategy in Ehrenfeucht-Fraisse games! Thus far, most tools of this kind uses some notions of locality, which is only useful for "sparse" structures. I hope that a more powerful tool can be discovered some time in the near future to prove a separation of ESO from ASO, although it seems that we are far from it.&lt;br /&gt;&lt;br /&gt;The best way to learn AFS techniques for separating NP and coNP is to read Ron Fagin's&lt;br /&gt;&lt;center&gt;&lt;br /&gt;    Easier ways to win logical games, DIMACS 1997&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;It is available from &lt;a href="http://www.almaden.ibm.com/cs/people/fagin/"&gt;his website&lt;/a&gt;. A more complete reference is Leonid Libkin's excellent textbook titled Elements of Finite Model Theory (see chapter (3,4, and) 7).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113142994826017088?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113142994826017088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113142994826017088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113142994826017088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113142994826017088'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/11/favorite-logic-of-november-2005-second.html' title='Favorite Logic of November 2005: Second-Order Logic'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113142174122968733</id><published>2005-11-07T22:42:00.000-05:00</published><updated>2005-11-07T22:49:01.246-05:00</updated><title type='text'>Lance Fortnow's ComplexityCast</title><content type='html'>Check out Lance Fortnow's &lt;a href="http://weblog.fortnow.com/2005/11/bringing-complexity-to-your-ipod.html"&gt;ComplexityCast&lt;/a&gt;, in which he and Bill Gasarch engaged in an after-dinner talk about P vs. NP. I think it's really fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113142174122968733?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113142174122968733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113142174122968733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113142174122968733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113142174122968733'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/11/lance-fortnows-complexitycast.html' title='Lance Fortnow&apos;s ComplexityCast'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113115158021057570</id><published>2005-11-04T19:46:00.000-05:00</published><updated>2005-11-08T08:30:09.093-05:00</updated><title type='text'>NL != P?</title><content type='html'>Howdy! It's been some time since I posted last. Being a graduate student, I don't think it is possible for me to post 3 - 4 times per week without sacrificing the quality of the posts. [Maybe, successful bloggers, like Professor Lance Fortnow, would care to tell me how they manage to cope well with both blogging and academic life.] However, my dear readers, rest assured! I do love posting here, and will try to post at least once a week.&lt;br /&gt;&lt;br /&gt;Anyway, I just remembered that Stephen Cook told me some time ago that &lt;a href="http://homepages.tversu.ru/~p000101/"&gt;Michael Taitslin&lt;/a&gt; claimed to have a proof that NL is different from P, and at that time Steve was checking his proof. His paper can be found &lt;a href="http://homepages.tversu.ru/~p000101/cook.ps"&gt;here&lt;/a&gt;. I am not quite sure of the progress. Incidentally, when I was in Los Alamos a couple of months back, a complexity theorist briefly looked at the paper and told me that it looks "fishy". Of course, in view of the many fallacious proofs that P != NP claimed by some novices (as discussed in &lt;a href="http://www.learningcomputation.com/blog/2005/10/spooky-science.html"&gt;here&lt;/a&gt;, people often tend to avoid reading "proofs" of this type of statements. Again, I am not sure of Taitslin's  "proof". I read the first few pages, and all I can say is that he definitely uses some logic. One thing I can say though is that he has published some nice results in the areas of database theory and finite model theory in well-known journals and conference proceedings. This gives him some credentials, which perhaps will attract some of the readers to read his manuscript and find subtle bugs in his proof or verify the validity of his proof. In any case, if you decide to do so, please keep me informed :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113115158021057570?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113115158021057570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113115158021057570' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113115158021057570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113115158021057570'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/11/nl-p.html' title='NL != P?'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113010735554417243</id><published>2005-10-29T11:02:00.000-05:00</published><updated>2005-10-29T08:29:18.956-05:00</updated><title type='text'>Favorite Logic of October 2005: Monadic Second-Order Logic</title><content type='html'>&lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-september-2005-first_13.html"&gt;previous&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We now move to a logic that is much more expressive than FO. In the previous "Favorite Logic" posts, I have talked about the gory details of FO. Now, rather than babble about the current logic under consideration, I shall just sample some results that are particularly interesting from my point of view. The readers that happen to be "inspired" by this post are welcome to send me an email for further results or references.&lt;br /&gt;&lt;br /&gt;Monadic second-order logic (MSO) is a natural extension of first-order logic with quantifiers over sets of elements in the universe. More precisely, if &amp;sigma; is a vocabulary, MSO sentences &amp;psi; over &amp;sigma; are of the form&lt;br /&gt;&lt;center&gt;&lt;br /&gt;    &amp;psi; := Q&lt;sub&gt;1&lt;/sub&gt;X&lt;sub&gt;1&lt;/sub&gt;...Q&lt;sub&gt;m&lt;/sub&gt;X&lt;sub&gt;m&lt;/sub&gt; &amp;phi;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;where Q&lt;sub&gt;i&lt;/sub&gt; &amp;isin; {&amp;exist;,&amp;forall;}, X&lt;sub&gt;i&lt;/sub&gt; is a &lt;i&gt;second-order variable&lt;/i&gt;, and &amp;phi; is an FO sentence over &amp;sigma; &amp;cup; {X&lt;sub&gt;i&lt;/sub&gt;: 1 &amp;le; i &amp;le; m}. So, that's the syntax. I will define the semantics by means of an example, the reader should be able to generalize easily.&lt;br /&gt;&lt;br /&gt;Suppose &amp;sigma; = {E} is just a vocabulary with one binary relation symbol. We wish to express 2-colorability, i.e., the property&lt;br /&gt;&lt;center&gt;&lt;br /&gt;    2COL = { G : G is a 2-colorable graph }&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;It can be proved that 2COL is inexpressible in FO. But, is it expressible in MSO? Positive.&lt;br /&gt;&lt;center&gt;&lt;br /&gt;    &amp;exist; X &amp;exist; Y( (X and Y partitions the vertex-set) and (any two adjacent vertices cannot both belong to X or Y) )&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Suppose we are given a graph G = (V,E). Then, we can evaluate this formula as follows: this formula is true in G iff there exist unary relations (i.e. sets) X and Y over G (i.e. X, Y &amp;sube; V) such that the body of this formula evaluates to true in the structure (V,E,X,Y) (i.e. iff G is 2-colorable). In this case, we intend X and Y to correspond to the two color classes that partition the vertex-set.  &lt;br /&gt;The first conjunct above can be expressed by the FO sentence &amp;forall;x( X(x) &lt;-&gt; Y(x) ). As an exercise, the reader might enjoy coming up with an FO formula that expresses the second conjunct.&lt;br /&gt;&lt;br /&gt;In fact, we can use the same trick to express k-colorability in MSO. Hence, we can immediately conclude that model-checking for MSO is NP-hard when only the models are part of the input (i.e. data-complexity is NP-hard). In fact, since MSO sentences are closed under negation, we also conclude that non-k-colorability is in MSO and therefore model-checking is coNP-hard as well.&lt;br /&gt;&lt;br /&gt;Let's conclude this post with a beatiful result that connects MSO to formal language theory. The proof of the result can be found in Straubing's monograph&lt;br /&gt;&lt;center&gt;&lt;br /&gt;    Finite Automata, Formal Logic, and Circuit Complexity&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;[Incidentally, David Molnar had a &lt;a href="http://www.livejournal.com/users/ephermata/108477.html#cutid1"&gt;nice post&lt;/a&gt; that explores the connection between Straubing's result on "simulating monoids" and homomorphic cryptosystems. So, I thought it would be nice to mention a result from his book, although it was originally proven by Buchi in 1960s.] Roughly speaking, the result says:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;   A language (a set of strings) L is regular iff L is MSO-definable&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;What does it mean for a language to be MSO-definable? For notational convenience, let's restrict ourselves to the alphabet {0,1}. First, a binary string s = s&lt;sub&gt;0&lt;/sub&gt;...s&lt;sub&gt;n-1&lt;/sub&gt; can be considered as a logical structure &lt;br /&gt;&lt;center&gt;&lt;br /&gt;    S(s) := ({0,...,n-1}; &lt;, U)&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;whose universe is {0,...,n-1} encoding the "positions" of the string, &lt; is interpreted as the usual linear ordering over such universe, and U is a unary relation with the interpretation that i &amp;isin; U iff s&lt;sub&gt;i&lt;/sub&gt;=1. So, if S(s) is a logical encoding of a string s and &amp;phi; is a formula over the vocabulary {&lt;,U}, the notion of 'S(s) |= &amp;phi;' makes sense. The language &lt;i&gt;defined&lt;/i&gt; by &amp;phi;, then, is&lt;br /&gt;&lt;center&gt;&lt;br /&gt;    { s &amp;isin; {0,1}&lt;sup&gt;*&lt;/sup&gt; : S(s) |= &amp;phi; }&lt;br /&gt;&lt;/center&gt; &lt;br /&gt;Buchi's result says that MSO-definable languages are precisely regular languages. Doner, Thatcher, and Wright extended this result to trees:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;    A set of trees is regular iff it is definable in MSO.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;These days, this result is widely employed in the area of "Foundations of XML", which have put automata, logic, and complexity theory under the same roof, which is no short of wondrous. If this interests you, take a loot at some surveys in &lt;a href="http://www.cs.toronto.edu/~libkin/csc2538/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113010735554417243?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113010735554417243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113010735554417243' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113010735554417243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113010735554417243'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/favorite-logic-of-october-2005-monadic.html' title='Favorite Logic of October 2005: Monadic Second-Order Logic'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113019133226270284</id><published>2005-10-24T17:02:00.001-05:00</published><updated>2005-10-24T17:16:06.193-05:00</updated><title type='text'>Let's play games</title><content type='html'>About a month ago I saved a draft on the complexity of games in finite model theory. Suddenly, this morning David Eppstein left a comment on my previous post, which reminded me about this draft. Incidentally, I have been a fan of his &lt;a href="http://www.ics.uci.edu/~eppstein/recmath.html"&gt;recreational math pages&lt;/a&gt;, especially the combinatorial game theory page, since two years ago, after taking a course on the theory of computation. Anyway, let's play some games now! The games that we will play are not something I invent myself ;-). They are actually pervasive in finite model theory.&lt;br /&gt;&lt;br /&gt;Here is the description. Two graphs G and G', and a natural number k are given. There are two players in this game, Spoiler and Duplicator. They will play for k rounds. In the i'th round (1 &amp;le; i &amp;le; k), Spoiler starts by picking a vertex in one of the graphs. Then, Duplicator will have to respond by picking a vertex in the other graph. After k rounds have been played, we obtain the vertices a&lt;sub&gt;0&lt;/sub&gt;, ..., a&lt;sub&gt;k&lt;/sub&gt; of G, and the vertices b&lt;sub&gt;0&lt;/sub&gt;, ..., b&lt;sub&gt;k&lt;/sub&gt; of G'. Duplicator is declared to be the winner if the subgraphs of G and G' that are induced by a&lt;sub&gt;i&lt;/sub&gt;'s and b&lt;sub&gt;j&lt;/sub&gt;'s are isomorphic. Otherwise, Spoiler wins. By the way, why are the players called Spoiler and Duplicator? If you think about this, Spoiler's goal is to show that the two graphs are not isomorphic (i.e. to spoil), while Duplicator's goal is to show that the two graphs are isomorphic by matching (or "duplicating") each of Spoiler's moves in such a way no difference in the two graphs are revealed. So, Duplicator is the "good" guy, while Spoiler is the "bad" guy. Duplicator has a winning strategy on this game if no matter how Spoiler moves in the i'th round, Duplicator can always find a move that will guarantee a "win" for Duplicator.&lt;br /&gt;&lt;br /&gt;The problem is, given G, G', and k, decide whether Duplicator has a winning strategy. Determine its complexity! I will post the solution and some open problems later.&lt;br /&gt;&lt;br /&gt;But, let me give you a simple example. Suppose G = K&lt;sub&gt;k&lt;/sub&gt; and G' = K&lt;sub&gt;k+1&lt;/sub&gt;. Then, it is easy to see that Duplicator has a winning strategy for the i-round game, where 0 &amp;le; i &amp;le; k (why?). However, a moment's thought will reveal that, for any i-round game on G and G' where i &gt; k, Spoiler has a winning strategy. Where G and G' are more complicated structures, it becomes harder to decide whether Duplicator has a winning strategy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113019133226270284?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113019133226270284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113019133226270284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113019133226270284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113019133226270284'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/lets-play-games_24.html' title='Let&apos;s play games'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113010761174530767</id><published>2005-10-23T17:42:00.000-05:00</published><updated>2005-10-24T09:22:22.476-05:00</updated><title type='text'>Some links of interests</title><content type='html'>I have just added some new links to several interesting blogs to my blogroll: &lt;a href="http://www.livejournal.com/users/ephermata/"&gt;David Molnar's blog&lt;/a&gt;, &lt;a href="http://www.learningcomputation.com/blog/"&gt;Kurt Van Etten's&lt;/a&gt;, and &lt;a href="http://www.scottaaronson.com/blog/"&gt;Scott Aaronson's&lt;/a&gt; (the complexity zoo keeper). It's great to see that the blogging community grows very well. This comes at one price however: there is just no time to visit regularly every single interesting blog there is. There are just too many good ones these days!&lt;br /&gt;&lt;br /&gt;Also, I have recently discovered a nice-looking online &lt;a href="http://www.math.uwaterloo.ca/~snburris/htdocs/ualg.html"&gt;textbook&lt;/a&gt; on 'universal algebra'. I haven't read it yet, though. But, it has some nice applications to computer science (automata theory, rewriting systems, etc.) and model theory. If you are a complexity theorist, a motivation to look at this book may be Straubing's monograph&lt;br /&gt;&lt;center&gt;&lt;br /&gt;Finite Automata, Formal Logic, and Circuit Complexity (Progress in Theoretical Computer Science), Springer, 1994.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;In this monograph, Straubing demonstrates the possibility of attacking tantalizing open problems in circuit complexity using automata theory, semigroup theory, and finite model theory. In fact, I have heard a rumour that Straubing very recently proved a separation result in complexity theory using this technique ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113010761174530767?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113010761174530767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113010761174530767' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113010761174530767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113010761174530767'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/some-links-of-interests.html' title='Some links of interests'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-113002826205872119</id><published>2005-10-22T19:44:00.000-05:00</published><updated>2005-10-23T17:05:34.063-05:00</updated><title type='text'>Strange things happen</title><content type='html'>Around this time last year I was busy preparing my applications to PhD programs in the U.K. and North America. In particular, University of Cambridge, which happened to be one of those universities I was interested in , requires each applicant to write a short research proposal. [As you of course know, I chose University of Toronto, which was my first preference all along.] So, I had a discussion with &lt;a href="http://www.cl.cam.ac.uk/users/ad260/"&gt;Anuj Dawar&lt;/a&gt;, who was the finite model theorist at Cambridge I wished to work with, on what sort of research directions to pursue for PhD studies. He gave me two research problems:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; &lt;i&gt;Homomorphism preservation theorem in the finite&lt;/i&gt;.&lt;br /&gt;  &lt;li&gt; &lt;i&gt;Do order-invariant FO properties have the zero-one law?&lt;/i&gt; &lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Don't worry if you don't know what they mean. The important thing to know is that both of these problems are long-standing open problems in the area. Both of these problems looked formidable to me then (and they still do now), and so I didn't bother thinking about them. Anyway, to my surprise, both of these problems have been resolved this year in quick succession. The first problem was solved positively by &lt;a href="http://web.mit.edu/~brossman/www/"&gt;Benjamin Rossman&lt;/a&gt;, who this year just started his graduate school. His paper titled&lt;br /&gt;&lt;center&gt;&lt;br /&gt;  Existential Positive Types and Preservation Under Homomorphisms&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;was recently published in this year's LICS proceeding and awarded Kleene's award for the best student paper. [Congratulation Ben!] You can find his paper on his web site. The second problem was very recently solved by &lt;a href="http://www.cs.toronto.edu/~libkin"&gt;Leonid Libkin&lt;/a&gt;, my supervisor. You have to wait if you want to get the paper.&lt;br /&gt;&lt;br /&gt;I wish I had collaborated with these guys on these problems. D'oh!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-113002826205872119?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/113002826205872119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=113002826205872119' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113002826205872119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/113002826205872119'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/strange-things-happen.html' title='Strange things happen'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112985710426848450</id><published>2005-10-20T19:49:00.000-05:00</published><updated>2005-10-20T20:11:44.280-05:00</updated><title type='text'>Special Programmes on Logic and Algorithms in Cambridge</title><content type='html'>During the first half of next year, there will be a series of &lt;a href="http://www.newton.cam.ac.uk/programmes/LAA"&gt;workshops&lt;/a&gt; on Logic and Algorithms (broadly construed) at Isaac Newton Institute for Mathematical Sciences (Cambridge). Looking at their workshop titles is enough to convince ourselves that there is something for everyone:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; Finite and Algorithmic Model Theory (9-13 January).&lt;/li&gt;&lt;br /&gt;  &lt;li&gt; Logic and Databases (27 February - 3 March).&lt;/li&gt;&lt;br /&gt;  &lt;li&gt; Mathematics of Constraint Satisfaction: Algebra, Logic, and Graph Theory (20-24 March).&lt;/li&gt;&lt;br /&gt;  &lt;li&gt; New Directions in Proof Complexity (10-13 April).&lt;/li&gt;&lt;br /&gt;  &lt;li&gt; Constraints and Verification (8-12 May).&lt;/li&gt;&lt;br /&gt;  &lt;li&gt; Games and Verification (3-7 July).&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;There will be quite a number of invited speakers from University of Toronto. They include &lt;a href="http://www.cs.toronto.edu/~sacook"&gt;Stephen Cook&lt;/a&gt;, &lt;a href-"http://www.cs.toronto.edu/~libkin"&gt;Leonid Libkin&lt;/a&gt;, and &lt;a href="http://www.cs.toronto.edu/~toni"&gt;Toniann Pitassi&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112985710426848450?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112985710426848450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112985710426848450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112985710426848450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112985710426848450'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/special-programmes-on-logic-and.html' title='Special Programmes on Logic and Algorithms in Cambridge'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112959279489050123</id><published>2005-10-17T16:59:00.000-05:00</published><updated>2005-10-17T20:38:27.480-05:00</updated><title type='text'>Logics capturing complexity classes</title><content type='html'>David Molnar &lt;a href="http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112939479306288003"&gt;asked&lt;/a&gt; a good question: (in my words) what does it mean to have a logic for a complexity class over ordered structures and over all (i.e. both ordered and unordered) structures? To answer this question, I will have to define what it means for a logic to &lt;i&gt;capture&lt;/i&gt; a complexity class. As always, I assume that you have read preliminaries 1 and 2, which can be accessed from the sidebar. [Please let me know if your browser has any problem displaying the symbols.]&lt;br /&gt;&lt;br /&gt;We will first recall the definition of "expressibility" of a property in a logic. Suppose we are given a &amp;sigma;-property (or boolean query) Q over a class C of &amp;sigma;-structures, i.e., Q is just a subset of C. Then, Q is said to be &lt;i&gt;expressible in a logic L over C&lt;/i&gt; if there exists an L-sentence f such that, for any A &amp;isin; C, A &amp;isin; Q iff A |= f. When C is not mentioned, C is assumed to be the class of all finite &amp;sigma;-structures.&lt;br /&gt;&lt;br /&gt;Observe that one can think of boolean queries as an analogue of the notion of languages, in the sense of formal language theory, or, more loosely, "computational problems". For example, consider the problem of testing hamiltonianicity of a graph. We can think of this problem as a boolean query H over the graph vocabulary such that a (finite) graph is in H iff it is hamiltonian. As a matter of fact, it is possible to encode any &amp;sigma;-structure as a (binary) string, and a string as a &amp;tau;-structure for some vocabulary &amp;tau;. Therefore, we can view any &amp;sigma;-boolean query as a language, and vice versa. So, we may redefine any complexity class K to be the set of all &amp;sigma;-properties that are computable in K, where &amp;sigma; ranges over all relational vocabularies. Hence, PTIME is the set of boolean queries that are computable in polynomial-time. For convenience, given a class C of structures, we also define K&lt;sub&gt;C&lt;/sub&gt; to be the set of properties Q that are computable in K, when we restrict the input to Q to be all structures in C that have the same vocabulary as Q. When C is not mentioned, we assume C to be the set of all finite structures. &lt;br /&gt;&lt;br /&gt;We are now ready to define the most important definition in descriptive complexity. A logic L is said to &lt;i&gt;capture&lt;/i&gt; a complexity class K over a class C of finite structures if for any Q &amp;isin; C: Q &amp;isin; K&lt;sub&gt;C&lt;/sub&gt; iff Q is expressible in L over C. Again, when C is not mentioned, it is assumed to be the set of all finite structures.&lt;br /&gt;&lt;br /&gt;We know that existential second-order logic (ESO) captures NP. This is Fagin's result, which was discussed in Lance's blog &lt;a href="http://weblog.fortnow.com/2005/10/favorite-theorems-logical.html"&gt;recently&lt;/a&gt;. On the other hand, it is open whether there exists a logic that captures PTIME. We know, however, that there exists a logic (FO+LFP: first-order logic + least fixed point operator) that captures PTIME over &lt;i&gt;all ordered structures&lt;/i&gt;. [Ordered structures mean that, we assume a binary relation in the structure to be interpreted as a total linear ordering on the universe.] This result was proven independently by Neil Immerman and Moshe Vardi in the 80's. You might be wondering whether FO+LFP captures PTIME. The answer is no: even testing whether a graph has an even number of elements cannot be done in FO+LFP without the help of an "external" linear order. The question whether there exists a logic for PTIME was first raised by Chandra and Harel in the 70's. Also, as I mentioned in a previous post, Yuri Gurevich conjectured that there is no logic for P (and this will imply that P &amp;ne; NP). On a related note, it is also open whether there is a logic for any important complexity class below NP such as PTIME, L, NL, etc. &lt;br /&gt;&lt;br /&gt;A relevant question is the following: why do we want to have a logic that capture complexity classes over all finite structures (not just over ordered structures)? The answer is technical: linear orderings make an inexpressibility proof more complicated by an order of magnitude!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112959279489050123?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112959279489050123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112959279489050123' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112959279489050123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112959279489050123'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/logics-capturing-complexity-classes.html' title='Logics capturing complexity classes'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112941445656597468</id><published>2005-10-15T17:10:00.000-05:00</published><updated>2005-10-15T18:11:06.353-05:00</updated><title type='text'>Fun Proof Techniques</title><content type='html'>About three years ago, I took a course on the theory of computation. I remember that during the second lecture, our instructor introduced us to the mathematical background, and in particular proof techniques. He started saying "in mathematics, we have proof by induction, proof by construction, and proof by contradiction ...". Before he finished the lecture, he presented to us a list of fun proof techniques which work in practice, some of which are listed &lt;a href="http://www.xs4all.nl/~jcdverha/scijokes/9_7.html"&gt;here&lt;/a&gt;. My favorite ones are:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt;Proof by blatant assertion: this is marked by expressions like "obviously", "trivially", "any moron can see that".&lt;br /&gt;  &lt;li&gt;Proof by example: you sketch a proof that the theorem is true for n = 4, and claim that this proof generalizes to all n.&lt;br /&gt;  &lt;li&gt;Proof by picture: picture + handwaving makes a pretty compelling argument in a classroom.&lt;br /&gt;  &lt;li&gt;Proof by omission: we state the theorem and the proof is left as an exercise for the reader.&lt;br /&gt;  &lt;li&gt;Proof by accumulated evidence: for three decades we have worked very hard to produce an efficient algorithm for NP-complete problems without results; therefore P != NP.&lt;br /&gt;  &lt;li&gt;Proof by reference to famous people: I saw Karp on the elevator, and he thought that our problem is NP-complete!&lt;br /&gt;  &lt;li&gt;Proof by confusion: P = NP &lt;=&gt; P - NP = 0 &lt;=&gt; P(1-N) = 0 &lt;=&gt; P = 0 or N = 1; but the last expression is false and therefore P != NP.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;What are your favorite proof techniques?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112941445656597468?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112941445656597468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112941445656597468' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112941445656597468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112941445656597468'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/fun-proof-techniques.html' title='Fun Proof Techniques'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112939479306288003</id><published>2005-10-15T11:27:00.000-05:00</published><updated>2005-10-15T12:17:06.306-05:00</updated><title type='text'>An approach to prove P != NP</title><content type='html'>Let K be a complexity class. We wish to recursively enumerate exactly those "graph languages" that can be decided in K. By graph languages, we mean languages whose inputs are graphs (say in adjacency matrix format) such that two isomorphic graphs are either &lt;i&gt;both&lt;/i&gt; in the language or &lt;i&gt;both&lt;/i&gt; not in the language. So, graph languages are "closed under isomorphisms". If this can be done for K, we say that the set of K graph properties is &lt;i&gt;recursively indexable&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;The set of NP graph properties is known to be recursively indexable. This is due to the fact that we have a logic for NP (i.e. existential second-order logic). On the other hand, it is a long-standing open problem whether P graph properties are recursively indexable. [No, you can't use the usual enumeration for clocked poly-time Turing machines as they contain "bad" graph languages.] Of course, the existence of a logic for P, which is another big open problem in finite model theory, will imply that P graph properties are recursively indexable. [(LFP+&lt;)&lt;sub&gt;inv&lt;/sub&gt; captures PTIME properties over &lt;em&gt;ordered&lt;/em&gt; structures only.] Yuri Gurevich conjectured that P graph properties are not recursively indexable, and therefore, there is no logic for P. See &lt;a href="http://research.microsoft.com/~gurevich/Opera/74.pdf"&gt;his paper&lt;/a&gt;. In particular, if the conjecture is true, then P is different from NP as NP graph properties are recursively indexable! So, try to prove that P graph properties are not recursively indexable!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112939479306288003?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112939479306288003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112939479306288003' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112939479306288003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112939479306288003'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/approach-to-prove-p-np.html' title='An approach to prove P != NP'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112926183835591254</id><published>2005-10-13T21:17:00.000-05:00</published><updated>2005-10-28T23:03:19.476-05:00</updated><title type='text'>Favorite Logic of September 2005: First-order Logic (3)</title><content type='html'>&lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-september-2005-first.html"&gt;previous&lt;/a&gt;|&lt;br /&gt;&lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-october-2005-monadic.html"&gt;next&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We are somewhat behind our schedule. So, let's close it out now. This post concludes our series of posts on first-order logic as the favorite logic of last month (oops!). I will give a glimpse of the expressiveness of first-order logic, and tools for showing inexpressibility results. The literature on this topic is so vast that it is impossible to cover all possible results and tools; so, I will mention only a selection of results and tools, and give examples on how to apply the tools mentioned. Also, see the preliminaries before reading this post.&lt;br /&gt;&lt;br /&gt;Let's get right down to business. Our main problem can be described as follows: suppose Q is a &amp;sigma;-property (i.e. boolean query), and we want to know whether there exists a first-order sentence that defines Q. If there is one, then it suffices to come up with a sentence f that defines Q. If not, what shall we do?&lt;br /&gt;&lt;br /&gt;Well ... in model theory, we have a plethora of tools in our toolbox:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; Compactness: a theory T is consistent iff every finite subset of T is consistent.&lt;br /&gt;  &lt;li&gt; (Restricted form of) Lowenheim-Skolem: If a theory has an infinite model, then it has a countable model.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Let's try compactness on an example. Suppose we want to show that the property GC testing graph connectivity is not first-order definable. Suppose to the contrary that f defines GC. Then, consider the theory T = {f} &amp;cup; { &amp;pi;&lt;sub&gt;n&lt;/sub&gt; : n is positive nat. number } where &amp;pi;&lt;sub&gt;n&lt;/sub&gt; is the first-order sentence&lt;br /&gt;&lt;center&gt;&lt;br /&gt;    &amp;exist;x&amp;exist;y( there is no path of length n from x to y )&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Clearly, this sentence is first-order. By compactness, it is easy to show that T is consistent (just take the biggest n for which &amp;pi;&lt;sub&gt;n&lt;/sub&gt; appears in this finite subset of T and "elongate" the path from x to y by increasing the number of elements in the universe). So, we have a model M for T. But in M, x and y are not connected by a (finite) path, contradicting f. Therefore, f cannot be a first-order sentence.&lt;br /&gt;&lt;br /&gt;That's short and simple! The problem, however, is that this doesn't prove that FO cannot express GC in the finite (i.e. the ground set of GC is restricted to all finite graphs only), as &lt;a href="http://logicomp.blogspot.com/2005/05/no-compactness-in-finite-model-theory.html"&gt; compactness theorem fails in the finite&lt;/a&gt;. So, how do we prove that GC cannot be expressed in the finite? It is a sad fact that most of the tools from model theory fails in the finite. Some of the few that survive include Ehrenfeucht-Fraisse game theorem, Gaifmann-locality, and Hanf-locality. Here we shall use the notion of Hanf-locality to prove that GC is not FO definable.&lt;br /&gt;&lt;br /&gt;Let me try to intuitively illustrate the notion of Hanf-locality for graphs. A graph property P (over all finite structures) is said to be &lt;i&gt;hanf-local&lt;/i&gt; if there exists a number d such that for every two finite graphs A and B:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;    that A and B &lt;i&gt;d-locally look the same&lt;/i&gt; implies that A and B agree on P.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;The smallest such number d is called hanf-locality rank of P. What do we mean by "d-locally look the same"? A and B d-locally look the same if there exists a bijection g from V(A) to V(B), the vertices of A and B, such that for every c in V(A) there exists an isomorphism from the d-neighborhood of A around c to the d-neighborhood of B around g(c) which maps c to g(c). That is, if you have only limited local vision (say up to d distance) and if you pick a spot c in the graph A, I can always give you another spot in the graph B (via the bijection) such that you cannot see the difference between your surroundings on these two different spots.&lt;br /&gt;&lt;br /&gt;Now, our strategy for proving that GC is not first-order expressible is:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; Show that every first-order definable query is hanf-local.&lt;br /&gt;  &lt;li&gt; Show that GC is not hanf-local.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;We won't prove item 1. We will however sketch how to prove item 2. Suppose GC is hanf-local with rank d. Then, define two graphs G and G' as follows. Take a number p &gt;&gt; d. G is a cycle with 2p nodes, and G' is a disjoint union of cycles each with p nodes. You can easily check that there is only one type of d-neighborhood (up to isomorphism) around any vertex c in G and G', i.e., the 2d+1-path with c right in the middle. So, just take any arbitrary bijection between G and G' to show that they d-locally look the same. However, G is connected but G' is not, contradicting the assumption that GC is hanf-local!&lt;br /&gt;&lt;br /&gt;I would love to talk about Ehrenfeucht-Fraisse games and Gaifmann locality, which are equally important tools in finite model theory for proving FO inexpressibility. Sadly, this will only make this post longer than it already is. So, I will refer you to Leonid Libkin's Elements of Finite Model Theory for more on this (and also for the proper acknowledgement of these results!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112926183835591254?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112926183835591254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112926183835591254' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112926183835591254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112926183835591254'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/favorite-logic-of-september-2005-first_13.html' title='Favorite Logic of September 2005: First-order Logic (3)'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112906146505705902</id><published>2005-10-11T15:04:00.000-05:00</published><updated>2005-10-11T15:13:06.190-05:00</updated><title type='text'>Happy Thanksgiving!</title><content type='html'>Most of you in the U.S. might probably be bewildered by what I'm saying. However, yesterday was a thanksgiving day in Canada. This was my first encounter of any kind of "thanksgiving day" in my entire life as I am from Australia.&lt;br /&gt;&lt;br /&gt;Anyway, I guess I will have to get used to this custom as I will be here for another 5 years. So, happy thanksgiving! Thanks to all of you who have left useful comments on my blog. I do learn a lot from all these comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112906146505705902?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112906146505705902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112906146505705902' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112906146505705902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112906146505705902'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/happy-thanksgiving.html' title='Happy Thanksgiving!'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112904392082777448</id><published>2005-10-11T10:14:00.000-05:00</published><updated>2005-10-11T10:19:32.286-05:00</updated><title type='text'>Lance's Recent Post on Fagin's Theorem</title><content type='html'>Lance Fortnow &lt;a href="http://weblog.fortnow.com/2005/10/favorite-theorems-logical.html"&gt;posted&lt;/a&gt; his favorite theorem of this month on his blog: it's Fagin's theorem, one of the most important results (and the first of its kind) in descriptive complexity theory. Nice!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112904392082777448?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112904392082777448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112904392082777448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112904392082777448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112904392082777448'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/lances-recent-post-on-fagins-theorem.html' title='Lance&apos;s Recent Post on Fagin&apos;s Theorem'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112898056113603657</id><published>2005-10-10T15:45:00.000-05:00</published><updated>2005-10-24T10:06:46.290-05:00</updated><title type='text'>Favorite Logic of September 2005: First-order Logic (2)</title><content type='html'>(&lt;a href="http://logicomp.blogspot.com/2005/09/favorite-logic-of-september-2005-first.html"&gt;previous&lt;/a&gt;|&lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-september-2005-first_13.html"&gt;next&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Howdy! Today we will resume on our discussion of first-order logic. In particular, we will talk about model-checking.&lt;br /&gt;&lt;br /&gt;Diving right in ... the problem is as follows: given a finite structure M and an FO formula f, we want to test whether M |= f, i.e., f is true in M. Immediately, I hear you say that this problem is trivially decidable as we can use the inductive definition of M |= f to do the testing.  Well ... it is decidable, but we want to know its complexity. We won't talk about how to represent M, although it matters in this case, as we will only mention results. You can represent f in any way you like, e.g., the parse tree for f.&lt;br /&gt;&lt;br /&gt;There are three common measures for the complexity of this problem:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt; Data Complexity: the input is M (i.e. f is fixed). So, we measure the performance of any algorithm for the problem in terms of |M| only.&lt;br /&gt;  &lt;li&gt; Expression complexity: the input is f (i.e. M is fixed).&lt;br /&gt;  &lt;li&gt; Combined complexity: the input is (M,f).&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Data complexity measure is commonly used in the field of databases, where usually M is very big and the query f is small. Combined complexity and expression complexity measure is commonly used in the area of verification (commonly called model-checking), where f can be very large and complex. If the reader is curious about any of these areas, I will gladly recommend "Foundations of Databases" by Abiteboul et al. and "Logic in Computer Science" by Huth et al.&lt;br /&gt;&lt;br /&gt;It is not hard to analyze the running time of the algorithm for testing M |= f induced by the usual inductive definition of |=. You will get O(|f| x |M|^k) where k is the &lt;i&gt;width&lt;/i&gt; of f, i.e., the maximum number of free variables in every subformula of f. So, k does depend on f. That is, the algorithm runs polynomial in |M| but exponential in |f|. In fact, one can show that the data complexity of this problem with respect to FO is AC^0, where as the expression and combined complexity is PSPACE-complete. As an exercise, the reader might want to try to prove the latter as it is quite simple (hint: reduce the problem QBF).&lt;br /&gt;&lt;br /&gt;Papadimitriou and Yannakakis have an interesting paper that refines these complexity measures using the theory of parameterized complexity. The motivation of this paper is the following: although |f| &lt;&lt; |M|, the fact that |f| is an exponent of |M| is no good because even for "small" |f|, say |f| = 20, an algorithm that runs in O(n^20) cannot be considered tractable (especially when n is really big, like in database applications). So, the question then is whether it is possible to have an algorithm for testing M |= f that runs in g(|f|)|M|^c where g is a function from natural numbers to natural numbers, and c is a constant independent of both |M| and |f|. The result of this paper essentially stipulates that any algorithm for evaluating M |= f must have |f| as an exponent of |M|, unless the W hierarchy collapses. See the following reference if interested:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;        On Complexity of Database Queries, Papadimitriou and Yannakakis, JCSS, Vol 58, 1999.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;We will next talk about the expressive power of FO.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112898056113603657?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112898056113603657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112898056113603657' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112898056113603657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112898056113603657'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/favorite-logic-of-september-2005-first.html' title='Favorite Logic of September 2005: First-order Logic (2)'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112820755924949637</id><published>2005-10-01T17:52:00.000-05:00</published><updated>2005-10-01T17:59:19.256-05:00</updated><title type='text'>Bugs!</title><content type='html'>I have just spent about two hours writing about the second part of favourite logic of september 2005 and, when I saved it as a draft, my firefox just freezed and all the text got erased. Ah well. In view of this and that there is no working computers in my office, I think I will just start posting when I get my powerbook back, which is next week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112820755924949637?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112820755924949637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112820755924949637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112820755924949637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112820755924949637'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/10/bugs.html' title='Bugs!'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112757417437419231</id><published>2005-09-24T08:30:00.000-05:00</published><updated>2005-09-26T08:41:36.106-05:00</updated><title type='text'>P vs. NP: let's think out loud</title><content type='html'>We all know this question. It is listed as one of the seven millenium problem by &lt;a href="http://www.claymath.org/"&gt;Clay Mathematic Institute&lt;/a&gt;. We also know that most people believe that P is different from NP. For example, in the &lt;a href="www.cs.umd.edu/~gasarch/papers/poll.ps"&gt;P vs. NP Poll&lt;/a&gt; by Gasarch (published in ACM SIGACT Newsletter), out of the 77 people who offered opinion, 61 believed that P is different from NP, 9 believed that P = NP, and others believed that the question is "formally independent" in some form. Well, what do you believe? If you are as yet undecided, I will try to unravel the reasons why most people believe that P is different from NP, and then speak about why it is equally reasonable to believe that P = NP. I will not talk about whether P vs. NP is formally independent of ZFC.&lt;br /&gt;&lt;br /&gt;Two most common reasons for believing that P is different from NP are the following:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt;There are (literally) tons of problems which are NP-complete (i.e. if one is in P, and all will be in P), and nobody has been able to devise any polynomial-time algorithm for any of these problems. However, from our experience, we know that we are "good" at devising polynomial-time algorithms, but not very good at proving lower bounds. [Just look at all the great &lt;br /&gt;algorithms we have  devised. Also witness that we can't even prove that satisfiability for propositional logic cannot be solved in O(n&lt;sup&gt;2&lt;/sup&gt;).]&lt;br /&gt;  &lt;li&gt; We can intuitively think of P as the set of problems for which we can produce proofs in polynomial time, and of NP as the set of problems for which, given a proof, we can check that it is &lt;em&gt;indeed&lt;/em&gt; a proof in polynomial time. Well, from our experience with math, we know that producing proofs is usually much harder than verifying proofs. &lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Well, both of these reasons sound very reasonable. However, I also think that there are holes in these arguments (because of which, it is equally reasonable to believe that P = NP). Most people associate the complexity class P with the set of problems that we can solve "efficiently", and classify non-polynomial algorithms as bad (or inefficient) algorithms. [If you have done some computer science courses, you should see this immediately.] But this is a wrong assumption. For example, the Simplex algorithm for solving linear programming runs in exponential time in the worst case (I believe the same is true in average case), but the algorithm runs very efficiently in practice. There are also polynomial-time algorithms for linear programming, but it seems that none of those have outperformed the simplex algorithm in practice. Furthermore, the exponentiallity of the simplex algorithm's running time only occurs on some pathological examples that never appear in practice. On the other hand, there are many polynomial-time algorithms that do not actually run efficiently in practice. A counterexample for this (quoting &lt;a href="http://www.cs.toronto.edu/~sacook/homepage/JACMpvsnp.ps"&gt;Cook's paper&lt;/a&gt;) is due to a result by Robertson-Seymour that says that every minor closed family of graphs can be recognized in O(n&lt;sup&gt;3&lt;/sup&gt;), but the hidden constant is so huge that the algorithm is inefficient in practice.&lt;br /&gt;&lt;br /&gt;So, maybe there exist polynomial-time algorithms for satisfiability for propositional logic, it's just that the smallest exponents are so big (maybe bigger than the number of atoms in the visible universe, 10&lt;sup&gt;90&lt;/sup&gt;). [Of course, the time hierarchy theorem tells us that there is an problem solvable in n&lt;sup&gt;k&lt;/sup&gt;, but not solvable in n&lt;sup&gt;k-1&lt;/sup&gt;.] Perhaps, the smallest size of the polynomial-time algorithm that solve satisfiability for propositional logic already outnumbers 10&lt;sup&gt;90&lt;/sup&gt;. Who knows! Perhaps, we are good at devising efficient algorithms, but not so good at devising polynomial-time algorithms in general. Maybe the following question is more relevant: assuming that P = NP, give an upper bound on the size of the algorithm (by this I mean, multi-tape Turing Machine) that solves satisfiability in polynomial-time; does it necessarily consist 10, 100, or 10&lt;sup&gt;90&lt;/sup&gt; states?&lt;br /&gt;&lt;br /&gt;In a sense, if you're a practical-minded person, P vs. NP doesn't really matter at all, and there is technical reason why. Recall that the linear speedup theorem (look at Papadimitriou's &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/0201530821/103-1306913-7532656?v=glance"&gt;Computational Complexity&lt;/a&gt;) says that if a problem is solvable in `f(n)`, then for any `epsilon &gt; 0`, there exists an algorithm that solves the same problem which runs in `epsilon f(n) + n + 2`. So, if your algorithm runs in 2&lt;sup&gt;n&lt;/sup&gt;, then just use this theorem to speed up your algorithm for all n that is relevant in practice. [Of course, if you check the proof, the size of the resulting algorithm grows quite so quickly in the size of `n`, that there is no way you can write your algorithm  on earth. So, the practically-minded people will probably settle with heuristics instead.]&lt;br /&gt;&lt;br /&gt;Anyway, I think that it is very possible [correction: 'very' -&gt; 'equally'] that P equals NP, and the proof of which is non-constructive (or we may never actually find the proof, because the length of the shortest possible proofs exceeds the number of atoms in the visible universe).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112757417437419231?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112757417437419231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112757417437419231' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112757417437419231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112757417437419231'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/09/p-vs-np-lets-think-out-loud.html' title='P vs. NP: let&apos;s think out loud'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112753050111688952</id><published>2005-09-23T21:43:00.000-05:00</published><updated>2005-09-23T21:55:01.123-05:00</updated><title type='text'>Toronto's temperature: the extremes</title><content type='html'>The last couple of weeks have been quite hot in Toronto (mostly around 25 degrees C). I actually heard that this is unusually hot for September in Toronto. The humidity just makes it worse. You'll find yourself taking a shower three to four times per day.&lt;br /&gt;&lt;br /&gt;Since last night, Toronto's temperature has cooled off quite a bit. Throughout today it's been around 18 degree C, just the perfect temperature. I wish it would be like this all year round. But that was just wishful thinking, because I have to be prepared for -20 degrees C in December and January. Actually somebody told me that during winter in Toronto, the wind can be quite strong. This will just make it worse ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112753050111688952?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112753050111688952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112753050111688952' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112753050111688952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112753050111688952'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/09/torontos-temperature-extremes.html' title='Toronto&apos;s temperature: the extremes'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112752910360920005</id><published>2005-09-23T20:30:00.000-05:00</published><updated>2005-10-24T09:01:07.543-05:00</updated><title type='text'>Favorite Logic of September 2005: First-order logic (1)</title><content type='html'>&lt;a href="http://logicomp.blogspot.com/2005/10/favorite-logic-of-september-2005-first.html"&gt;next&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some time ago I promised to make a series of postings on "My Favourite Logic of The Month" every month starting from September 2005. Well, here we officially start until we run out of "nice" logics.&lt;br /&gt;&lt;br /&gt;Why first-order logic (FO)? It is the simplest non-trivial logic that we can use to express many mathematical statements. In fact, it is believed that first-order set theory is sufficient to axiomatize mathematics. Besides, most of you have already been exposed to FO, which will make my task much simpler. If any terminologies here sound obscure, check out &lt;a href="http://logicomp.blogspot.com/2005/05/finite-model-theory-preliminaries-2.html"&gt;preliminaries&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We will take a look at three aspects of FO: (1) the problem of testing satisfiability and finite satisfiability, (2) model-checking, and (3) expressive power. I am trying to cover topics that hopefully satisfy finite model theorists, and other logicians. In this posting, I will only speak about (1), saving the other two for some time next week.&lt;br /&gt;&lt;br /&gt;Satisfiability: given an FO formula, test whether it is satisfiable. Well, what can we say about this problem with respect to FO? It is undecidable (actually r.e.-complete) [correction: complete for co-r.e, thanks to Richard Zach.]; this is a well-known result proven by Turing, which shattered Hilbert's dream to axiomatize mathematics. If you're into this kind of problem, check out the following book&lt;br /&gt;&lt;center&gt;&lt;br /&gt;  The Classical Decision Problem by Gr&amp;auml;del et al.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Actually, many fragments of FO are decidable, but most are provably intractable. The most complicated such result that I know of is Rabin's result of the decidability of monadic second order theory of infinite binary tree. [Whatever this means, but we may want to delve into this awesome result in the near future.] Although decidable, the problem has &lt;a href="http://www.complexityzoo.com/#elementary"&gt;non-elementary&lt;/a&gt; complexity.&lt;br /&gt;&lt;br /&gt;Finite Satisfiability: given an FO formula, test whether it has a finite model. I believe that this problem, if decidable, has more practical applications, e.g., databases. Unfortunately, this problem is also undecidable (actually complete for co-r.e.) [correction: complete for r.e.]. This result is due to Trakhtenbrot. Combining this result and that satisfiability is complete for co-r.e., we can readily imply that &lt;a href="http://en.wikipedia.org/wiki/Original_proof_of_Gödel's_completeness_theorem"&gt;completeness theorem&lt;/a&gt;, which says that satisfiability is r.e. [correction: satisfiability is co-r.e., thanks to Richard Zach.], fails in the finite. Trakhtenbrot's result in fact marks the beginning of finite model theory. Later on, Fagin proved a logical characterization of NP with a technique that is "isomorphic" to that used to prove Trakhtenbrot's theorem (see &lt;a href="http://en.wikipedia.org/wiki/Second-order_logic"&gt;this page&lt;/a&gt;). For more on finite satisfiability of FO, see Libkin's &lt;a href="http://www.cs.toronto.edu/~libkin/fmt/"&gt;Elements of Finite Model Theory&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112752910360920005?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112752910360920005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112752910360920005' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112752910360920005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112752910360920005'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/09/favorite-logic-of-september-2005-first.html' title='Favorite Logic of September 2005: First-order logic (1)'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112618944253885233</id><published>2005-09-08T09:17:00.000-05:00</published><updated>2005-09-08T09:51:03.256-05:00</updated><title type='text'>CAPTCHA</title><content type='html'>It stands for Completely Automated Public Turing Test to  Tell Computers and Humans Apart. Although I still wonder why it is abbreviated CAPTCHA instead of CAPTTTCHA, it was (re)brought to my attention due to the spam I got for my posting yesterday. Anyway, CAPTCHA is developed by researchers from Carnegie Mellon University. &lt;a href="http://www.captcha.net"&gt;Here&lt;/a&gt; is their main website. Briefly, the goal of CAPTCHA project is to use Artificial Intelligence to help internet security (e.g. to prevent spams). The underlying assumption behind CAPTCHA is that there are tasks that humans can do, but computers can't. For example, since I enabled the word verification (from CAPTCHA project), each time you wish leave a comment on this blog, you will be asked to read and verify a distorted text (which is an image file). Although the task seems trivial to humans, tasks like this are non-trivial for computers (at least for now). We don't know whether computers will someday possess our ''intelligence''. But CAPTCHA is one reason why a 'no' answer will have positive impact on our society.&lt;br /&gt;&lt;br /&gt;Ironically, the distorted texts are actually generated by computers ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112618944253885233?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112618944253885233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112618944253885233' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112618944253885233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112618944253885233'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/09/captcha.html' title='CAPTCHA'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-112614744788022963</id><published>2005-09-07T21:44:00.000-05:00</published><updated>2005-09-07T21:44:08.246-05:00</updated><title type='text'>Back!</title><content type='html'>Hello all! It's been quite some time since I blogged last. But I am happy to inform you that I can start blogging again on a regular basis.&lt;br /&gt;&lt;br /&gt;A little bit about my summer internship in Los Alamos ... I'll start with my work in Los Alamos. I worked mostly on the complexity aspect of Sequential Dynamical Systems (SDS). Briefly, SDSs are a formal model of computer simulation (somewhat like cellular automata) proposed by Los Alamos researchers. I won't tell you more about it (if you are curious as to what they are, read &lt;a href="http://citeseer.ist.psu.edu/552995.html"&gt;this survey&lt;/a&gt;). Anyway, in retrospect Los Alamos was a nice place to visit. The scenery was awesome, the people were friendly, and you can do some cool research there. [Fortunately, what Jon &lt;a href="http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111818684528331988"&gt;said&lt;/a&gt; didn't happen to me or any of my friends.] The down side, however, is that there is pretty much nothing else in Los Alamos. The town is practically dead after 6 --- there is virtually nobody walking on the street. And ... to my surprise, there was no shopping mall whatsoever in Los Alamos. One has to go to Santa Fe, which is the closest biggest city to Los Alamos, to find the nearest shopping mall. Anyway, I will put some pictures from my stay in Los Alamos when I finish developing the pictures.&lt;br /&gt;&lt;br /&gt;It is a nice feeling to know that I will be doing logic on a regular basis from this time onwards. I arrived in Toronto last Saturday to start my graduate studies. I haven't completely settled yet, but I couldn't help myself blogging again after the internet connection was set up in my apartment here. Incidentally, this week is Toronto's Computer Science Department's orientation week. I am so happy to meet many logicians here, including some of the most well-known ones. For instance, Moshe Vardi (Rice University) came to visit this Tuesday and gave a talk outlining the development of logic and how computer science was born. I, and I believe most people in the audience (including the non-logicians), found the talk extremely entertaining and insightful. As my advisor, Leonid Libkin, put it this morning, Vardi has the rare gift to be both a top-notch researcher and an excellent speaker. [As you and I know, most researchers who do great research are poor at explaining their research to others.]&lt;br /&gt;&lt;br /&gt;Anyhow, that is all I have for now. As a final remark, I haven't forgotten about my favourite logic of the month and will write on it some time next week after I have completely settled.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-112614744788022963?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/112614744788022963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=112614744788022963' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112614744788022963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/112614744788022963'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/09/back.html' title='Back!'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111818684528331988</id><published>2005-06-07T18:14:00.000-05:00</published><updated>2005-06-07T18:27:25.286-05:00</updated><title type='text'>Interning in Los Alamos National Laboratory</title><content type='html'>Howdy! I have just recently started a summer research internship in Los Alamos National Laboratory. As my summer research topic is not directly related to logic, I will probably have to switch to a hibernation mode as far as blogging Logicomp is concerned. I will &lt;i&gt;definitely&lt;/i&gt; resume with Logicomp when I start my graduate studies in Toronto (early September). One interesting thing that I plan to post on Logicomp in the future is the "Favorite Logic of the Month" in which I will mention my favorite logic of that month and a general method for proving (in)expressibility.&lt;br /&gt;&lt;br /&gt;Anyway, until then I hope everyone have a great time!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111818684528331988?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111818684528331988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111818684528331988' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111818684528331988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111818684528331988'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/06/interning-in-los-alamos-national.html' title='Interning in Los Alamos National Laboratory'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111743000354265776</id><published>2005-05-30T00:02:00.000-05:00</published><updated>2005-05-30T00:13:51.526-05:00</updated><title type='text'>Nice finite model theory course notes</title><content type='html'>I have recently found nice introductory course notes on finite model theory. You can find it &lt;a href="http://www.math.helsinki.fi/logic/people/jouko.vaananen/shortcourse.pdf"&gt;here&lt;/a&gt;. Thanks to the author for making the notes publicly available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111743000354265776?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111743000354265776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111743000354265776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111743000354265776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111743000354265776'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/nice-finite-model-theory-course-notes.html' title='Nice finite model theory course notes'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111742936079851859</id><published>2005-05-29T23:15:00.000-05:00</published><updated>2005-05-30T00:17:37.506-05:00</updated><title type='text'>No compactness in finite model theory</title><content type='html'>The compactness theorem for first-order logic is indisputably the most fundamental theorem in model theory. It says that &lt;br /&gt;&lt;center&gt;&lt;br /&gt; A theory has a model iff every finite subset of it has a model&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;I will say no more about the usefulness of this theorem in model theory. But what I will speak about now is the failure of compactness in finite model theory, as I already remarked &lt;a href="http://logicomp.blogspot.com/2005/05/finite-model-theory-preliminaries-2.html"&gt;before&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In finite model theory (FMT), we are only concerned with finite structures. Hence compactness theorem in FMT would read&lt;br /&gt;&lt;center&gt;&lt;br /&gt; A theory has a finite model iff every subset of it has a finite model&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;It is easy to conjure a counterexample for this statement. Consider the first-order theory `T` over the empty vocabulary containing sentences of the following form (for all `k &gt;= 2`):&lt;br /&gt;&lt;center&gt;&lt;br /&gt;`S_k = EE x_1,...,x_k( x_1 != x_2 ^^ x_1 != x_3 ^^ cdots ^^ x_{k-1} != x_k )`&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;It is easy to see that every subset `T'` of `T` has a finite model; if `n` is the largest integer such that `S_n in T'`, then the structure containing `n` elements satisfies `T'`. It is also easy to see that `T` has no finite model. (QED)&lt;br /&gt;&lt;br /&gt;Likewise, many other fundamental theorems in model theory, such as Craig Interpolation Theorem, are also casualties of finitization (more on this later); Ehrenfeucht-Fraisse games being the only general tool available for proving inexpressibility results in finite model theory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111742936079851859?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111742936079851859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111742936079851859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111742936079851859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111742936079851859'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/no-compactness-in-finite-model-theory.html' title='No compactness in finite model theory'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111733278338092833</id><published>2005-05-28T19:23:00.000-05:00</published><updated>2005-09-08T09:09:38.376-05:00</updated><title type='text'>Finite Model Theory: Preliminaries (2)</title><content type='html'>We now focus on a very important concept in finite model theory: `k`-ary queries. In fact, one goal of finite model theory is to establish a useful, if possible &lt;i&gt;complete&lt;/i&gt;, criterion for determining expressibility (ie, definability) of a query in a logic (such as, first-order logic) on finite structures. For example, we may ask if the query &lt;i&gt;connectivity&lt;/i&gt; for finite graphs, which asks whether a finite graph is connected, is expressible in first-order logic. The answer is 'no', though we won't prove this now. [Curious readers are referred to Libkin's &lt;a href="http://www.cs.toronto.edu/~libkin/fmt/"&gt;Elements of Finite Model Theory&lt;/a&gt; or Fagin's excellent &lt;a href="http://www.almaden.ibm.com/cs/people/fagin/dimacs97.pdf"&gt;survey paper&lt;/a&gt;.]&lt;br /&gt;&lt;br /&gt;We shall start by recalling the notion of homomorphisms and isomorphisms between structures. Given two `sigma`-structures `fr A` and `fr B`, a &lt;i&gt;homomorphism&lt;/i&gt; between them is a function `h: A -&gt; B` such that `h(c^{fr A}) = c^{fr B}` for every constant symbol `c in sigma`, and `h(bb a) := (h(a_1), ..., h(a_r)) in R^{fr B}`, for every `r`-ary relation symbol `R in sigma` and `bb a := (a_1,...,a_r) in R^{fr A}`. So, homomorphisms are &lt;i&gt;tuple-preserving&lt;/i&gt; functions (here, think of a tuple as an `r`-ary vector prepended by an `r`-ary relation symbol, eg, `R(1,2,3)`). Now &lt;i&gt;isomorphisms&lt;/i&gt; are basically bijective homomorphisms whose inverse are also homomorphisms. Intuitively, this means that two isomorphic structures are the same after &lt;i&gt;relabeling the elements of the universe in one of these structures&lt;/i&gt;. We write `fr A ~= fr B` to denote that `fr A` and `fr B` be isomorphic. &lt;br /&gt;&lt;br /&gt;Now we define what we mean by &lt;i&gt;queries&lt;/i&gt;. Fix a vocabulary `sigma` and a class `cc M` of (not necessarily all) finite `sigma`-structures. This class `cc M` will be referred to as a &lt;i&gt;ground set&lt;/i&gt;. Now, for `k &gt;= 0`, a `k`-ary query `cc Q` is a function associating each `fr A in cc M` to a subset of `A^k` such that `cc Q` is closed under isomorphisms, ie, whenever `h: A -&gt; B` is an isomorphism, we have `h( cc Q(fr A)) = cc Q(fr B)`. Now this query `cc Q` is said to be &lt;i&gt;expressible&lt;/i&gt; (or &lt;i&gt;definable&lt;/i&gt;) in a logic `L` over `cc M` if there exists a `L`-formula `phi` over `sigma` with `k` free variables such that for every `fr A in cc M`, `cc Q(fr A) = phi(fr A)` where &lt;br /&gt;&lt;center&gt;&lt;br /&gt;  `phi(fr A) := { (a_1,...,a_k) in A^k : fr A |= phi(a_1,...,a_k) }`.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Whenever `cc M` be the set of &lt;em&gt;all&lt;/em&gt; finite structures, we shall omit mention of `cc M`.&lt;br /&gt;An important special case occurs when `k = 0`. Such queries are normally called &lt;i&gt;boolean queries&lt;/i&gt; or just &lt;i&gt;properties&lt;/i&gt;. In this case, the image of `cc Q` can only be either a singleton `{()}` containing the trivial tuple `()`, or the empty set `O/`. We will identify `{()}` with `true` and `O/` with `false`. So, a property `cc Q` is expressible in a logic `L` over `cc M` if there exists an `L`-sentence `phi` over `sigma` such that `cc Q(fr A) = true` iff `fr A |= phi`, for each `fr A in cc M`. Examples of boolean queries (for finite graphs) are:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt; Hamiltonian: `cc Q(fr G) = true` iff the graph `fr G` is hamiltonian.&lt;br /&gt; &lt;li&gt; Self-loop: `cc Q(fr G) = true` iff the graph `fr G` has a self-loop (ie, `fr G |= EE x( E(x,x))`).&lt;br /&gt; &lt;li&gt; Isolated: `cc Q(fr G) = true` iff the graph `fr G` has an isolated vertex.&lt;br /&gt; &lt;li&gt; Connected: `cc Q(fr G) = true` iff the graph `fr G` is connected.&lt;br /&gt; &lt;li&gt; Acyclic: `cc Q(fr G) = true` iff the graph `fr G` is acyclic.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;An example of 2-ary queries is the transitive closure query of finite graphs:&lt;br /&gt;&lt;center&gt;&lt;br /&gt; `Q: fr G |-&gt; { (a,b) in G^2 : text{there exists a path from } a text{ to } b text{ in} fr G }`&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Question: which of the above queries are expressible in first-order logic? Well, we already saw that &lt;i&gt;Self-loop&lt;/i&gt; is expressible in first-order logic. So, it is enough to exhibit a first-order formula to show that a query be expressible in first-order logic. But how do we prove first-order inexpressibility results? In classical model theory, we have tools like compactness and Lowenheim-Skolem theorems for proving first-order inexpressibility. However, most of these tools including the two afore-mentioned theorems fail to "work" in the finite. The only one result that survives is the Ehrenfeucht-Fraisse games (a good exposition of the result can be found &lt;a href="http://www.almaden.ibm.com/cs/people/fagin/dimacs97.pdf"&gt;here&lt;/a&gt;). [Incidentally, does this imply that finite model theory is more difficult than classical model theory?] The games, for example, can be used to prove that the queries Hamiltonian, Connected, Acyclic, and Transitive Closure are not definable in first-order logic. These results will be discussed in subsequent postings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111733278338092833?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111733278338092833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111733278338092833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111733278338092833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111733278338092833'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/finite-model-theory-preliminaries-2.html' title='Finite Model Theory: Preliminaries (2)'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111724942390974712</id><published>2005-05-27T19:02:00.000-05:00</published><updated>2005-09-08T09:14:26.816-05:00</updated><title type='text'>Finite Model Theory: Preliminaries (1)</title><content type='html'>I realize that in the previous postings I haven't been as precise as I can possibly be. It's all about to change: we shall now fix terminologies for our subsequent discussion on finite model theory. We will however have to divide this "section" into two postings, as it is too long for one. We shall also assume that the reader knows basic facts from mathematical logic (see Enderton's &lt;a href="http://www.math.ucla.edu/~hbe/amil/"&gt;A Mathematical Introduction To Logic&lt;/a&gt;). &lt;br /&gt;&lt;br /&gt;We can start by discussing what finite model theory is. One common definition for finite model theory is the model theory of finite structures. Precise, but perhaps too succinct. What makes it different from &lt;a href="http://en.wikipedia.org/wiki/Model_theory"&gt;classical model theory&lt;/a&gt;? Finite model theory is primarily concerned with finite structures, while model theory with both finite and infinite structures. Hence, one can expect that the definitions used in finite model theory are very similar to those in classical model theory. The restriction to finite structures is necessary for studying computers and computation due to their finite nature. Note also that finiteness doesn't necessarily imply triviality. For example, witness that (finite) graph theory is a deep, rich, and beautiful subject, which has captivated brilliant mathematicians from many generations including Euler and Erdos. &lt;br /&gt;&lt;br /&gt;Unless otherwise stated, we shall make the following assumptions in subsequent postings on finite model theory:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;Every vocabulary and structure is &lt;i&gt;relational&lt;/i&gt;, ie, has no function symbols and functions.&lt;br /&gt; &lt;li&gt;Every vocabulary has finitely many (constant and relation) symbols.&lt;br /&gt; &lt;li&gt;Capital Fraktur fonts are used to denote structures; their corresponding letters in Latin correspond to their universes. For example, a structure `fr A` has universe `A`.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;I am going to adopt an extremely useful definition of &lt;i&gt;expansion of structures&lt;/i&gt; from Libkin's &lt;a href="http://www.cs.toronto.edu/~libkin/fmt/"&gt;Elements of Finite Model Theory&lt;/a&gt;, which will allow us to convert back and forth between formulas and sentences. Let `fr A` and `fr A'` be structures over, respectively, `sigma` and `sigma'` where `sigma nn sigma' = O/`. The expansion of `fr A` by `fr A'`, denoted by `(fr A,fr A')`, is the `sigma uu sigma'`-structure with all symbols from `sigma` interpreted according to `fr A`, and from `sigma'` interpreted according to `fr A'`. An important special case is when `sigma'` be the vocabulary `sigma_n` containing only constant symbols `c_1,cdots,c_n`. In this case, if `fr A' = (a_1, cdots, a_n)` (with `a_i` interpreting `c_i`), we can omit some redundant brackets and write `(fr A, fr A') = (fr A, a_1, cdots, a_n)`. We have the following lemma:&lt;br /&gt;&lt;br /&gt;Lemma: Suppose `phi(x_1, cdots, x_n)` be a `sigma`-formula, and `fr A` be a `sigma`-structure. Let `Phi` be the formula `phi(c_1/x_1,cdots,c_n/x_n)`, ie, each occurence of `x_i` is replaced by a brand new constant symbol `c_i`. Then, we have: `fr A |= phi(a_1,cdots,a_n)` iff `(fr A,a_1,cdots,a_n) |= Phi`.&lt;br /&gt;&lt;br /&gt;Finally, we need to define the notion of `k`-ary queries, which we will do in the next posting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111724942390974712?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111724942390974712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111724942390974712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111724942390974712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111724942390974712'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/finite-model-theory-preliminaries-1.html' title='Finite Model Theory: Preliminaries (1)'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111683270688760811</id><published>2005-05-23T00:57:00.000-05:00</published><updated>2005-05-23T02:22:16.356-05:00</updated><title type='text'>The Unusual Effectiveness of Logic in Computer Science</title><content type='html'>A couple of days ago I found a non-technical logic-in-computer-science paper in my &lt;i&gt;folder of unused papers&lt;/i&gt; that has turned out to be a highly interesting read. The paper is:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;  &lt;a href="http://www.cs.rice.edu/~vardi/papers/aaas99.jsl.ps.gz"&gt;On the Unusual Effectiveness of Logic in Computer Science&lt;/a&gt; by Halpern, Halper, Immerman, Kolaitis, Vardi, and Vianu&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;The authors of these papers are well-renowned authorities in the area of logic in computer science, each with his own enormous contribution to the area. &lt;br /&gt;&lt;br /&gt;Here is a summary of the paper. The authors start by mentioning two attempts of explaning the unreasonable effectiveness of mathematics in natural sciences by E.P. Wigner, a Nobel Laureate for Physics, and R.W. Hamming, an ACM Turing Award (which can be construed as the Nobel Prize for Computer Science) winner. In their separate papers, Wigner and Hamming give a number of examples supporting his argument, but conclude that the question "Why is mathematics so unreasonably effective" remains open. The above paper by Halpern et al. is basically an attempt to answer the question "why logic is so effective in computer science". Like Wigner and Hamming did, Halpern et al. give a number of examples supporting their assertion:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt; Example 1: Descriptive Complexity. The reader should know roughly what this is by now.&lt;br /&gt; &lt;li&gt; Example 2: Logic as a Database Query Language. This area is devoted to the study of abstract query languages in database theory. Examples of abstract query languages are relational calculus (equivalent to first-order logic), and conjunctive queries (see &lt;a href="http://logicomp.blogspot.com/2005/05/unary-conjunctive-view-query-language.html"&gt;here&lt;/a&gt; for a definition).&lt;br /&gt; &lt;li&gt; Example 3: Type Theory in Programming Language Research. Type theory is often used for building useful type systems for strongly-typed programming languages including &lt;a href="http://www.haskell.org/"&gt;Haskell&lt;/a&gt; (the computer science reader should know that C, for example, is not strongly-typed).&lt;br /&gt; &lt;li&gt; Example 4: Reasoning about Knowledge. You may think of this area as "the theory of agents". Reasoning about knowledge plays a key role in burgeoning computer science fields including distributed computing, game theory, and AI. &lt;br /&gt; &lt;li&gt; Example 5: Automated Verification in Semiconductor Designs. The meaning is self-explanatory.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Aside: I would love to see proof complexity and bounded arithemetic discussed in this paper.&lt;br /&gt;&lt;br /&gt;Incidentally, Halpern et al. make a very interesting remark in their paper --- that logic seems more connected to computer science than to mathematics. To a theoretical computer scientist like myself, this claim is so conspicuous. I'm curious whether philosophers and/or mathematicians and/or logicians think so too ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111683270688760811?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111683270688760811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111683270688760811' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111683270688760811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111683270688760811'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/unusual-effectiveness-of-logic-in.html' title='The Unusual Effectiveness of Logic in Computer Science'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111663981860689396</id><published>2005-05-20T20:20:00.000-05:00</published><updated>2005-05-20T20:57:03.186-05:00</updated><title type='text'>MathML</title><content type='html'>&lt;a href="http://logicomp.blogspot.com/2005/05/how-to-be-good-blogger.html"&gt;Recently&lt;/a&gt; I said that a good logic blogger needs to learn something like MathML. Well ... I have just taken a first step in this direction: enable the MathML mode on this website.&lt;br /&gt;&lt;br /&gt;Also, I have just recently found &lt;a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html"&gt;ASCIIMathML&lt;/a&gt;, thanks to &lt;a href="http://home.andrej.com/math/2005/05/12/asciimathml/"&gt;a posting&lt;/a&gt; in &lt;a href="http://home.andrej.com/math/"&gt;Andrej Bauer's blog&lt;/a&gt;. This script allows you to write math formulas in a LaTeX-like notation. This takes away the burden of learning MathML.&lt;br /&gt;&lt;br /&gt;If your browser cannot display MathML, then here is a &lt;a href="http://web.mit.edu/is/topics/webpublishing/mathml/"&gt;suggestion&lt;/a&gt; (look at 'system requirements' section).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111663981860689396?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111663981860689396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111663981860689396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111663981860689396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111663981860689396'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/mathml.html' title='MathML'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111659691631152018</id><published>2005-05-20T08:10:00.000-05:00</published><updated>2005-05-20T08:48:36.316-05:00</updated><title type='text'>What the tortoise said to achilles</title><content type='html'>Howdy! Today I am pleased to learn that somebody is actually reading my blog and has left some useful and encouraging comments. Thanks to all who have participated.&lt;br /&gt;&lt;br /&gt;One of the good comments I received was a reference to &lt;a href="http://www.lewiscarroll.org/achilles.html"&gt;What The Tortoise Said to Achilles&lt;/a&gt; by Lewis Carrol, in response to my question in the previous posting whether logicians have a sense of humor. Incidentally, my hunch says I've seen this article in Douglas Hofstadter's excellent &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/0465026567/ref=pd_sim_b_1/002-1026600-0186418?%5Fencoding=UTF8&amp;v=glance"&gt;Godel, Escher, Bach: An Eternal Golden Braid&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Anyway, on with the story. Basically, Carrol's article contains a clever and well-constructed argument that reasoning is impossible without using an infinite series of modus ponens. I personally feel this argument itself already shows that logicians are humorous (well ... more precisely, logically humorous). I leave the reader to ponder whether Carrol's article shows that logicians have a sense of humor.&lt;br /&gt;&lt;br /&gt;Oh, incidentally, I was quite surprised to learn the well-renowned 'Alice's Adventures in Wonderland' is also written by Lewis Carrol, a logician. Wow!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111659691631152018?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111659691631152018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111659691631152018' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111659691631152018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111659691631152018'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/what-tortoise-said-to-achilles.html' title='What the tortoise said to achilles'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111648119472947915</id><published>2005-05-18T23:46:00.000-05:00</published><updated>2005-05-19T00:39:54.733-05:00</updated><title type='text'>How to be a good blogger</title><content type='html'>Having just started my own blog, I have recently been thinking about what one needs to do to be a good math/logic blogger. After some serious meditations, I realize that this question is equivalent to 'how to make a fine piece of math/logic writing', whose answers can be found in books like &lt;a href="http://www.amazon.com/exec/obidos/ASIN/088385063X/qid=1116479241/sr=2-1/ref=pd_bbs_b_2_1/103-5387902-5752622"&gt;Mathematical Writing&lt;/a&gt; by &lt;a href="http://www-cs-faculty.stanford.edu/~knuth/"&gt;Donald Knuth&lt;/a&gt; et al. Nevertheless, there are some additional, but equally important, things that good bloggers need to do:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt; &lt;li&gt; Be controversial.&lt;br /&gt; &lt;li&gt; Utilize the ability to hyperlink (preferrably to free online resources).&lt;br /&gt; &lt;li&gt; Learn how to use &lt;a href="http://www.w3.org/Math/"&gt;MathML&lt;/a&gt;. &lt;a href="http://www.dessci.com/en/support/tutorials/mathml/default.htm"&gt;Here&lt;/a&gt; is a seemingly good&lt;br /&gt; tutorial (I haven't perused this meticulously enough though). If you already know LaTeX and are using a Unix-like OS, you may want to use &lt;a href="http://hutchinson.belmont.ma.us/tth/mml/"&gt;Ttm&lt;/a&gt; to convert LaTeX to MathML.&lt;br /&gt; &lt;li&gt; Lastly, having just a bit of sense of humor doesn't hurt. I wonder though if &lt;a href="http://thatlogicblog.blogspot.com/2005/05/logician.html"&gt;logicians&lt;/a&gt; have a sense of humor?&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;I guess I have hitherto successfully and continuously violated every single one of these tips (Oops). Ah well ... I guess there is still tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111648119472947915?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111648119472947915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111648119472947915' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111648119472947915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111648119472947915'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/how-to-be-good-blogger.html' title='How to be a good blogger'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111638523717433242</id><published>2005-05-17T19:22:00.000-05:00</published><updated>2005-05-20T20:02:14.023-05:00</updated><title type='text'>Unary-conjunctive-view Query Language (1)</title><content type='html'>Last December I completed my BSc(Honours) degree, the Australian equivalent of American BSc degree, at the University of Melbourne (Australia). So, before I am leaving for North America for graduate studies, I thought it might be a good idea to write something about the finite-model-theory related problem I worked on for my undergraduate &lt;a href="http://www.cs.mu.oz.au/~twidjaja/writings.html"&gt;thesis&lt;/a&gt;. It might also be a good topic to get this blog started. &lt;br /&gt;&lt;br /&gt;The story is somewhat lengthy. So, I will divide it into a series of bite-size chunks.&lt;br /&gt;&lt;br /&gt;To get under way, recall that &lt;i&gt;pure&lt;/i&gt; first-order logic is undecidable. [When we say that a logic is (un)decidable, we mean that its satisfiability problem is (un)decidable.] Here pure first-order logic basically consists of all first-order sentences without equality and function symbols. Turing proved this by reducing the halting problem for Turing machines to deciding the satisfiability of first-order logic. We know on the other hand that pure monadic first-order logic (MFO) is decidable, actually complete for NEXPTIME. Here the term 'monadic' simply means that the relation symbols in each formula in MFO are of arity 1. This decidability result actually lies at the border of the decidable and the undecidable because permitting merely one binary relation symbol to MFO immediately results in undecidability.&lt;br /&gt;&lt;br /&gt;So, the question boils down to how much more can we extend MFO before we get an undecidable logic? Strictly speaking, this is not really a mathematical question, and so has no single correct answer. I'll mention three known successful attempts to extend the decidability of MFO:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt; MFO with equality. Lowenheim, who proved the decidability of MFO, proved this too.&lt;br /&gt; &lt;li&gt; MFO with any number of function symbols. This is Lob-Gurevich theorem.&lt;br /&gt; &lt;li&gt; MFO with equality and one function symbol. This is proved by Rabin in one of his groundbreaking papers.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;All of these results are &lt;i&gt;optimum&lt;/i&gt;. For example, adding one more function symbol to the third logic in this list results in undecidability. For more information on these logics, the reader is referred to the &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/3540423249/qid=1116382512/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/103-9370630-1088617?v=glance&amp;s=books&amp;n=507846"&gt;reference book&lt;/a&gt; for the classical decision problem. We will however explore a different avenue to answer this question. &lt;br /&gt;&lt;br /&gt;Database theorists often talk about conjunctive queries: pure first-order formulas that can be written as&lt;br /&gt;&lt;br /&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;mrow&gt;&lt;mi&gt;F&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo&gt;&amp;#x2026;&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;:&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mo&gt;&amp;exist;&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo&gt;&amp;#x2026;&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;k&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;R&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;&amp;and;&lt;/mo&gt;&lt;mo&gt;&amp;#x2026;&lt;/mo&gt;&lt;mo&gt;&amp;and;&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;R&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;br /&gt;&lt;br /&gt;where the x's are the free variables, the y's are the bound variables, and the u's are tuples of variables appropriate for the (arities of the) R's. Following notations from logic programming, we will write the formula F as &lt;br /&gt;&lt;br /&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;mrow&gt;&lt;mi&gt;F&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo&gt;&amp;#x2026;&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;&amp;larr;&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;R&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo&gt;&amp;#x2026;&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;R&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;br /&gt;&lt;br /&gt;The set of all these F's forms the conjunctive query language. Now, it is easy to see that any conjunctive query is satisfiable --- so its satisfiability problem is trivial. Here is the twist. We can combine MFO and a restricted version of conjunctive query language to make a decidable logic.&lt;br /&gt;&lt;br /&gt;Let U be the set of all conjunctive queries with exactly one free variable (a.k.a. unary conjunctive queries). We call U a &lt;i&gt;view vocabulary (signature)&lt;/i&gt;. Let UCV be the smallest set that satisfies the following conditions:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt; U is a subset of UCV.&lt;br /&gt; &lt;li&gt; UCV is closed under boolean operations and first-order quantifications.&lt;br /&gt;&lt;/ul&gt; &lt;br /&gt;&lt;br /&gt;The Unary-Conjunctive-View query language is the logic UCV. To get a feel for UCV, let us start speaking &lt;i&gt;in&lt;/i&gt; it. For example, this logic can assert the following graph-theoretic sentence "any vertex has a 4-walk but no self-loop". How? Consider the following two conjunctive queries:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;CW&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;4&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;&amp;larr;&lt;/mo&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;3&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;3&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mn&gt;4&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;br /&gt; &lt;li&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;mrow&gt;&lt;mi&gt;Loop&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;&amp;larr;&lt;/mo&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Then, the desired sentence is $AA x ( text{CW_4}(x) ^^ not text{Loop}(x) )$. We can readily see that this logic is quite expressive as it permits &lt;em&gt;any number of relation symbols of any arity&lt;/em&gt;. This also shows that UCV is strictly more expressive than MFO and the conjunctive query language, considered individually. Nonetheless, the logic is much less expressive than the first-order logic. For example, UCV cannot even assert simple query like "there exists a path (ie, walks where none of the vertices are visited twice) of length k", for any fixed k &gt; 0. [We'll prove this later.]&lt;br /&gt;&lt;br /&gt;In the next posting, I will sketch a proof that UCV is decidable, actually solvable in 2-NEXPTIME but is NEXPTIME-hard. Our proof taps into the fact that UCV has the bounded model property, i.e., every satisfiable query Q in UCV has a model of size at most f(|Q|) for some computable function f:N-&gt;N where |Q| denotes the size of the encoding of Q. Note that bounded model property immediately implies decidability in SPACE(f(|Q|)), assuming that f is a proper complexity function, as a Turing machine can start by computing f(|Q|), enumerate every possible structure A appropriate for Q one-by-one, and for each A test whether A satisfies Q (which can be also be done in SPACE(f(|Q|)) ).&lt;br /&gt;&lt;br /&gt;Later on we will explore the expressive power of UCV and a general method for proving inexpressibility in UCV.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111638523717433242?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111638523717433242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111638523717433242' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111638523717433242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111638523717433242'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/unary-conjunctive-view-query-language.html' title='Unary-conjunctive-view Query Language (1)'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12932458.post-111623969800848086</id><published>2005-05-16T02:56:00.000-05:00</published><updated>2005-05-17T04:26:57.356-05:00</updated><title type='text'>Welcome to Logicomp!</title><content type='html'>Hello all! Throughout the past two years, I have learned a lot from &lt;a href="http://weblog.fortnow.com"&gt;Lance Fortnow's successful complexity blog&lt;/a&gt;. &lt;a href="http://people.cs.uchicago.edu/~fortnow"&gt;Professor Fortnow&lt;/a&gt; has been an excellent blogger, and kept his avid readers informed on the lattest and the must-know about complexity theory. His blog was certainly one of the things that got me interested in complexity theory, and will continue inspiring me in the future.&lt;br /&gt;&lt;br /&gt;Although Professor Fortnow's blog covers many topics in complexity theory, it is a pity that the blog rarely touches on the elegant connection between logic and complexity theory, which --- God knows why --- many finite model theorists think will be a key to proving that P does not equal NP. For example, here are some deep results in the area:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt; &lt;li&gt; Fagin's theorem: the set of properties of (relational) finite &lt;a href="http://en.wikibooks.org/wiki/Computer_Science:Logic/First-Order_Logic"&gt;structures&lt;/a&gt; expressible in &lt;a href="http://en.wikipedia.org/wiki/Second-order_logic"&gt;existential second-order logic (ESO)&lt;/a&gt; coincides with NP. &lt;br /&gt; &lt;li&gt; Dual Fagin's theorem: the set of properties of finite structures expressible in &lt;a href="http://en.wikipedia.org/wiki/Second-order_logic"&gt;universal second-order logic (ASO)&lt;/a&gt; coincides with co-NP.&lt;br /&gt; &lt;li&gt; The set of properties of finite structures expressible in &lt;a href="http://en.wikipedia.org/wiki/Second-order_logic"&gt;second-order logic (SO)&lt;/a&gt; coincides with PH.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;So, in order to prove that P does not equal NP, it suffices to prove that the set of properties of finite structures expressible in ESO is different from that expressible in ASO. In fact, to prove this it is enough to show that the property 3-colorability is not expressible in ASO on the class of finite graphs. That is, we have reduced an important problem in complexity theory to a problem in finite model theory. The area of theoretical computer science that explores the connection between finite model theory and complexity theory is called &lt;a href="http://www.cs.umass.edu/~immerman/descriptive_complexity.html"&gt;descriptive complexity&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In view of these, I thought it would be a good idea for me to start a blog that aims to explore the deep connection between logic and complexity. Nonetheless, I realize that it is a formidable task to be a good blogger even for a small subarea of logic and complexity, especially for a newbie like myself. Thus, I will try to focus on areas that I will explore during my graduate studies: (finite and infinite) model theory and descriptive complexity, proof complexity, and perhaps bounded arithmetic. [Nonetheless, I will probably have to every now and then violate this rule and speak about other things that I find interesting and fun.] So, from now on, when I speak about 'Logic and Complexity', I will be referring to these subareas. There are already excellent blogs that cover logic, like &lt;a href="http://consequently.org/"&gt;this one&lt;/a&gt; maintained by Professor Restall at The University of Melbourne's Department of Philosophy, and logic and computation, like &lt;a href="http://thatlogicblog.blogspot.com"&gt;this one&lt;/a&gt;. However, none of these cover the stuff that I plan to talk about here such as finite model theory and descriptive complexity.&lt;br /&gt;&lt;br /&gt;Anyway, for a starter, I plan to write a concise introduction to finite model theory that other mathematical readers, who know a bit of logic, can read. I will try to post this bit-by-bit every week. Any other ideas? Feel free to comment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12932458-111623969800848086?l=logicomp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicomp.blogspot.com/feeds/111623969800848086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12932458&amp;postID=111623969800848086' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111623969800848086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12932458/posts/default/111623969800848086'/><link rel='alternate' type='text/html' href='http://logicomp.blogspot.com/2005/05/welcome-to-logicomp.html' title='Welcome to Logicomp!'/><author><name>twidjaja</name><uri>http://www.blogger.com/profile/07618509800342861247</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
