<?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'><id>tag:blogger.com,1999:blog-892099725353863034</id><updated>2009-07-26T17:33:35.407-07:00</updated><title type='text'>KU EECS 762 Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.loghound.com/g/2005#feed' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.phpfeeds/posts/default'/><link rel='self' type='application/atom+xml' href='http:///www.ittc.ku.edu/~alex/teaching/eecs762/blog2/files/blogRSS.php'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php'/><link rel='hub' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-812489270387710102</id><published>2008-11-18T21:27:00.000-08:00</published><updated>2008-11-18T21:58:41.649-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lectures'/><title type='text'>Invariant proof</title><content type='html'>We got almost where we needed to be on Monday with respect to our invariant proof.  Remember that we are going backwards from:&lt;br /&gt;&lt;br /&gt;{X! * Y =n! /\ X&gt;=0 /\ X &gt; 0} Y:=Y*X; X:=X-1; {X! * Y = n! /\ X&gt;=0}&lt;br /&gt;&lt;br /&gt;Note that the loop condition is included with I in the precondition on the sequence.  This is required by the while rule.&lt;br /&gt;&lt;br /&gt;The only rule we can apply is the sequence rule.  Thus, we have to find A, B and C from {A}c0{C} and {C}c1{B}.  We know that B is the invariant and can thus find C by working backwards over c1.  Thus, the first thing to deal with is the assignment rule and X:=X-1:&lt;br /&gt;&lt;br /&gt;{X! * Y = n! /\ X&gt;=0}[X-1/X]&lt;br /&gt;&lt;br /&gt;Replacing X by X-1 gives us C:&lt;br /&gt;&lt;br /&gt;{(X-1)! * Y = n! /\ X-1&gt;=0}&lt;br /&gt;&lt;br /&gt;Now we can push C backwards through c0 again using the assignment rule to get A:&lt;br /&gt;&lt;br /&gt;{(X-1)! * Y = n! /\ X-1&gt;=0}[X*Y/Y]&lt;br /&gt;&lt;br /&gt;Replacing Y with X*Y gives us A:&lt;br /&gt;&lt;br /&gt;{(X-1)! * X * Y = n!  /\ X-1&gt;=0}&lt;br /&gt;&lt;br /&gt;Unfortunately, this is not what we want.  But if we can show that:&lt;br /&gt;&lt;br /&gt;X! * Y = n! /\ X &gt;=0 /\ X &gt; 0 =&gt; (X-1)! * X * Y = n!  /\ X-1 &gt;= 0&lt;br /&gt;&lt;br /&gt;we're in business because of the consequence rule.  This is just a bit of mathematical manipulation:&lt;br /&gt;&lt;br /&gt;X! * Y = n! /\ X &gt;= 0 /\ X &gt; 0&lt;br /&gt;     =&gt; X! * Y = n! /\ X &gt;= 1  (By X&gt;0 and X&gt;=0)&lt;br /&gt;     =&gt; X! * Y = n! /\ (X-1) &gt;= 0   (By subtracting 1 from each side of the inequality)&lt;br /&gt;     =&gt; X * (X-1)! * Y = n! (X-1) &gt;= 0   (By unrolling the factorial once)&lt;br /&gt;&lt;br /&gt;Since A =&gt; A' and {A'}c{B} and B=&gt;B the consequence rule gives us {A}c{B} which is exactly what we want if A = X! * Y = n! /\ X &gt;= 0 /\ X &gt; 0&lt;br /&gt;&lt;br /&gt;Q.E.D.&lt;br /&gt;&lt;br /&gt;Cool, but we still have some work to do in class Wednesday to show that the factorial calculation really is a factorial.  All we've done here is show that our invariant is an invariant over the body of the loop.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-812489270387710102?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=812489270387710102' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=812489270387710102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=812489270387710102'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=812489270387710102'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=812489270387710102' title='Invariant proof'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-3878339433993224848</id><published>2008-11-14T15:29:00.000-08:00</published><updated>2008-11-14T15:36:07.194-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lectures'/><title type='text'>Partial correctness</title><content type='html'>A quick word about partial vs total correctness in our axiomatic specifications.  Remember that we are talking about partial correctness in class.  For the command c:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;{A}c{B}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;When dealing with everything but loops, the distinction between this and total correctness has little impact on our work.  However, it is important to remember that the notation:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;{A}while b do c{B}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;says that B is true &lt;em&gt;if&lt;/em&gt; c terminates.  Thus, partial correctness.  Total correctness is harder to deal with and our book chooses not to do so.&lt;br /&gt;&lt;br /&gt;Remember to look at the last rule from class for Monday:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;|=(A=&gt;A') {A'}c{B'} |=(B=&gt;B')-------------------------------------                  {A}c{B}&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-3878339433993224848?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=3878339433993224848' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=3878339433993224848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=3878339433993224848'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=3878339433993224848'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=3878339433993224848' title='Partial correctness'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-597994478677273029</id><published>2008-11-10T00:01:00.001-08:00</published><updated>2008-11-10T00:10:33.096-08:00</updated><title type='text'>The new blog...</title><content type='html'>I've just moved the blog from being hosted by the ITTC web server to blogger.com.&amp;nbsp; You can still access the blog through the web page as always.&amp;nbsp; However, you can now access the blog via the address:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ku-eecs762.blogspot.com" rel="self"&gt;http://ku-eecs762.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Should be easier for me to administer and you to follow.&amp;nbsp; Let me know if you have any difficulties.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-597994478677273029?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=597994478677273029' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=597994478677273029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=597994478677273029'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=597994478677273029'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=597994478677273029' title='The new blog...'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-5871404177268924307</id><published>2008-11-07T23:22:00.000-08:00</published><updated>2008-11-09T23:52:44.859-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lectures'/><title type='text'>Axiomatic semantics beginnings</title><content type='html'>Today in class we defined what is called a Hoare triple, {A}c{B}, where A is a precondition, B is a postcondition and c is a command from &lt;strong&gt;IMP&lt;/strong&gt;.  Intuitively, the meaning of the Hoare triple is if A is true in sigma before c is evaluated, then B will be true in sigma&amp;rsquo; after c is evaluated.  We have that a formal definition using the concept of models or satisfies using the new semantic turnstyle.  We started to give the assertion language used to write A and B a semantics towards the end of class.  We were providing a semantics that was simply an extension of the semantics for a and b from &lt;strong&gt;IMP&lt;/strong&gt; with the addition of integer variables.  We don&amp;rsquo;t really know what those are quite yet, but we will shortly.  We also defined the concept of an &lt;em&gt;interpretation&lt;/em&gt;, denoted &lt;em&gt;I&lt;/em&gt;, that is in effect a mapping from integer variables to values.&lt;br /&gt;&lt;br /&gt;What&amp;rsquo;s going on here will be much clearer after Monday&amp;rsquo;s lecture, but Winskel&amp;rsquo;s description of this is excellent if you want to read it.  I&amp;rsquo;m guessing that will happen &lt;em&gt;after&lt;/em&gt; the project, which of course is perfectly fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-5871404177268924307?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5871404177268924307' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=5871404177268924307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5871404177268924307'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5871404177268924307'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5871404177268924307' title='Axiomatic semantics beginnings'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-1361171914366078547</id><published>2008-11-07T14:41:00.000-08:00</published><updated>2008-11-09T23:52:44.465-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Project 2 due date</title><content type='html'>Project 2 due date is set for November 17&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-1361171914366078547?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=1361171914366078547' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=1361171914366078547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=1361171914366078547'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=1361171914366078547'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=1361171914366078547' title='Project 2 due date'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-1825092278891029805</id><published>2008-10-29T20:52:00.000-07:00</published><updated>2008-11-09T23:52:44.082-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lectures'/><title type='text'>Proof case outline</title><content type='html'>As promised, I&amp;rsquo;ve written up the &lt;strong&gt;IMP&lt;/strong&gt; operational and denotational semantics verification for the sequence operation.  Attached are the &lt;a href="http://www.ittc.ku.edu/~alex/teaching/eecs762/page2/assets/proof-example1.pdf" rel="external"&gt;PDF&lt;/a&gt; and &lt;a href="http://www.ittc.ku.edu/~alex/teaching/eecs762/page2/assets/proof-example1.tex" rel="external"&gt;LaTeX&lt;/a&gt; source.  The LaTeX file uses the semantic package (semantic.sty) that can be found on any of the LaTeX module sites.&lt;br /&gt;&lt;br /&gt;I will add the proof case for &lt;strong&gt;while&lt;/strong&gt; that we&amp;rsquo;re doing in class sometime soon.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-1825092278891029805?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=1825092278891029805' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=1825092278891029805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=1825092278891029805'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=1825092278891029805'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=1825092278891029805' title='Proof case outline'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-7720614125685608662</id><published>2008-10-22T14:18:00.000-07:00</published><updated>2008-11-09T23:52:42.674-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Project 2 is out</title><content type='html'>&lt;a href="http://www.ittc.ku.edu/~alex/teaching/eecs762/page2/../projects/project2/project2.html" rel="external" title="Mini Project 2"&gt;Project 2&lt;/a&gt; is available should you want to get started.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-7720614125685608662?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=7720614125685608662' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=7720614125685608662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=7720614125685608662'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=7720614125685608662'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=7720614125685608662' title='Project 2 is out'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-5041324792333455937</id><published>2008-10-22T13:52:00.000-07:00</published><updated>2008-11-09T23:52:40.177-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lectures'/><title type='text'>Whither the fixed point?</title><content type='html'>More than one of you has asked about the fixed point of phi and why we found it.  We are not using it at this point.  In fact, we generally use the form of C[[while b do c]] that we found the fixed point from.&lt;br /&gt;&lt;br /&gt;The answer is that the equation:&lt;br /&gt;&lt;br /&gt;C[[w]] = {(sigma,sigma&amp;rsquo;) | B[[b]]sigma=true and (sigma,sigma&amp;rsquo;) in C[[w]] . C[[c]]} U {...}&lt;br /&gt;&lt;br /&gt;does not give us a definition of the denotation.  Specifically, C[[w]] appears in its own definition.  This is not a well-founded function definition because, in affect, C[[w]] contains itself.  So, we needed a value for C[[w]] that does not have this property.&lt;br /&gt;&lt;br /&gt;If you look at the definition of R on page 59 of the text, notice that phi &lt;em&gt;does not&lt;/em&gt; appear on the right-hand side of the equation.  Thus, when we find the fixed point of R to give us R-hat, the definition is well founded.  Once we have the value, we can in effect file it away for further use.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-5041324792333455937?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5041324792333455937' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=5041324792333455937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5041324792333455937'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5041324792333455937'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5041324792333455937' title='Whither the fixed point?'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-5352675856195866919</id><published>2008-10-22T10:30:00.000-07:00</published><updated>2008-11-09T23:52:39.816-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lectures'/><title type='text'>Structural induction is your friend</title><content type='html'>We have been going through a structural induction proof in class that is based on the induction scheme we set out earlier.  Basically, if we can show something is true for every form in our language, then that something is true for the entire language.  No big deal there.&lt;br /&gt;&lt;br /&gt;What seems to be causing folks a bit of trouble is how the proof is set up.  Basically, we have to definitions of our language.  The operational semantic function for arithmetic expressions has the form:&lt;br /&gt;&lt;br /&gt;&amp;lt;a,sigma&amp;gt; -&amp;gt; n&lt;br /&gt;&lt;br /&gt;while the denotational semantic function has the form:&lt;br /&gt;&lt;br /&gt;A[[a]]sigma = n&lt;br /&gt;&lt;br /&gt;Somehow, we have to show that these are equivalent.  The first thing we do is get both descriptions in the same form.  In this case, sets that share the form of the denotational definition.  So, we can define a function that returns the value for an expression as specified by the operational definition like this:&lt;br /&gt;&lt;br /&gt;{(sigma,n) | &amp;lt;a,sigma&amp;gt; -&gt; n}&lt;br /&gt;&lt;br /&gt;This set defines a function that given a sigma, will return the n that the operational semantics definition says it should.&lt;br /&gt;&lt;br /&gt;So why reformulate the definition and write this odd set definition?  Quite simply, it formulates a denotational definition from the operational definition.  That is quite helpful because now all we need to do is prove that these two denotational definitions are the same:&lt;br /&gt;&lt;br /&gt;P(a) == A[[a]] = {(sigma,n) | &amp;lt;a,sigma;&amp;gt; -&amp;gt; n}&lt;br /&gt;&lt;br /&gt;after expanding A[[a]]:&lt;br /&gt;&lt;br /&gt;P(a) == {(sigma,n) | D(sigma,a,n)} = {(sigma,n) | &amp;lt;a,sigma&amp;gt; -&amp;gt; n}&lt;br /&gt;&lt;br /&gt;where D is the denotational definition we developed a week ago.&lt;br /&gt;&lt;br /&gt;Now you should see where we are headed.  If we can show that:&lt;br /&gt;&lt;br /&gt;D(sigma,a,n) &amp;lt;=&amp;gt; &amp;lt;a,sigma&amp;gt; -&amp;gt n&lt;br /&gt;&lt;br /&gt;then we know that if a pair is in A[[a]] it is also in the denotation function defined using the operational semantics.  That is what we have been up to.&lt;br /&gt;&lt;br /&gt;More later on where the preconditions come from and how they are used.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-5352675856195866919?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5352675856195866919' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=5352675856195866919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5352675856195866919'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5352675856195866919'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5352675856195866919' title='Structural induction is your friend'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-5144884678390696228</id><published>2008-10-14T07:39:00.000-07:00</published><updated>2008-11-09T23:52:39.391-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><title type='text'>Classes this spring</title><content type='html'>If you are looking for classes in the spring, Andy Gill is offering a new course on functional programming:&lt;br /&gt;&lt;br /&gt;EECS 700 &amp;ndash; Advanced Functional Programming &amp;ndash; 3 credit hours &amp;ndash; Prof. Andrew Gill&lt;br /&gt;1:00pm &amp;ndash; 1:50pm Monday/Wednesday/Friday&lt;br /&gt;2111 Learned Hall&lt;br /&gt;Prerequisite:  EECS 368 or equivalent course.&lt;br /&gt;An advanced introduction to functional programming.  For additional course information contact Dr. Gill (andygill [at] ku [dot] edu)&lt;br /&gt;&lt;br /&gt;We also have a couple of language-related courses on the books that will be offered:&lt;br /&gt;&lt;br /&gt;EECS 843 - Programng Language Foundatn II - 3 credit hours - Prof. Perry Alexander&lt;br /&gt;11:00am - 12:15pm Monday/Wednesday&lt;br /&gt;1131 Learned Hall&lt;br /&gt;Prerequsite: EECS 762 or EECS 662, or permission from the instructor&lt;br /&gt;A follow-on to EECS 762 that covers static semantics including type systems and some static analysis.  For additional course information, contact me.  I&amp;rsquo;ll likely talk about this in class.&lt;br /&gt;&lt;br /&gt;EECS 700 - Virtual Machines - 3 credit hours - Prof. Prasad Kulkarni&lt;br /&gt;11:00am   - 12:15pm Tuesday/Thursday&lt;br /&gt;2111 Learned Hall&lt;br /&gt;Prerequisite: permission from the instructor&lt;br /&gt;A graduate introduction to virtual machines.  For additional course information contact Dr. Kulkarni (kulkarn [at] eecs [dot] ku [dot] edu)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-5144884678390696228?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5144884678390696228' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=5144884678390696228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5144884678390696228'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5144884678390696228'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5144884678390696228' title='Classes this spring'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-2534469743612480714</id><published>2008-10-13T10:21:00.000-07:00</published><updated>2008-11-09T23:52:38.974-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lectures'/><title type='text'>Flu and proofs</title><content type='html'>Sorry folks - the flu and proofs really don&amp;rsquo;t mix at all.  I should have shut down class about 10 minutes before I did.&lt;br /&gt;&lt;br /&gt;Take a look at the proof that C[[while b do c]] == C[[if b then c;while b do c else skip]] in the text.  It&amp;rsquo;s about 2 steps long and is trivial.  Very sorry about that.&lt;br /&gt;&lt;br /&gt;The key insight today is that by establishing Gamma(phi)=phi and that the fixed point exists, we can just use phi straight up as we have defined it.  This should make sense because phi is Gamma(phi) and we can just substitute.  However, if we don&amp;rsquo;t establish that the fixed point exists we can&amp;rsquo;t make that equivalence assertion.&lt;br /&gt;&lt;br /&gt;Again, sorry about the lecture today.  I should be back to normal on Wednesday.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-2534469743612480714?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2534469743612480714' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=2534469743612480714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2534469743612480714'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2534469743612480714'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2534469743612480714' title='Flu and proofs'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-2628246367065157043</id><published>2008-10-13T10:19:00.000-07:00</published><updated>2008-11-09T23:52:38.160-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Project 1 Extension</title><content type='html'>Project 1 is formally extended to Wednesday before midnight.  I&amp;rsquo;m going to be slow responding to email until I get the flu out of my system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-2628246367065157043?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2628246367065157043' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=2628246367065157043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2628246367065157043'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2628246367065157043'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2628246367065157043' title='Project 1 Extension'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-875909446454055187</id><published>2008-10-03T23:28:00.000-07:00</published><updated>2008-11-09T23:52:37.804-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Project 1 Due Date</title><content type='html'>The Project 1 due date is set for October 13.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-875909446454055187?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=875909446454055187' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=875909446454055187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=875909446454055187'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=875909446454055187'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=875909446454055187' title='Project 1 Due Date'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-8883544035412092234</id><published>2008-10-01T14:03:00.000-07:00</published><updated>2008-11-09T23:52:37.446-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Project 1 update (again)</title><content type='html'>I have again updated Project 1 to address some student questions.  Specifically: your evaluation function should accept a command and a state and return a &lt;em&gt;state&lt;/em&gt; rather than a value; accessing memory locations that have not been initialized should throw and error; and the small-step evaluation function should have an entry point with the same signature as the large-step evaluation function, but need not be restricted only to that.&lt;br /&gt;&lt;br /&gt;Still no due date - we&amp;rsquo;ll take care of that on Friday.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-8883544035412092234?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=8883544035412092234' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=8883544035412092234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=8883544035412092234'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=8883544035412092234'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=8883544035412092234' title='Project 1 update (again)'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-5625027885914501737</id><published>2008-09-29T21:12:00.000-07:00</published><updated>2008-11-09T23:52:36.994-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Project 1 Update</title><content type='html'>With Project 0 (nearly) out of the way, I have updated the description of Project 1.  No major changes, I have simply added the definition of a proof scheme for the small step operational semantics.  When you decide to start this project, please note that the large step semantics is defined completely by the text and the small step semantics is nearly completely defined.  Take advantage of this!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-5625027885914501737?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5625027885914501737' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=5625027885914501737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5625027885914501737'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5625027885914501737'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5625027885914501737' title='Project 1 Update'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-5474961975744879046</id><published>2008-09-19T08:55:00.000-07:00</published><updated>2008-11-09T23:52:36.530-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><title type='text'>No class 9/22-24</title><content type='html'>I will be traveling to Stuttgart, Germany next week.  Thus, we will not have class 9/22-24.  We will have a make-up lecture later in the semester.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-5474961975744879046?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5474961975744879046' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=5474961975744879046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5474961975744879046'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5474961975744879046'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=5474961975744879046' title='No class 9/22-24'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-892099725353863034.post-2130476193383514270</id><published>2008-06-14T09:34:00.000-07:00</published><updated>2008-11-09T23:52:36.038-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><title type='text'>EECS 762 Blog</title><content type='html'>The purpose of the EECS 762 blog is to provide a means for me to communicate information about projects, lectures and adminstrative stuff.  Please subscribe to the RSS feed for the blog or check here frequently for late breaking news.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/892099725353863034-2130476193383514270?l=ku-eecs762.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2130476193383514270' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=892099725353863034&amp;postID=2130476193383514270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2130476193383514270'/><link rel='self' type='application/atom+xml' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2130476193383514270'/><link rel='alternate' type='text/html' href='http://www.ittc.ku.edu/~alex/teaching/eecs762/blog2/bog2.php?id=2130476193383514270' title='EECS 762 Blog'/><author><name>Buckaroo Bonzai</name><uri>http://www.blogger.com/profile/02905318484497040298</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.loghound.com/g/2005' name='OpenSocialUserId' value='00942260610358365219'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>