<?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-5894839</id><updated>2012-02-02T06:09:14.373+01:00</updated><category term='newLISP'/><category term='automated theorem finding'/><category term='Lisp'/><category term='propositional calculus'/><title type='text'>Kazimir Majorinc's Lisp Programming Blog.</title><subtitle type='html'>Newlisp. Lisp. Programming. Metaprogramming. Propositional logic. Lambda calculus. Blog.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default?start-index=101&amp;max-results=100'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>149</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5894839.post-1435161605151070172</id><published>2011-12-28T18:52:00.018+01:00</published><updated>2012-01-25T20:15:58.181+01:00</updated><title type='text'>Gödel Numbers of Symbolic Expressions and Missing Missing Element.</title><content type='html'>&lt;style type="text/css"&gt;ol{font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:2px;padding-bottom:2px;}li {font-family:'Times New Roman', 'Times', serif;text-align:justify;    padding-top:2px;padding-bottom:2px;}.hh,.hh:hover { text-align:center; color: #c00000;        background: white;        border: 0px;        font-family:'Times New Roman', 'Times', serif;        font-weight: bold;        padding-top:30px;padding-bottom:18px;}p{text-align:justify;}a, a:hover, a:visited {background:white;color:#c00000;text-decoration:underline;}td {}strong,em,span {color:black;}.black {color:black}&lt;/style&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table cellpadding="" width="800" style="background: none repeat scroll 0% 0% white; color: black; padding: 50px; text-align: justify; "&gt;&lt;tbody style="text-align: left;"&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="color: black; font-size: 100%; text-align: left;"&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;"&gt;&lt;h1 class="hh"&gt;Gödel Numbers of Symbolic Expressions and Missing Missing Element&lt;/h1&gt;&lt;p style="text-align: center"&gt;Kazimir Majorinc&lt;br /&gt;kazimir at chem pmf hr&lt;/p&gt;&lt;h2 class="hh"&gt;0. Introduction&lt;/h2&gt;&lt;p&gt;Austrian mathematician &lt;strong&gt;Kurt Gödel&lt;/strong&gt; is known for his theorem on 'incompleteness' of the formal arithmetics expressed in the first order predicate calculus. In proof of the theorem, &lt;strong&gt;Gödel&lt;/strong&gt; defined encoding of logical expressions into natural numbers that allowedhim to express sentences &lt;i&gt;about&lt;/i&gt; formal arithmetics as sentences &lt;i&gt;of&lt;/i&gt; formal arithmetics. &lt;/p&gt;&lt;p&gt;Symbolic expressions are similar to logical expressions. It is not surprise, since symbolic expressions are designed explicitly to represent logical expressions in &lt;strong&gt;McCarthy&lt;/strong&gt;'s program &lt;span style="font-variant: small-caps"&gt;Advice Taker&lt;/span&gt;. In this post,&lt;strong&gt;Gödel&lt;/strong&gt;'s encoding based on products of prime numbers is applied on symbolic expressions. That particular encoding is slightly simpler than original, due to convenient reasoning about symbolic expressions as lists. It is discussed how to redefine symbolic expressions so described &lt;i&gt;gödelization&lt;/i&gt; is bijection, i.e. not only every symbolic expression has its code, but also every natural number is code of some symbolic expression.&lt;/p&gt;&lt;h2 class="hh"&gt;1. Gödel's encoding of logical formulas&lt;/h2&gt;&lt;p&gt;Natural numbers are assigned to all "primitive sings" allowed in logical formulas: 11 is assigned to left parenthesis, 13 is assigned to right parenthesis, 7 is assigned to logical connective &amp;or;. Prime numbers larger than thirteen: 17, 19, 23, ... are assigned to variables &lt;em&gt;x&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;em&gt;y&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;em&gt;z&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;, ... Logical formulas, as sequences of "primitive signs," are associated to sequences of natural numbers. For instance, &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;(&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;x&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;&amp;or;&lt;em&gt;x&lt;/em&gt;&lt;sub&gt;2&lt;/sub&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; is associated to sequence 11, 17, 7, 19, 13. The sequences of natural numbers are associated to single natural numbers using elements of sequence as exponents of prime numbers. For instance, 11, 17, 7, 19, 13 is associated to&lt;/p&gt;&lt;p style="text-align: center"&gt;2&lt;sup&gt;11&lt;/sup&gt;&amp;middot;3&lt;sup&gt;17&lt;/sup&gt;&amp;middot;5&lt;sup&gt;7&lt;/sup&gt;&amp;middot;7&lt;sup&gt;19&lt;/sup&gt;&amp;middot;11&lt;sup&gt;13&lt;/sup&gt; = 8131093970737510569553529892960700268640000000. &lt;/p&gt;&lt;p&gt;Hence, all logical formulas are associated to natural numbers. Furthermore, different logical formulas are associated to different numbers. &lt;/p&gt;&lt;h2 class="hh"&gt;2. Gödel numbers of symbolic expressions&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Gödel&lt;/strong&gt; numbers can be assigned to symbolic expressions without encoding of individual characters as parentheses. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Symbols. &lt;/strong&gt;Let us assume that symbols are only atoms in symbolic expressions, and that symbols consist only of small letters. These restrictions are not essential. Then, all symbols can be ordered first in groups of the same lengths; inside groups by alphabetical order. Such sequence would look like&lt;/p&gt;&lt;p style="text-align: center"&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;a&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;, &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;b&lt;/strong&gt;&lt;/span&gt;, &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;c&lt;/strong&gt;&lt;/span&gt;, ..., &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;z&lt;/strong&gt;&lt;/span&gt;, &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;aa&lt;/strong&gt;&lt;/span&gt;, &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;ab&lt;/strong&gt;&lt;/span&gt;, &lt;span style="font-family: Consolas, monospace"&gt;&lt;span style="background-color: #fffefe"&gt;&lt;strong&gt;ac&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;, ..., &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;zz&lt;/strong&gt;&lt;/span&gt;, &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;aaa&lt;/strong&gt;&lt;/span&gt;, ...&lt;/p&gt;&lt;p&gt;Then, these symbols are enumerated with prime numbers; &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;a&lt;/strong&gt;&lt;/span&gt; → 3, &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;b&lt;/strong&gt;&lt;/span&gt; → 5, &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;c&lt;/strong&gt;&lt;/span&gt; → 7, ... &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Non-atomic symbolic expressions. &lt;/strong&gt;If &lt;em&gt;e&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;, ..., &lt;em&gt;e&lt;/em&gt;&lt;sub&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt;, &lt;em&gt;n&lt;/em&gt; &amp;ge; 0 are symbolic expressions with respective &lt;strong&gt;Gödel&lt;/strong&gt; numbers &lt;em&gt;g&lt;/em&gt;1, ..., &lt;em&gt;gn&lt;/em&gt; then symbolic expression &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;(&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;e&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;...&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;e&lt;/em&gt;&lt;sub&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; is encoded to&lt;/p&gt;&lt;p style="text-align: center"&gt;2&lt;sup&gt;&lt;em&gt;g&lt;/em&gt;1&lt;/sup&gt;·3&lt;sup&gt;&lt;em&gt;g&lt;/em&gt;2&lt;/sup&gt;·... ·&lt;em&gt;p&lt;sub&gt;n&lt;/sub&gt;&lt;sup&gt;gn&lt;/sup&gt;&lt;/em&gt;,&lt;/p&gt;&lt;p&gt;where &lt;em&gt;p&lt;/em&gt;&lt;sub&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt; is &lt;em&gt;n&lt;/em&gt;-th prime number. Specially, &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;()&lt;/strong&gt;&lt;/span&gt; is encoded to 1, &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;(())&lt;/strong&gt;&lt;/span&gt; is encoded to 2 etc. Different symbolic expressions are encoded to different natural numbers.&amp;nbsp;For each natural number that is &lt;strong&gt;Gödel&lt;/strong&gt; number of some symbolic expression, original symbolic expression can be reconstructed. If&lt;strong&gt;Gödel&lt;/strong&gt; number is prime number, then it is code of some symbol. If it is not prime number, then it can be represented as product of the form 2&lt;sup&gt;&lt;em&gt;g&lt;/em&gt;1&lt;/sup&gt;·3&lt;sup&gt;&lt;em&gt;g&lt;/em&gt;2&lt;/sup&gt;·... ·&lt;em&gt;p&lt;sub&gt;n&lt;/sub&gt;&lt;sup&gt;gn&lt;/sup&gt;&lt;/em&gt;, hence it is code of &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;(&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;e&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;...&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;e&lt;/em&gt;&lt;sub&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;, where &lt;em&gt;e&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;, ..., &lt;em&gt;e&lt;/em&gt;&lt;sub&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt; are reconstructed from &lt;strong&gt;Gödel&lt;/strong&gt; numbers &lt;em&gt;g&lt;/em&gt;1, ..., &lt;em&gt;gn&lt;/em&gt;.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;For instance, &lt;strong&gt;Gödel&lt;/strong&gt; number of&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;(a b)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; is 2&lt;sup&gt;3&lt;/sup&gt;·3&lt;sup&gt;5&lt;/sup&gt; = 1944.&lt;/p&gt;&lt;h2 class="hh"&gt;3. Redefining symbolic expressions&lt;/h2&gt;&lt;p&gt;Described encoding is simple and natural. However, it is not bijection. Some natural numbers are not codes of any symbolic expressions. For instance, 27 = 2&lt;sup&gt;0&lt;/sup&gt;·3&lt;sup&gt;3&lt;/sup&gt; cannot be code of any symbolic expression, because there is no symbolic expression such that its code is 0. Let us introduce new symbolic expression, denoted with &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;_&lt;/strong&gt;&lt;/span&gt; such that its &lt;strong&gt;Gödel&lt;/strong&gt; number is 0. Then, &lt;strong&gt;Gödel&lt;/strong&gt; number of &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;(_&amp;nbsp;a)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; is exactly 2&lt;sup&gt;0&lt;/sup&gt;·3&lt;sup&gt;3&lt;/sup&gt; = 27. As every natural number can be presented as product&lt;/p&gt;&lt;p style="text-align: center"&gt;2&lt;sup&gt;&lt;em&gt;g&lt;/em&gt;1&lt;/sup&gt;·3&lt;sup&gt;&lt;em&gt;g&lt;/em&gt;2&lt;/sup&gt;·... ·&lt;em&gt;p&lt;sub&gt;n&lt;/sub&gt;&lt;sup&gt;gn&lt;/sup&gt;&lt;/em&gt;,&lt;/p&gt;&lt;p&gt;where &lt;em&gt;p&lt;/em&gt;&lt;sub&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt; is &lt;em&gt;n&lt;/em&gt;-th prime number, &lt;em&gt;g&lt;/em&gt;1, &lt;em&gt;g&lt;/em&gt;2, ..., &lt;em&gt;gn&lt;/em&gt; &amp;ge; 0, then every natural number is code of some symbolic expression. &lt;/p&gt;&lt;p&gt;Unfortunately, with such definition, &lt;strong&gt;Gödel&lt;/strong&gt; numbers are not unique any more. There are two problems; it appears neither one is essential.&lt;/p&gt; &lt;p&gt;First, symbolic expression &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;_&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; on the end of list does not influence encoding. &lt;strong&gt;Gödel&lt;/strong&gt; numbers of all symbolic expressions &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;(_&amp;nbsp;a)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;,&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;(_&amp;nbsp;a&amp;nbsp;_)&lt;/strong&gt;&lt;/span&gt;,&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;(_ a _ _)&lt;/strong&gt;&lt;/span&gt; ... are  &lt;/p&gt;&lt;p style="text-align:center"&gt;2&lt;sup&gt;0&lt;/sup&gt;·3&lt;sup&gt;3&lt;/sup&gt; = 2&lt;sup&gt;0&lt;/sup&gt;·3&lt;sup&gt;3&lt;/sup&gt; ·5&lt;sup&gt;0&lt;/sup&gt; = 2&lt;sup&gt;0&lt;/sup&gt;·3&lt;sup&gt;3&lt;/sup&gt;·5&lt;sup&gt;0&lt;/sup&gt;·7&lt;sup&gt;0&lt;/sup&gt; = ... = 27. &lt;/p&gt;&lt;p&gt;However, there is an interpretation of &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;_&lt;/strong&gt;&lt;/span&gt; that allows natural identification of these symbolic expressions:&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;_&lt;/strong&gt;&lt;/span&gt; could denote that element is "missing." For instance, symbolic expression&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;(_&amp;nbsp;a)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; doesn't have first element, just second one;&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;_&lt;/strong&gt;&lt;/span&gt; on the end of the symbolic expressions is irrelevant. Implementation of symbolic expressions as maps, as in important experimental Lisp dialect MISC, developed by &lt;a href="http://www.thimbleby.net/"&gt;Will Thimbleby&lt;/a&gt; might be suitable. &lt;/p&gt;&lt;p&gt;Second, &lt;strong&gt;Gödel&lt;/strong&gt; numbers of symbols&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;a&lt;/strong&gt;&lt;/span&gt;,&lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt;&lt;strong&gt;b&lt;/strong&gt;&lt;/span&gt;, ... are same as &lt;strong&gt;Gödel&lt;/strong&gt; numbers ofsymbolic expressions&lt;/p&gt; &lt;p style="text-align:center;"&gt; &lt;span style="font-family: Consolas, monospace; background-color: #fffefe"&gt; &lt;strong&gt;(_&amp;nbsp;())&lt;/strong&gt;&lt;/span&gt;, &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe; text-align: center;"&gt;(_&amp;nbsp;_&amp;nbsp;())&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;, ... &lt;/p&gt; &lt;p&gt;That problem is avoided if symbols are seen as shortens of respective symbolic expressions, like&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;'&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;x&lt;/em&gt; is shorten for &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;(quote &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;x&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&lt;span style="background-color: #fffefe"&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; in many Lisp dialects.&lt;/p&gt;&lt;h2 class="hh"&gt;References&lt;/h2&gt;&lt;ol style="padding-left:15px;font-size:90%;" &gt; &lt;li style="padding-bottom:7px;"&gt;&lt;strong&gt;Gödel&lt;/strong&gt;, &lt;strong&gt;K&lt;/strong&gt;., "&lt;i&gt;On formally undecidable propositions of Principia Mathematica and related Systems I&lt;/i&gt;", in &lt;b&gt;S&lt;/b&gt;. &lt;b&gt;Feferman&lt;/b&gt;, &lt;i&gt;Kurt Gödel, Collected Works, Vol. I.&lt;/i&gt;, Oxford University Press, &lt;strong&gt;1986&lt;/strong&gt;, pp. 145-95.&lt;/li&gt;&lt;li style="padding-bottom:7px;"&gt;&lt;b&gt;McCarthy&lt;/b&gt;, &lt;b&gt;J&lt;/b&gt;., &lt;i&gt;Programs with Common Sense,&lt;/i&gt; In Proceedings of the Teddington Conference on the Mechanization of Thought Processes, London, Her Majesty's Stationery Office, &lt;b&gt;1959&lt;/b&gt;, pp. 756-91.&lt;/li&gt; &lt;li style="padding-bottom:7px;"&gt;&lt;strong&gt;Thimbleby&lt;/strong&gt;, &lt;strong&gt;W&lt;/strong&gt;., &lt;a href="http://will.thimbleby.net/misc/"&gt;MISC&lt;/a&gt;, retrieved 28 December &lt;b&gt;2011&lt;/b&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-1435161605151070172?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/1435161605151070172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=1435161605151070172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/1435161605151070172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/1435161605151070172'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/12/godels-numbers-of-symbolic-expressions.html' title='Gödel Numbers of Symbolic Expressions and Missing Missing Element.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-580613776691881988</id><published>2011-11-20T01:09:00.024+01:00</published><updated>2012-01-24T13:52:46.061+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='automated theorem finding'/><category scheme='http://www.blogger.com/atom/ns#' term='newLISP'/><category scheme='http://www.blogger.com/atom/ns#' term='propositional calculus'/><title type='text'>Automated theorem finding in propositional calculus</title><content type='html'>&lt;style type="text/css"&gt;ol{font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:2px;padding-bottom:2px;}li {font-family:'Times New Roman', 'Times', serif;text-align:justify;    padding-top:2px;padding-bottom:2px;}.hh,.hh:hover { text-align:center; color: #c00000;        background: white;        border: 0px;        font-family:'Times New Roman', 'Times', serif;        font-weight: bold;        padding-top:30px;padding-bottom:18px;}p{text-align:justify;}a, a:hover, a:visited {background:white;color:#c00000;text-decoration:underline;}td {}strong,em,span {color:black;}.black {color:black}&lt;/style&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table cellpadding="" width="900" style="background: none repeat scroll 0% 0% white; color: black; padding: 50px; text-align: justify; "&gt;&lt;tbody style="text-align: left;"&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="color: black; font-size: 100%; text-align: left;"&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;"&gt;&lt;h1 class="hh"&gt;Automated Theorem Finding in Propositional Calculus&lt;/h1&gt;&lt;p style="text-align:center;font-weight:bold"&gt;Kazimir Majorinc&lt;br/&gt;&lt;span style="font-weight:normal;"&gt;kazimir at chem pmf hr&lt;/span&gt;&lt;/p&gt;&lt;h2 class="hh"&gt;0. Introduction&lt;/h2&gt;&lt;p&gt;Automated theorem finding is, according to &lt;strong&gt;Larry Wos&lt;/strong&gt;, one of the basic research problems of automated reasoning. Its objective is search for new, interesting or important mathematical theorems, in contrast to more popular automated theorem proving, i.e. search for proofs of given theorems. See, for instance, &lt;strong&gt;Simon Colton&lt;/strong&gt;'s and &lt;strong&gt;Alex Bundy&lt;/strong&gt;'s survey of previous work. &lt;/p&gt;&lt;p&gt;Propositional calculus is important formal theory. However, individual theorems are of little interest for mathematicians; the theorems are too simple and it is too easy to find proofs. Maybe that is the reason that propositional calculus didn't inspired many attempts for automated theorem finding. &lt;strong&gt;Hao Wang&lt;/strong&gt;'s article "&lt;em&gt;Toward mechanical mathematics&lt;/em&gt;" appears to be sole published description of the experiment with automated theorem finding in propositional calculus. &lt;strong&gt;Wang&lt;/strong&gt;'s Program II. generated formulas of &lt;em&gt;propositional sequent calculus&lt;/em&gt;. Generated sequents were equivalent to propositional formulas &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&amp;nbsp;&amp;rarr;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;G&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;,&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(not&amp;nbsp;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&amp;nbsp;and&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;G&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;))&lt;/strong&gt;&lt;/span&gt;,&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&amp;nbsp;or&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;G&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; in notation used in this post. The formulas &lt;em&gt;F&lt;/em&gt; and &lt;em&gt;G&lt;/em&gt; had exactly six symbols (variables and operators.) The sequents that could be obtained by variables renaming and the sequents such that at least one of the formulas &lt;em&gt;F&lt;/em&gt; and &lt;em&gt;G&lt;/em&gt; is theorem were excluded as trivial. Nearly half million of the formulas satisfied these criteria; roughly 1/14 of these were theorems. &lt;strong&gt;Wang&lt;/strong&gt; concluded that "&lt;em&gt;the result was disappointing in so far as too few theorems were excluded as being trivial, because the principles of triviality actually included in the program were too crude&lt;/em&gt;."&amp;nbsp; &lt;/p&gt;&lt;p&gt;Two programs for automated theorem finding in propositional calculus are presented in this blog post. The first one implements arguably simplest possible, brute force algorithm for derivation of theorems from axioms. The second program has few improvements. Both programs, and the results of their executions: one hundred thousand of theorems and proofs for each are attached. &lt;/p&gt;&lt;h2 class="hh"&gt;1. Axioms&lt;/h2&gt;&lt;p&gt;Definitions of the basic notions of propositional calculus (variables, well formed formulas etc.) are omitted in this post. It is assumed that reader is already familiar with these or he is able to understand post without such formal introduction. Used system of axioms is variation of standard L&lt;sub style="font-size:70%;"&gt;4&lt;/sub&gt; system from &lt;strong&gt;Elliott Mendelson&lt;/strong&gt;'s classical textbook.&lt;/p&gt;&lt;ol style="font-family: Consaolas, monospaace"&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;(A &amp;rarr; (B &amp;rarr; A))&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;((A &amp;rarr; (B &amp;rarr; C)) &amp;rarr; ((A &amp;rarr; B) &amp;rarr; (A &amp;rarr; C)))&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;((A and B) &amp;rarr; A)&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;((A and B) &amp;rarr; B)&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;(A &amp;rarr; (B &amp;rarr; (A and B)))&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;(A &amp;rarr; (A or B))&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;(B &amp;rarr; (A or B))&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;((A &amp;rarr; B) &amp;rarr; ((B &amp;rarr; C) &amp;rarr; ((A or B) &amp;rarr; C)))&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;((A &amp;rarr; B) &amp;rarr; ((A &amp;rarr; (not B)) &amp;rarr; (not A)))&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="font-family:Consolas,monospace"&gt;&lt;strong&gt;((not (not A)) &amp;rarr; A)&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Originally, these are &lt;em&gt;schemes of axioms&lt;/em&gt;: each formula represents infinite family of axioms obtained by substitution of formulas for A, B, C. Here, these formulas are individual axioms.&lt;/p&gt;&lt;h2 class="hh"&gt;2. Rules of inference&lt;/h2&gt;&lt;p&gt;Usual rules of inference are &lt;em&gt;modus ponens&lt;/em&gt; and &lt;em&gt;substitution&lt;/em&gt;. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Modus ponens&lt;/strong&gt; or &lt;strong&gt;detachment.&lt;/strong&gt; If &lt;em&gt;F&lt;/em&gt; and&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt; &amp;rarr;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;G&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; are theorems of propositional calculus, where &lt;em&gt;F&lt;/em&gt; and &lt;em&gt;G&lt;/em&gt; are propositional formulas then &lt;em&gt;G&lt;/em&gt; is the theorem of propositional calculus. For instance, &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(A &amp;rarr; A)&lt;/strong&gt;&lt;/span&gt; and &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;((A &amp;rarr; A) &amp;rarr; (B &amp;rarr; (A &amp;rarr; A)))&lt;/strong&gt;&lt;/span&gt; are theorems of propositional calculus. By modus ponens, the formula&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(B &amp;rarr; (A &amp;rarr; A))&lt;/strong&gt;&lt;/span&gt; is also theorem of propositional calculus. The formulas F and&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt; &amp;rarr;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;G&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; are called premise minor and premise major respectively.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Substitution.&lt;/strong&gt; If &lt;em&gt;F&lt;/em&gt; is a theorem of propositional calculus, &lt;em&gt;A&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;,..., &lt;em&gt;A&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt; are variables and &lt;em&gt;F&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;, ...,&lt;em&gt; F&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt; are formulas of propositional calculus then formula &lt;em&gt;F&lt;/em&gt;(&lt;em&gt;F&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;/&lt;em&gt;A&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;, ...,&lt;em&gt;F&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt;/&lt;em&gt;A&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt;) obtained by simultaneous substitution of &lt;em&gt;F&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt; for A&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;, ..., &lt;em&gt;F&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt; for A&lt;sub style="font-size:70%;"&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt; in &lt;em&gt;F&lt;/em&gt; is also the theorem of propositional calculus. For instance,&amp;nbsp; &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(A &amp;rarr; A)&lt;/strong&gt;&lt;/span&gt; is a theorem of propositional calculus; by substitution of &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(A &amp;rarr; B)&lt;/strong&gt;&lt;/span&gt; for &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/span&gt;, the formula &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;((A &amp;rarr; B) &amp;rarr; (A &amp;rarr; B))&lt;/strong&gt;&lt;/span&gt; is also theorem of propositional calculus.&lt;/p&gt;&lt;p&gt;Substitution can be applied on any theorem and used for derivation of infinitely many theorems. All theorems derived by substitution are less interesting than original one, however, they can be used in some application of &lt;em&gt;modus ponens&lt;/em&gt;. Because of that, these two rules are integrated in one, more suitable for automated theorem finding.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Combined rule. &lt;/strong&gt;If &lt;em&gt;F&lt;/em&gt; and &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;G&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt; &amp;rarr; &lt;/strong&gt;&lt;/span&gt; &lt;em&gt;H&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; are theorems of propositional calculus, where &lt;em&gt;F&lt;/em&gt;, &lt;em&gt;G&lt;/em&gt; and &lt;em&gt;H&lt;/em&gt; are formulas of propositional calculus and there is a substitution &lt;em&gt;u&lt;/em&gt;, such that &lt;em&gt;u&lt;/em&gt; is unification of&lt;em&gt;F&lt;/em&gt; and &lt;em&gt;G&lt;/em&gt;, i.e. &lt;em&gt;u&lt;/em&gt;(&lt;em&gt;F&lt;/em&gt;) = &lt;em&gt;u&lt;/em&gt;(&lt;em&gt;G&lt;/em&gt;), then &lt;em&gt;u&lt;/em&gt;(&lt;em&gt;H&lt;/em&gt;) is also theorem of the propositional calculus. Without loss of generality it is required that &lt;em&gt;u&lt;/em&gt;(&lt;em&gt;H&lt;/em&gt;) is in canonic form, i.e. the variables occur in alphabetical order. For instance, the formula&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;((B &amp;rarr; (A &amp;rarr; B))&lt;/strong&gt;&lt;/span&gt; is not in canonic form and the formula &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;((A &amp;rarr; (B &amp;rarr; A))&lt;/strong&gt;&lt;/span&gt; is in canonic form.&lt;/p&gt;&lt;h2 class="hh"&gt;3. Program 1.&lt;/h2&gt;&lt;p&gt;The theorems of propositional calculus are derived sequentially. &lt;/p&gt;&lt;ol&gt; &lt;li&gt;Theorems &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;,&amp;nbsp;&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;2&lt;/sub&gt;, ..., &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;10&lt;/sub&gt; are axioms. &lt;/li&gt; &lt;li&gt;Theorems &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;11&lt;/sub&gt;,&amp;nbsp;&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;12&lt;/sub&gt;, ... are derived by single application of the &lt;em&gt;combined rule&lt;/em&gt; on pairs of thorems (&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;, &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;j&lt;/em&gt;&lt;/sub&gt;),  &lt;em&gt;i&lt;/em&gt;,&amp;nbsp;&lt;em&gt;j&lt;/em&gt;&amp;nbsp;=&amp;nbsp;1,&amp;nbsp;2,&amp;nbsp;... by order of Cantor's enumeration: (&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;, &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;), (&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;2&lt;/sub&gt;, &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;), (&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;2&lt;/sub&gt;, &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;2&lt;/sub&gt;), (&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;, &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;2&lt;/sub&gt;) ... &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The algorithm is arguably the simplest possible algorithm for automated theorem finding in propositional calculus. It is complete: all theorems of the propositional calculus (in canonic form) will occur at some place in infinite sequence. It can be said even more: all theorems will occur infinitely many times in that sequence: if &lt;em&gt;F&lt;/em&gt; is a theorem, then for every theorem&lt;em&gt;G&lt;/em&gt;, formula &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;G&lt;/em&gt; &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt; &amp;rarr;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; is also theorem and &lt;em&gt;F&lt;/em&gt; can be derived from these two. However, duplicates can be simply omitted from the sequence of theorems.&lt;/p&gt;&lt;p&gt;The algorithm is implemented in newLISP dialect of Lisp. Propositional formulas are naturally represented as Lisp symbolic expressions and some frequently needed operations, like unification, are supported. &lt;/p&gt;&lt;p&gt;The program is executed until first 100 000 theorems are derived. Application of the combined rule is attempted 1 127 490 times. Application of combined rule failed in 50% of attempts because premise major wasn't implication. In 34% of attempts unification of antecedent in premise major and premise minor wasn't possible. In 16% of attempts unification succeeded and conclusion is developed. In 7% of attempts, conclusion was already derived earlier during executions of the program. In 9% of all attempts, conclusion was previously unknown.&lt;/p&gt;&lt;p&gt;Following table contains the list of all theorems of the size (defined as number of operator and variable occurrences) five or less derived by program, with some related data. &lt;/p&gt;&lt;table border="0" align="center"&gt; &lt;tr&gt;  &lt;td&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i&amp;nbsp;&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&lt;span style="font-weight: normal; text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&lt;span style="font-weight: normal; text-align: right;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; d(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)&lt;/span&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;|&lt;/span&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |proof(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)|&lt;/span&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ||proof(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)||&lt;/span&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c&lt;/em&gt;(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;&lt;/span&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;86&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace;"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; A)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 410&lt;/td&gt;  &lt;td align="right"&gt;3&lt;/td&gt;  &lt;td align="right"&gt;33&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;3.21&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right" &gt;2&lt;/td&gt;  &lt;td align="right" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace;"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (B &amp;rarr; A))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1679&lt;/td&gt;  &lt;td align="right" &gt;5&lt;/td&gt;  &lt;td align="right" &gt;5&lt;/td&gt;  &lt;td align="right" &gt;1&lt;/td&gt;  &lt;td align="right" &gt;1.38&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;3&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;((A and B) &amp;rarr; A)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1679&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;1.38&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;4&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;((A and B) &amp;rarr; B)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1679&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;1.38&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (A or B))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1678&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;1.38&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;6&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (B or A))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1678&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;1.38&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;7&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;((not (not A)) &amp;rarr; A)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1074&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;1.38&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;8&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1190&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(not (A and (not A)))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;37&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;2.06&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;9&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1210&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(not ((not A) and A))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;37&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;2.06&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;10&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2222&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace;"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (A and A))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;67&lt;/td&gt;  &lt;td align="right"&gt;9&lt;/td&gt;  &lt;td align="right"&gt;2.32&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;11&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2230&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A or (B &amp;rarr; B))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;43&lt;/td&gt;  &lt;td align="right"&gt;7&lt;/td&gt;  &lt;td align="right"&gt;2.12&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;12&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2231&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;((A &amp;rarr; A) or B)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;43&lt;/td&gt;  &lt;td align="right"&gt;7&lt;/td&gt;  &lt;td align="right"&gt;2.12&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2234&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (B &amp;rarr; B))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;43&lt;/td&gt;  &lt;td align="right"&gt;7&lt;/td&gt;  &lt;td align="right"&gt;2.12&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;br/&gt;&lt;p&gt;The data in columns of the table are:&lt;/p&gt;&lt;table align="center" cellpadding="0" cellspacing="0" width="95%"&gt; &lt;tr&gt;  &lt;td&gt;&lt;span style="font-weight: normal"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ordinal number of derived theorem,&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;span style="font-weight: normal"&gt;&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;theorem,&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;span style="font-weight: normal"&gt;d(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;number of times the theorem is derived&amp;nbsp;during execution of the   program,&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;span style="font-weight: normal"&gt;|&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;|&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;size of the theorem, defined as number of operators and variables,&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;span style="font-weight: normal"&gt;|proof(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)|&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;size of the proof, defined as sum of the sizes of the theorems in proof,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;including derived theorem,&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;span style="font-weight: normal"&gt;||proof(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)||&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;number of steps in proof of the theorem (1   for axioms) and&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;span style="font-weight: normal"&gt;&lt;em&gt;c&lt;/em&gt;(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;&lt;/span&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;coefficient defined with &lt;span style="font-weight: normal"&gt;|&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;|&lt;sup&gt;&lt;em&gt;c&lt;/em&gt;(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)&lt;/sup&gt;   = |proof(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)|.&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;br/&gt;&lt;p&gt;Coefficient &lt;span style="font-weight: normal"&gt;&lt;em&gt;c&lt;/em&gt;(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;&lt;/span&gt;) is attempt for quantification of the intuition that interesting theorems are "deep" theorems, i.e. short theorems with long proofs. &lt;/p&gt;&lt;p&gt;For instance, the shortest theorem of propositional calculus, &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(A &amp;rarr; A)&lt;/strong&gt;&lt;/span&gt;is derived as 86. theorem; the proof is printed out in following form:&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;td style="font-family: Consolas, monospace;font-weight:bold"&gt;tm-2.&amp;nbsp;&amp;nbsp; ((A &amp;rarr; (B &amp;rarr; C)) &amp;rarr; ((A &amp;rarr; B) &amp;rarr; (A &amp;rarr; C))), axiom&lt;br/&gt; tm-1.&amp;nbsp;&amp;nbsp; (A &amp;rarr; (B &amp;rarr; A)), axiom&lt;br/&gt; tm-12.&amp;nbsp; ((A &amp;rarr; B) &amp;rarr; (A &amp;rarr; A)), M:tm-2, m:tm-1&lt;br/&gt; tm-86.&amp;nbsp; (A &amp;rarr; A), M:tm-12, m:tm-11&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br/&gt;&lt;p&gt;Premise major and premise minor used in proving each steps are denoted with &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;M&lt;/strong&gt;&lt;/span&gt; and &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;m&lt;/strong&gt;&lt;/span&gt; respectively. Notation &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;tm-&lt;/strong&gt;&lt;/span&gt; is used for internal representation of theorem in program; for this particular algorithm, indexes are same. Original output of the program contains respective unifications as well. &lt;/p&gt;&lt;p&gt;Some disadvantages of the Program 1. are obvious. Some of derived theorems are &lt;em&gt;instances&lt;/em&gt; of the already derived theorems. For example, theorem 89.,&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;((A&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;B))&lt;/strong&gt;&lt;/span&gt; is an instance of the theorem 86. The algorithm doesn't prefer short theorems, although it appears that shorter theorems are of greater interest, from perspective of human reader and, perhaps, from computational complexity perspective. &lt;/p&gt;&lt;p style="text-align: center"&gt;&lt;img alt="Fig1" height="289" src="http://www.instprog.com/blogposts/atf-pc/T1.png"  width="481" /&gt;&lt;br/&gt;&lt;span style="font-size:small"&gt;Fig 1. Size of the theorems derived by Program 1.&lt;/span&gt;&lt;/p&gt;&lt;h3 class="hh"&gt;Attachments&lt;/h3&gt;&lt;ol&gt; &lt;li&gt;&lt;a href="http://www.instprog.com/blogposts/atf-pc/finder-P2.lsp"&gt;The program&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.instprog.com/blogposts/atf-pc/L4-13-natural-14.zip"&gt;Text file with 100 000 derived theorems and  their proofs&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.instprog.com/blogposts/atf-pc/L4-13-theory-14.csv"&gt;CSV file with theorems and related data&lt;/a&gt;. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.instprog.com/blogposts/atf-pc/L4-13-data.csv"&gt;CSV file with less important details on program  execution&lt;/a&gt;. &lt;/li&gt;&lt;/ol&gt;&lt;h2 class="hh"&gt;4. Program 2.&lt;/h2&gt;&lt;p&gt;Described algorithm can be improved by rejection of instances and addition of preference for a shorter theorems, i.e. standard "best first" strategy. &lt;/p&gt;&lt;ol&gt; &lt;li&gt;Theorems &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;, &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;2&lt;/sub&gt;, ..., &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;10&lt;/sub&gt; are the axioms of propositional calculus.&lt;/li&gt; &lt;li&gt;Theorem &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;n&lt;/em&gt;+1&lt;/sub&gt; is &lt;em&gt;the first theorem&lt;/em&gt; such  that &lt;ol type="a"&gt; &lt;li&gt;it can be derived by single application of the combined rule on  pairs of theorems &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;1&lt;/sub&gt;, &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;2&lt;/sub&gt;, ..., &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt;,&lt;/li&gt;  &lt;li&gt;it is not an instance of any of these theorems, and&lt;/li&gt; &lt;li&gt;there is no shorter theorem   satisfying conditions a. and b. &lt;/li&gt; &lt;/ol&gt; for &lt;em&gt;n&lt;/em&gt; = 11, 12, ... The theorems are derived by single application  of the &lt;em&gt;combined rule&lt;/em&gt; on the pairs of the theorems, ordered by &lt;em&gt;Cantor's enumeration&lt;/em&gt;. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The program is developed in newLISP and executed for nearly two weeks onfew years old personal computer. Application of the combined rule is attempted 10 000 000 001 times. It failed in 51% of attempts because premise major wasn't implication. In 23% of attempts unification of antecendent in premise major and premise minor wasn't possible. In 26% of attempts unification succeeded and conclusion is developed. In 13% of attempts, conclusion was too long to be added to the theory in any reasonable time; it is unknown how many duplicates were among these. Nearly 13% attempts resulted in duplication of already derived theorems. Finally, 0.0065% attempts were successeful and 0.001% attempts resulted with 100 001 shortest theorems.&amp;nbsp; &lt;/p&gt;&lt;p&gt;Following table contains&amp;nbsp;the list of all theorems of the size (defined as number of operator and variable occurences) less or equal to five, derived by program, with some related data. &lt;/p&gt;&lt;table border="0" align="center"&gt; &lt;tr&gt;  &lt;td&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i&amp;nbsp;&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&lt;span style="font-weight: normal; text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;  &lt;td&gt;&lt;span style="font-weight: normal; text-align: right;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; d(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)&lt;/span&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;|&lt;/span&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |proof(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)|&lt;/span&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ||proof(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;)||&lt;/span&gt;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;span style="font-weight: normal"&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c&lt;/em&gt;(&lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;&lt;/span&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="text-align: right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;13&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; A)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;431576&lt;/td&gt;  &lt;td align="right"&gt;3&lt;/td&gt;  &lt;td align="right"&gt;33&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 3.207534&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;2&lt;/td&gt;  &lt;td align="right"&gt;38384&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;((not A) or A)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;173362&lt;/td&gt;  &lt;td align="right"&gt;4&lt;/td&gt;  &lt;td align="right"&gt;468&lt;/td&gt;  &lt;td align="right"&gt;57&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 4.651162&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;3&lt;/td&gt;  &lt;td align="right"&gt;38385&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A or (not A))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;173362&lt;/td&gt;  &lt;td align="right"&gt;4&lt;/td&gt;  &lt;td align="right"&gt;416&lt;/td&gt;  &lt;td align="right"&gt;51&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 4.516202&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;4&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (B &amp;rarr; A))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;154928&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 1.37973&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;3&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;((A and B) &amp;rarr; A)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;150188&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 1.37973&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;6&lt;/td&gt;  &lt;td align="right"&gt;4&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;((A and B) &amp;rarr; B)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;150188&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 1.37973&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;7&lt;/td&gt;  &lt;td align="right"&gt;6&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (A or B))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;150630&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 1.37973&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;8&lt;/td&gt;  &lt;td align="right"&gt;7&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (B or A))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;150630&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;1.37973&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;9&lt;/td&gt;  &lt;td align="right"&gt;10&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&amp;nbsp;&lt;b&gt;((not (not A)) &amp;rarr; A)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;149718&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;1&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 1.37973&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;10&lt;/td&gt;  &lt;td align="right"&gt;14&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A or (B &amp;rarr; B))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;210089&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;43&lt;/td&gt;  &lt;td align="right"&gt;7&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 2.121747&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;11&lt;/td&gt;  &lt;td align="right"&gt;15&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;((A &amp;rarr; A) or B)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;210089&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;43&lt;/td&gt;  &lt;td align="right"&gt;7&lt;/td&gt;  &lt;td align="right"&gt;2.121747&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;12&lt;/td&gt;  &lt;td align="right"&gt;16&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (B &amp;rarr; B))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;212851&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;43&lt;/td&gt;  &lt;td align="right"&gt;7&lt;/td&gt;  &lt;td align="right"&gt;2.121747&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;13&lt;/td&gt;  &lt;td align="right"&gt;50&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (A and A))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;158696&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;67&lt;/td&gt;  &lt;td align="right"&gt;9&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 2.318542&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;14&lt;/td&gt;  &lt;td align="right"&gt;80&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;((A or A) &amp;rarr; A)&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;158513&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;93&lt;/td&gt;  &lt;td align="right"&gt;13&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 2.475692&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;15&lt;/td&gt;  &lt;td align="right"&gt;91&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(not (not (A &amp;rarr; A)))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;204846&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;101&lt;/td&gt;  &lt;td align="right"&gt;15&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 2.51689&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;16&lt;/td&gt;  &lt;td align="right"&gt;708&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(not (A and (not A)))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;156264&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;37&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 2.058924&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;17&lt;/td&gt;  &lt;td align="right"&gt;763&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(not ((not A) and A))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;156284&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;37&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 2.058924&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td style="text-align: right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11142&lt;/td&gt;  &lt;td style="font-family: Consolas, monospace"&gt;&lt;b&gt;&amp;nbsp;(A &amp;rarr; (not (not A)))&lt;/b&gt;&lt;/td&gt;  &lt;td align="right"&gt;125517&lt;/td&gt;  &lt;td align="right"&gt;5&lt;/td&gt;  &lt;td align="right"&gt;214&lt;/td&gt;  &lt;td align="right"&gt;27&lt;/td&gt;  &lt;td align="right"&gt;&amp;nbsp;&amp;nbsp; 2.92471&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;br/&gt;&lt;p&gt;For instance, &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;38384&lt;/sub&gt;, &lt;span style="font-family: Consolas, monospace"&gt; &lt;b&gt;((not A) or A)&lt;/b&gt;&lt;/span&gt; has following proof, as printed out by program:&lt;/p&gt;&lt;table align="center" style="font-family:Consolas, monospace; font-weight:bold"&gt;&lt;tr&gt;&lt;td&gt; tm-2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;(B&amp;nbsp;&amp;rarr;&amp;nbsp;C))&amp;nbsp;&amp;rarr;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;C))),&amp;nbsp;axiom&lt;br/&gt; tm-1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(B&amp;nbsp;&amp;rarr;&amp;nbsp;A)),&amp;nbsp;axiom&lt;br/&gt; tm-11.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(B&amp;nbsp;&amp;rarr;&amp;nbsp;(C&amp;nbsp;&amp;rarr;&amp;nbsp;B))),&amp;nbsp;M:tm-1,&amp;nbsp;m:tm-1&lt;br/&gt; tm-61.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(C&amp;nbsp;&amp;rarr;&amp;nbsp;B))),&amp;nbsp;M:tm-2,&amp;nbsp;m:tm-11&lt;br/&gt; tm-10.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((not&amp;nbsp;(not&amp;nbsp;A))&amp;nbsp;&amp;rarr;&amp;nbsp;A),&amp;nbsp;axiom&lt;br/&gt; tm-56.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;((not&amp;nbsp;(not&amp;nbsp;B))&amp;nbsp;&amp;rarr;&amp;nbsp;B)),&amp;nbsp;M:tm-1,&amp;nbsp;m:tm-10&lt;br/&gt; tm-171.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;(not&amp;nbsp;B)))&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;B)),&amp;nbsp;M:tm-2,&amp;nbsp;m:tm-56&lt;br/&gt; tm-3769.&amp;nbsp;&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;(not&amp;nbsp;B)))&amp;nbsp;&amp;rarr;&amp;nbsp;(C&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;B))),&amp;nbsp;M:tm-61,&amp;nbsp;m:tm-171&lt;br/&gt; tm-12.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;A)),&amp;nbsp;M:tm-2,&amp;nbsp;m:tm-1&lt;br/&gt; tm-63.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;A),&amp;nbsp;M:tm-12,&amp;nbsp;m:tm-1&lt;br/&gt; tm-79.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(((A&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;A)&amp;nbsp;&amp;rarr;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;B)),&amp;nbsp;M:tm-2,&amp;nbsp;m:tm-63&lt;br/&gt; tm-80.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(B&amp;nbsp;&amp;rarr;&amp;nbsp;B)),&amp;nbsp;M:tm-1,&amp;nbsp;m:tm-63&lt;br/&gt; tm-20224.&amp;nbsp;&amp;nbsp;(((A&amp;nbsp;&amp;rarr;&amp;nbsp;A)&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;B),&amp;nbsp;M:tm-79,&amp;nbsp;m:tm-80&lt;br/&gt; tm-20448.&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(((B&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;C)&amp;nbsp;&amp;rarr;&amp;nbsp;C)),&amp;nbsp;M:tm-1,&amp;nbsp;m:tm-20224&lt;br/&gt; tm-21078.&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;((B&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;C))&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;C)),&amp;nbsp;M:tm-2,&amp;nbsp;m:tm-20448&lt;br/&gt; tm-9.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;B))&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;A))),&amp;nbsp;axiom&lt;br/&gt; tm-46593.&amp;nbsp;&amp;nbsp;(((not&amp;nbsp;A)&amp;nbsp;&amp;rarr;&amp;nbsp;A)&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;(not&amp;nbsp;A))),&amp;nbsp;M:tm-21078,&amp;nbsp;m:tm-9&lt;br/&gt; tm-47470.&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(((not&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;B)),&amp;nbsp;M:tm-3769,&amp;nbsp;m:tm-46593&lt;br/&gt; tm-48685.&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;((not&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;B))&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;B)),&amp;nbsp;M:tm-2,&amp;nbsp;m:tm-47470&lt;br/&gt; tm-7.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(B&amp;nbsp;or&amp;nbsp;A)),&amp;nbsp;axiom&lt;br/&gt; tm-36.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(B&amp;nbsp;&amp;rarr;&amp;nbsp;(C&amp;nbsp;or&amp;nbsp;B))),&amp;nbsp;M:tm-1,&amp;nbsp;m:tm-7&lt;br/&gt; tm-157.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;B)&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(C&amp;nbsp;or&amp;nbsp;B))),&amp;nbsp;M:tm-2,&amp;nbsp;m:tm-36&lt;br/&gt; tm-2963.&amp;nbsp;&amp;nbsp;&amp;nbsp;((not&amp;nbsp;(not&amp;nbsp;A))&amp;nbsp;&amp;rarr;&amp;nbsp;(B&amp;nbsp;or&amp;nbsp;A)),&amp;nbsp;M:tm-157,&amp;nbsp;m:tm-10&lt;br/&gt; tm-3583.&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;((not&amp;nbsp;(not&amp;nbsp;B))&amp;nbsp;&amp;rarr;&amp;nbsp;(C&amp;nbsp;or&amp;nbsp;B))),&amp;nbsp;M:tm-1,&amp;nbsp;m:tm-2963&lt;br/&gt; tm-13238.&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;(not&amp;nbsp;B)))&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(C&amp;nbsp;or&amp;nbsp;B))),&amp;nbsp;M:tm-2,&amp;nbsp;m:tm-3583&lt;br/&gt; tm-58849.&amp;nbsp;&amp;nbsp;(((not&amp;nbsp;(A&amp;nbsp;or&amp;nbsp;B))&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;(not&amp;nbsp;B)))&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;or&amp;nbsp;B)),&amp;nbsp;M:tm-48685,&amp;nbsp;m:tm-13238&lt;br/&gt; tm-6.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;or&amp;nbsp;B)),&amp;nbsp;axiom&lt;br/&gt; tm-46.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;(A&amp;nbsp;or&amp;nbsp;B)))&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;A)),&amp;nbsp;M:tm-9,&amp;nbsp;m:tm-6&lt;br/&gt; tm-780.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;((B&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;(B&amp;nbsp;or&amp;nbsp;C)))&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;B))),&amp;nbsp;M:tm-1,&amp;nbsp;m:tm-46&lt;br/&gt; tm-23987.&amp;nbsp;&amp;nbsp;((A&amp;nbsp;&amp;rarr;&amp;nbsp;(B&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;(B&amp;nbsp;or&amp;nbsp;C))))&amp;nbsp;&amp;rarr;&amp;nbsp;(A&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;B))),&amp;nbsp;M:tm-2,&amp;nbsp;m:tm-780&lt;br/&gt; tm-203206.&amp;nbsp;((not&amp;nbsp;(A&amp;nbsp;or&amp;nbsp;B))&amp;nbsp;&amp;rarr;&amp;nbsp;(not&amp;nbsp;A)),&amp;nbsp;M:tm-23987,&amp;nbsp;m:tm-1&lt;br/&gt; tm-203408.&amp;nbsp;((not&amp;nbsp;A)&amp;nbsp;or&amp;nbsp;A),&amp;nbsp;M:tm-58849,&amp;nbsp;m:tm-203206&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br/&gt;&lt;p&gt;Notation &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;tm-&lt;/strong&gt;&lt;/span&gt; stands for internal representation of theorems in program. For instance, &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;38384&lt;/sub&gt; is &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;tm-203408&lt;/strong&gt;&lt;/span&gt;.&lt;/p&gt;&lt;p style="text-align: center"&gt;&lt;img alt="Size of derived theorems" height="287" src="http://www.instprog.com/blogposts/atf-pc/T2.png" width="479" /&gt;&lt;br/&gt;&lt;span style="font-size:small"&gt;Fig 2. Size of the theorems derived by Program 2.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The graph shows that derived theorems are much shorter than those derived with Program 1. It is clearly visible which theorems are relatively short, yet they are derived relatively lately. Theorems &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;38384&lt;/sub&gt; and &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;38385&lt;/sub&gt;, for instance, are among these. Some short theorems are used in futher derivation of short theorems. It is seen on graph as dent in graph; for instance, between &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;38383&lt;/sub&gt; and &lt;em&gt;T&lt;/em&gt;&lt;sub style="font-size:70%;"&gt;54482&lt;/sub&gt;. The width, depth and area of the dent suggest the importance of the theorem &lt;em&gt;a posteriori.&lt;/em&gt; It appears that there is a correlation with size of proof as measure of the importance oftheorem&lt;em&gt; a priori&lt;/em&gt;.&amp;nbsp; &lt;/p&gt;&lt;p style="text-align:center"&gt;&lt;img alt="Size of the proof" height="287" src="http://www.instprog.com/blogposts/atf-pc/T3.png" width="479" /&gt;&lt;br/&gt;&lt;span style="font-size: small"&gt;Fig. 3. Size of the proofs of theorems derived by Program 2.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Few weaknesses of Program 2. are obvious. Although derived theorems are not instances of previously derived theorems, human can recognize that many of these theorems are weak. For instance, theorems containing double negation; theorems of the form &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&amp;nbsp;or&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;G&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;, where at least one of the formulas &lt;em&gt;F&lt;/em&gt; and &lt;em&gt;G&lt;/em&gt; is a theorem; theorems with subformulas of the form &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&amp;nbsp;or&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;, &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;&amp;nbsp;and&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;em&gt;F&lt;/em&gt;&lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;, where &lt;em&gt;F&lt;/em&gt; is any formula; thorems that could be obtained by application of commutativity and associativity of operations &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt;or&lt;/strong&gt;&lt;/span&gt; and &lt;span style="font-family: Consolas, monospace"&gt;&lt;strong&gt; and&lt;/strong&gt;&lt;/span&gt; and so forth. It is not obvious what might be the best approach for removing these. &lt;/p&gt; &lt;h3 class="hh"&gt;Attachments&lt;/h3&gt;&lt;ol&gt; &lt;li&gt;&lt;a href="http://www.instprog.com/blogposts/atf-pc/finder-P2.lsp"&gt;The program&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.instprog.com/blogposts/atf-pc/L4-11-natural-53.zip"&gt;Text file with 100 001 derived theorem and  their proofs&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.instprog.com/blogposts/atf-pc/L4-11-theory-53.csv"&gt;CSV file with theorems and related data&lt;/a&gt;. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.instprog.com/blogposts/atf-pc/L4-11-data.csv"&gt;CSV file with less important details on program  execution&lt;/a&gt;. &lt;/li&gt;&lt;/ol&gt;&lt;h2 class="hh"&gt;5. Conclusion&lt;/h2&gt;The program should be extended to reject more trivial variations of already derived theorems, as humans do. The results obtained so far appear to be interesting enough to justify further experiments. &lt;h2 class="hh"&gt;References&lt;/h2&gt;&lt;ol style="padding-left:15px;font-size:90%;"&gt;&lt;li style="padding-bottom:7px;"&gt;&lt;strong&gt;Colton, S.&lt;/strong&gt; and &lt;strong&gt;Bundy, A.&lt;/strong&gt;, "&lt;em&gt;On the  Notion of Interestingness in Automated Mathematical Discovery&lt;/em&gt;" in Proceedings of the AISB'99 Symposium on AI and Scientific Discovery,  Edinburgh, UK, &lt;strong&gt;1999.&lt;/strong&gt;&lt;/li&gt;&lt;li style="padding-bottom:7px;"&gt;&lt;strong&gt;Mendelson, E.&lt;/strong&gt;, &lt;em&gt;Introduction to Mathematical Logic&lt;/em&gt;, many editions.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Poincare, H.&lt;/strong&gt;, &lt;em&gt;Science and Method&lt;/em&gt;, Dover Publications, Mineola,  &lt;strong&gt;2003&lt;/strong&gt;.&lt;/li&gt;&lt;li style="padding-bottom:7px;"&gt;&lt;strong&gt;Wang, H.&lt;/strong&gt;, &lt;em&gt;Toward Mechanical Mathematics&lt;/em&gt;, IBM Journal of Research and Development, Vol. 4 No. 1, January &lt;strong&gt;1960&lt;/strong&gt;, pp. 2-22.&lt;/li&gt;&lt;li style="padding-bottom:7px;"&gt;&lt;strong&gt;Wang, H.&lt;/strong&gt;, &lt;em&gt;Survey of Mathematical Logic&lt;/em&gt;, Nort Holland, Amsterdam, &lt;strong&gt;1963&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Wos, L.&lt;/strong&gt;, &lt;em&gt;Automated Reasoning: 33 Basic Research Problem&lt;/em&gt;,  Prentice-Hall, &lt;strong&gt;1988&lt;/strong&gt;.&lt;/li&gt;&lt;li style="padding-bottom:7px;"&gt;&lt;strong&gt;Wos, L.&lt;/strong&gt;, &lt;em&gt;The Problem of Automated Theorem Finding&lt;/em&gt;, Journal of Automated Reasoning, Vol. 10 No. 1,  &lt;strong&gt;1993&lt;/strong&gt;, pp. 137-8.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-580613776691881988?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/580613776691881988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=580613776691881988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/580613776691881988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/580613776691881988'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/11/automated-theorem-finding-in.html' title='Automated theorem finding in propositional calculus'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-4890996351476770965</id><published>2011-09-05T02:13:00.003+02:00</published><updated>2011-09-12T19:19:19.332+02:00</updated><title type='text'>Lisp Demotivational Poster.</title><content type='html'>&lt;div style="color: black;"&gt;.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" src="http://www.instprog.com//blogposts/motivation/Lisp-elegant-tool.jpg" width="640" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&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/5894839-4890996351476770965?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/4890996351476770965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=4890996351476770965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/4890996351476770965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/4890996351476770965'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/09/demotivational-poster.html' title='Lisp Demotivational Poster.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-6432681553166444619</id><published>2011-08-22T16:10:00.004+02:00</published><updated>2011-08-23T00:51:21.517+02:00</updated><title type='text'>Missing Link between Code and Data.</title><content type='html'>&lt;style type="text/css"&gt;ol{font-family:'Times', serif;text-align:justify;     padding-top:2px;padding-bottom:2px;}li {font-family:Times New Roman', 'Times', serif;text-align:justify;     padding-top:2px;padding-bottom:2px;}&lt;/style&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table cellpadding="50" width='640' style="background: none repeat scroll 0% 0% white; color: black; padding: 20px; text-align: justify; text-width: 640px;"&gt;&lt;tbody style="text-align: left;"&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="color: black; font-size: 100%; text-align: left;"&gt;&lt;div style="color: #cf0000; font-size: 161%;"&gt;&lt;center style="font-family:'Times New Roman', 'Times', serif;padding-bottom: 40px;"&gt;&lt;b&gt;Missing Link Between Code and Data&lt;/b&gt;&lt;/center&gt;&lt;/div&gt;&lt;br&gt;&lt;img src="http://www.instprog.com//blogposts/missing-link-between-code-and-data/configuration.png" width='500' style="text-align:center;"/&gt;&lt;div style="font-family:'Times new Roman', Times, serif; padding-top:30px;text-align:justify;"&gt; Here it is: configuration file. Is it code or data? Well, both. Furthermore, hypothesis is that &lt;i&gt;every configuration file has a tendency to develop to the point it is written in Turing complete programming language.&lt;/i&gt; This interesting idea can be generalized and varied on many ways. It is not my idea, it is part of the folklore in my local hacker community. Thanks to &lt;b&gt;Marcell Mars&lt;/b&gt; who contributed to its formulation and brought it to my attention.&lt;/div&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-6432681553166444619?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/6432681553166444619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=6432681553166444619' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/6432681553166444619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/6432681553166444619'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/08/missing-link-between-code-and-data.html' title='Missing Link between Code and Data.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-3835959812096330869</id><published>2011-08-12T06:31:00.051+02:00</published><updated>2011-08-17T00:03:16.405+02:00</updated><title type='text'>The Similarities Between Axioms of Natural Numbers and Axioms of S-expressions.</title><content type='html'>&lt;style type="text/css"&gt;ol{font-family:'Times', serif;text-align:justify;     padding-top:2px;padding-bottom:2px;}li {font-family:Times New Roman', 'Times', serif;text-align:justify;     padding-top:2px;padding-bottom:2px;}&lt;/style&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table cellpadding="50" style="background: none repeat scroll 0% 0% white; color: black; padding: 20px; text-align: justify; width: 640px;"&gt;&lt;tbody style="text-align: left;"&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="color: black; font-size: 100%; text-align: left;"&gt;&lt;div style="color: #cf0000; font-size: 161%;"&gt;&lt;center style="font-family:'Times New Roman', 'Times', serif;padding-bottom: 40px;"&gt;&lt;b&gt;The Similarities Between Axioms of Natural Numbers and Axioms of S-expressions&lt;/b&gt;&lt;/center&gt;&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;"&gt;In &lt;a href="http://kazimirmajorinc.blogspot.com/2011/08/three-meanings-of-term-s-expression.html" style="background: white; color: #cf0000; text-decoration: underline;"&gt;last post&lt;/a&gt;, it was shown that in Lisp practice, the term "&lt;i&gt;symbolic expression&lt;/i&gt;", shorter "&lt;i&gt;s-expression&lt;/i&gt;", "&lt;i&gt;sepxr&lt;/i&gt;", "&lt;i&gt;sexp&lt;/i&gt;" is used on few different, although similar meanings.&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:25px;"&gt;It is not unusual. Other terms, even mathematical ones, like "&lt;i&gt;lines&lt;/i&gt;" or "&lt;i&gt;numbers&lt;/i&gt;" are not uniquely defined as well. Ambiguity usually motivates the search for the essence of the discussed entities; the result of the search is axiomatic theory.For example, the axioms of natural numbers are developed in late &lt;b&gt;1880&lt;/b&gt;'s by &lt;b&gt;R. Dedekind&lt;/b&gt; and &lt;b&gt;G. Peano&lt;/b&gt;.&lt;/div&gt;&lt;div style="background-color: #dfffdf; border: solid #009f00 2px; padding-bottom: 10px; padding: 20px;"&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;color: #009f00; font-size: 130%; padding-bottom: 15px; text-align: center;"&gt;&lt;b&gt;Axioms of Natural Numbers&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;"&gt;There is a set &lt;b&gt;N&lt;/b&gt; ("&lt;i&gt;numbers&lt;/i&gt;"), distinctive element of the &lt;b&gt;N&lt;/b&gt; denoted with &lt;b&gt;1&lt;/b&gt; ("&lt;i&gt;base&lt;/i&gt;", "&lt;i&gt;initial number&lt;/i&gt;") and mapping&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;text-align: center;"&gt;successor: &lt;b&gt;N&lt;/b&gt; → &lt;b&gt;N&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:0px;padding-bottom: 0px;"&gt;such that&lt;/div&gt;&lt;ol style="padding-top: 0px;"&gt;&lt;li style="padding-top: 0px;"&gt;all numbers, except &lt;b&gt;1&lt;/b&gt;, are &lt;i&gt;successors &lt;/i&gt;of some numbers, i.e.&lt;br /&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;text-align: center;"&gt;{ successor(&lt;i&gt;n&lt;/i&gt;) | &lt;i&gt;n&lt;/i&gt; ∈ &lt;b&gt;N&lt;/b&gt; } = &lt;b&gt;N&lt;/b&gt; \ {&lt;b&gt;1&lt;/b&gt;};&lt;/div&gt;&lt;/li&gt;&lt;li&gt;the successor function is &lt;i&gt;injection&lt;/i&gt;, or &lt;br /&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;text-align: center;"&gt;successor(&lt;i&gt;n&lt;/i&gt;) = successor(&lt;i&gt;m&lt;/i&gt;) =&amp;gt; &lt;i&gt;n&lt;/i&gt; = &lt;i&gt;m&lt;/i&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;if &lt;b&gt;S&lt;/b&gt; is a &lt;i&gt;set of numbers&lt;/i&gt; such that&lt;br /&gt;&lt;ol type="i"&gt;&lt;li&gt; &lt;b&gt;S&lt;/b&gt; contains &lt;i&gt;all initial numbers&lt;/i&gt; (i.e. &lt;b&gt;1&lt;/b&gt;);&lt;/li&gt;&lt;li&gt; if &lt;b&gt;S&lt;/b&gt; contains &lt;i&gt;n&lt;/i&gt;, then &lt;b&gt;S&lt;/b&gt; contains successor(&lt;i&gt;n&lt;/i&gt;);&lt;/li&gt;&lt;/ol&gt;then &lt;b&gt;S&lt;/b&gt; contains &lt;i&gt;all numbers&lt;/i&gt;. &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;padding-bottom: 25px; padding-top: 25px;"&gt;Search for axioms of symbolic expressions might be equally justified. I designed following axioms (version in which lists are only shorter way of writing "&lt;i&gt;dotted pairs&lt;/i&gt;") to emphasize the similarities to axioms of natural numbers.&lt;/div&gt;&lt;div style="background-color: #ffdfdf; border: solid #cf0000 2px; padding-bottom: 10px; padding: 20px;"&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;color: #cf0000; font-size: 130%; padding-bottom: 15px; text-align: center;"&gt;&lt;b&gt;Axioms of Symbolic Expressions&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;"&gt;There is a set &lt;b&gt;SEXPR &lt;/b&gt;("&lt;i&gt;symbolic expressions&lt;/i&gt;"), &lt;b&gt;infinite&lt;/b&gt; set of distinct elements of the &lt;b&gt;SEXPR&lt;/b&gt; denoted with &lt;b&gt;A&lt;/b&gt; ("&lt;i&gt;atoms&lt;/i&gt;") and mapping&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;text-align: center;"&gt;cons: &lt;b&gt;SEXPR &lt;/b&gt;× &lt;b&gt;SEXPR &lt;/b&gt; → &lt;b&gt;SEXPR&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;padding-bottom: 0px;"&gt;such that&lt;/div&gt;&lt;ol style="padding-top: 0px;"&gt;&lt;li style="padding-top: 0px;"&gt;all symbolic expressions, except atoms, are &lt;i&gt;conses&lt;/i&gt;, i.e.&lt;br /&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;text-align: center;"&gt;{ cons(&lt;i&gt;x&lt;/i&gt;, &lt;i&gt;y&lt;/i&gt;) | &lt;i&gt;x&lt;/i&gt;, &lt;i&gt;y&lt;/i&gt; ∈ &lt;b&gt;SEXPR&lt;/b&gt; } = &lt;b&gt;SEXPR &lt;/b&gt;\ &lt;b&gt;A&lt;/b&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;the function cons is &lt;i&gt;injection&lt;/i&gt;, i.e.&lt;br /&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;text-align: center;"&gt;cons(&lt;i&gt;n&lt;/i&gt;, &lt;i&gt;p&lt;/i&gt;) = cons(&lt;i&gt;m&lt;/i&gt;, &lt;i&gt;q&lt;/i&gt;) =&amp;gt; &lt;i&gt;n&lt;/i&gt; = &lt;i&gt;m&lt;/i&gt; and &lt;i&gt;p&lt;/i&gt; = &lt;i&gt;q&lt;/i&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;if &lt;b&gt;S&lt;/b&gt; is a &lt;i&gt;set of symbolic expressions&lt;/i&gt; such that&lt;br /&gt;&lt;ol type="i"&gt;&lt;li&gt;&lt;b&gt;S&lt;/b&gt; contains &lt;i&gt;all atoms&lt;/i&gt;;&lt;/li&gt;&lt;li&gt;if &lt;b&gt;S&lt;/b&gt; contains &lt;i&gt;n&lt;/i&gt; and &lt;i&gt;p&lt;/i&gt; then &lt;b&gt;S&lt;/b&gt; contains cons(&lt;i&gt;n&lt;/i&gt;, &lt;i&gt;p&lt;/i&gt;);&lt;/li&gt;&lt;/ol&gt;then &lt;b&gt;S&lt;/b&gt; contains &lt;i&gt;all symbolic expressions&lt;/i&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;padding-top: 25px;"&gt;&lt;i&gt;Symbolic expressions&lt;/i&gt; in &lt;a href="http://kazimirmajorinc.blogspot.com/2011/08/three-meanings-of-term-s-expression.html" style="background: white; color: #cf0000; text-decoration: underline;"&gt;all three meanings&lt;/a&gt; satisfy the axioms; cons structures satisfy axiom (3) only if &lt;i&gt;cyclic structures&lt;/i&gt; are not allowed, like in original, &lt;b&gt;McCarthy&lt;/b&gt;'s Lisp. I'm not aware of &lt;i&gt;unintended&lt;/i&gt;, &lt;i&gt;perverse&lt;/i&gt; models that satisfy given axioms; but I am not sure that such models do not exist.&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:0px;"&gt;There are only two differences between these axiom systems.&lt;ol style="padding-top:0px;padding-bottom:0px;"&gt;&lt;li style="padding-top:0px;"&gt;There is one "&lt;i&gt;base element&lt;/i&gt;" for &lt;i&gt;numbers&lt;/i&gt; and infinitely many for &lt;i&gt;S-expressions&lt;/i&gt;.&lt;/li&gt;&lt;li style="padding-top:5px;padding-bottom:0px;"&gt;The function "successor" is function of a single variable; the function "cons" is function of two variables. &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;padding-top:0px;"&gt;It is not obvious that &lt;i&gt;symbolic expressions&lt;/i&gt; require infinitely many &lt;i&gt;atoms&lt;/i&gt;; it could be only convenience. Perhaps &lt;i&gt;S-expressions&lt;/i&gt; like &lt;span style="background-color: #ffdfdf; color: black; font-family: Consolas,'Courier New',Courier,monospace;"&gt;&lt;b&gt;(A . (B . (C . D)))&lt;/b&gt;&lt;/span&gt; can be used instead of symbols like &lt;span style="background-color: #ffdfdf; color: black; font-family: Consolas,'Courier New',Courier,monospace;"&gt;&lt;b&gt;ABCD&lt;/b&gt;&lt;/span&gt;,  eliminating need for infinitely many &lt;i&gt;atoms&lt;/i&gt;.&lt;/div&gt; &lt;div style="font-family:'Times New Roman', 'Times', serif;text-align:justify;     padding-top:5px;padding-bottom:5px;"&gt;It remains unclear why these two &lt;i&gt;systems of axioms&lt;/i&gt; are so similar. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-3835959812096330869?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/3835959812096330869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=3835959812096330869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3835959812096330869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3835959812096330869'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/08/similarities-between-axioms-of-natural.html' title='The Similarities Between Axioms of Natural Numbers and Axioms of S-expressions.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-583292144307035299</id><published>2011-08-07T21:03:00.051+02:00</published><updated>2011-08-16T23:25:38.746+02:00</updated><title type='text'>Three Meanings of The Term 'S-expression.'</title><content type='html'>&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table cellpadding="50" style="background: none repeat scroll 0% 0% white; color: black; padding: 20px; text-align: justify; width: 640px; border:2px dark red;"&gt;&lt;tbody style="text-align: left;"&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="color: black; font-family: Consolas,monospace,fixed; font-size: 100%; text-align: left;"&gt;&lt;div style="color: #cf0000; font-size: 161%;text-align:center;font-family: 'Times New Roman', Times, serif;font-weight:bold;"&gt;Three meanings of the term 'S-expression'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman',Times,serif; text-align: justify;"&gt;"&lt;i&gt;Symbolic expressions&lt;/i&gt;" or "&lt;i&gt;S-expressions&lt;/i&gt;" are the basic data type in Lisp. Particularly, Lisp programs are S-expressions as well. The notion has immense importance in Lisp community. &lt;br /&gt;&lt;br /&gt;Surprisingly, designers of recent Lisp dialects avoid the term "&lt;i&gt;symbolic expression&lt;/i&gt;" or "&lt;i&gt;S-expression&lt;/i&gt;". It is used once in Picolisp documentation; only twice, almost accidentally, in CLtL2, and it isn't used in CL Hyperspec or recent Scheme standards. Clojure, according to its web site "&lt;i&gt;extends the code-as-data system beyond parenthesized lists (s-expressions) to vectors and maps.&lt;/i&gt;" Only Newlisp documentation appear to regularly uses the term.&lt;br /&gt;&lt;br /&gt;However, the term &lt;i&gt;S-expression&lt;/i&gt; is still extensively used in daily communication and literature. Unfortunately, there is no universal, unique meaning. Inconsistent use is sometimes noted; for instance, in &lt;b&gt;P. Siebel&lt;/b&gt;'s "&lt;i&gt;Practical Common Lisp&lt;/i&gt;." More frequently, it is ignored. &lt;br /&gt;&lt;br /&gt;For &lt;b&gt;J. McCarthy&lt;/b&gt;, &lt;i&gt;S-expression&lt;/i&gt; is finite sequence consisting of dots and parentheses and symbols. The symbols, truly atomic, cannot be analysed on characters. For instance, &lt;i&gt;S-expression&lt;/i&gt; &lt;b style="color: black;"&gt;&lt;span style="background-color: #f4cccc; color: black; font-family:  Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;(left.right)&lt;/span&gt;&lt;/b&gt; is sequence of five elements: &lt;b style="color: black;"&gt;&lt;span style="background-color: #f4cccc; color: black; font-family: Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;(&lt;/span&gt;&lt;/b&gt;, &lt;b style="color: black;"&gt;&lt;span style="background-color: #f4cccc; color: black; font-family:  Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;left&lt;/span&gt;&lt;/b&gt;, &lt;b style="color: black;"&gt;&lt;span style="background-color: #f4cccc; color: black; font-family:  Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;.&lt;/span&gt;&lt;/b&gt;, &lt;b style="color: black; font-family:  Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="background-color: #f4cccc; color: black;"&gt;right&lt;/span&gt;&lt;/b&gt; and &lt;b style="color: black;"&gt;&lt;span style="background-color: #f4cccc; color: black; font-family:  Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;)&lt;/span&gt;&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;More often&lt;sup style="font-size:60%;"&gt;1&lt;/sup&gt;, &lt;i&gt;S-expression&lt;/i&gt; is seen as sequence of characters. In that meaning, &lt;i&gt;S-expression&lt;/i&gt; &lt;b&gt;&lt;span style="background-color: #f4cccc; color: black; font-family:  Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;(left . right)&lt;/span&gt;&lt;/b&gt; is sequence consisting of 14 elements.&lt;br /&gt;&lt;br /&gt;The most usually&lt;sup style="font-size:60%;"&gt;2&lt;/sup&gt;, &lt;i&gt;S-expression&lt;/i&gt; is data structure, perhaps tree consisting of cons cells and symbols. In that meaning &lt;i&gt;S-expression&lt;/i&gt; &lt;b style="color: black; font-family:  Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="background-color: #f4cccc; color: black;"&gt;(left . right)&lt;/span&gt;&lt;/b&gt; is cons cell, containing adresses of symbols &lt;b style="font-family:  Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="background-color: #f4cccc; color: black;"&gt;left&lt;/span&gt;&lt;/b&gt; and &lt;b style="color: black; font-family:  Consolas, 'Lucida Console', &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="background-color: #f4cccc; color: black;"&gt;right&lt;/span&gt;&lt;/b&gt; in memory. &lt;/div&gt;&lt;br /&gt;&lt;hr align='left' width='20%' /&gt;&lt;br /&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif; text-align: justify;"&gt;&lt;span style="color: #000000; font-size: 85%;"&gt;1&amp;nbsp; For instance, in &lt;b&gt;E. Shaphiro&lt;/b&gt;, "&lt;i&gt;Common Lisp - an interactive approach&lt;/i&gt;"; &lt;b&gt;F. Turbak&lt;/b&gt; and &lt;b&gt;D. Gifford&lt;/b&gt;, "&lt;i&gt;Design concept of programming languages.&lt;/i&gt;" &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-size: 85%;"&gt;2&amp;nbsp; For instance, in &lt;b&gt;J.&lt;/b&gt; and &lt;b&gt;G. Sussman&lt;/b&gt; and &lt;b&gt;H. Abelson&lt;/b&gt;, "&lt;i&gt;SICP&lt;/i&gt;"; &lt;b&gt;D. Touretsky&lt;/b&gt;, "&lt;i&gt;Common Lisp - A gentle introduction to symbolic computation&lt;/i&gt;"; &lt;b&gt;R. Finkel&lt;/b&gt;, "&lt;i&gt;Advanced programming languages design&lt;/i&gt;".&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-583292144307035299?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/583292144307035299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=583292144307035299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/583292144307035299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/583292144307035299'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/08/three-meanings-of-term-s-expression.html' title='Three Meanings of The Term &apos;S-expression.&apos;'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-2367974276985848670</id><published>2011-07-10T09:55:00.011+02:00</published><updated>2011-08-17T17:59:42.261+02:00</updated><title type='text'>Implementing Data Structures with Symbols.</title><content type='html'>&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table cellpadding="50" style="background: none repeat scroll 0% 0% white; color: black; padding: 20px; text-align: justify; width: 640px;"&gt;&lt;tbody style="text-align: left;"&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="color: black; font-family: 'Times New Roman', Times, serif; font-size: 100%; text-align: justify;"&gt;&lt;div style="color: #cf0000; font-family: 'Times New Roman', Times, serif; font-size: 161%;font-weight:bold;"&gt;&lt;center&gt;Implementing Data Structures with Symbols&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Original Lisp had only symbols as atoms. Symbol names, if used on the same way variables are used in mathematics, are flexible enough to support wide variety (all?) data structures. &lt;br /&gt;&lt;br /&gt;For instance, matrices 2 x 2 can be implemented with symbols as &lt;span style="font-family: Consolas, monospace;font-weight:bold;background-color: #fff0f0; color: black;"&gt;a11&lt;/span&gt; instead of &lt;span style="font-family: Consolas, monospace;font-weight:bold;background-color: #fff0f0; color: black;"&gt;a[1,1]&lt;/span&gt; in some other language, or &lt;span style="font-family: Consolas, monospace;font-weight:bold;background-color: #fff0f0; color: black;"&gt;(a 1 1)&lt;/span&gt;&lt;/span&gt; in Lisp and names could be created as needed. &lt;br /&gt;&lt;br /&gt;The code will be more complicated and less efficient than if matrices are directly supported by language, but neither one is essential problem - complexity of the code can be "abstracted away" with functions, and computational complexity is increased only for factor of constant * log &lt;i&gt;n&lt;/i&gt; where &lt;i&gt;n&lt;/i&gt; is the number of used symbols (if symbol reaching in Lisp is implemented efficiently.) Newlisp code follows.&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: #fff0f0; font-family: Consolas,monospace,fixed; padding: 20px;border:solid 2px #Cf0000;"&gt;&lt;b&gt;(define (&lt;span style="color: #cf0000;"&gt;matrix-&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;element&lt;/span&gt; &lt;/b&gt;&lt;i&gt;m&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;  (sym (append (string &lt;/b&gt;&lt;i&gt;m&lt;/i&gt;&lt;b&gt;) (string &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt;) (string &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt;))))&lt;br /&gt;&lt;br /&gt;(define (&lt;span style="color: #cf0000;"&gt;set-matrix&lt;/span&gt; &lt;/b&gt;&lt;i&gt;m&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;m11&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;m12&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;m21&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;m22&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;  (for(&lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; 1 2)&lt;br /&gt;    (for(&lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt; 1 2)&lt;br /&gt;      (set (&lt;span style="color: #cf0000;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;matrix-element&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;&lt;/span&gt; &lt;/b&gt;&lt;i&gt;m&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;           (nth (+ (* 2 (- &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; 1)) (- &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt; 1))&lt;br /&gt;                (list &lt;/b&gt;&lt;i&gt;m11&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;m12&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;m21&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;m22&lt;/i&gt;&lt;b&gt;))))))&lt;br /&gt;  &lt;br /&gt;(define (&lt;span style="color: #cf0000;"&gt;println-matrix&lt;/span&gt; &lt;/b&gt;&lt;i&gt;m&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;  (for(&lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; 1 2)&lt;br /&gt;    (for(&lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt; 1 2)&lt;br /&gt;       (println m "&lt;span style="background-color: #e06666; color: black;"&gt;[&lt;/span&gt;" &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; "&lt;span style="background-color: #e06666; color: black;"&gt;,&lt;/span&gt;" &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt; "&lt;span style="background-color: #e06666; color: black;"&gt;]=&lt;/span&gt;" &lt;br /&gt;          (eval (&lt;span style="color: #cf0000;"&gt;matrix-element&lt;/span&gt; &lt;/b&gt;&lt;i&gt;m&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt;))))))&lt;br /&gt;          &lt;br /&gt;(define (&lt;span style="color: #cf0000;"&gt;multiply-matrix&lt;/span&gt; &lt;/b&gt;&lt;i&gt;a&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;b&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;c&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;  (for(&lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; 1 2)&lt;br /&gt;    (for(&lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt; 1 2)&lt;br /&gt;      (set (&lt;span style="color: #cf0000;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;matrix-element&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;&lt;/span&gt; &lt;/b&gt;&lt;i&gt;c&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt;) 0)&lt;br /&gt;      (for(&lt;/b&gt;&lt;i&gt;k&lt;/i&gt;&lt;b&gt; 1 2)&lt;br /&gt;         (set (&lt;span style="color: #cf0000;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;matrix-element&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;&lt;/span&gt; &lt;/b&gt;&lt;i&gt;c&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;              (+ (eval (&lt;span style="color: #cf0000;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;matrix-element&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;&lt;/span&gt; &lt;/b&gt;&lt;i&gt;c&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt;))&lt;br /&gt;                 (* (eval (&lt;span style="color: #cf0000;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;matrix-element&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;&lt;/span&gt; &lt;/b&gt;&lt;i&gt;a&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;i&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;k&lt;/i&gt;&lt;b&gt;))&lt;br /&gt;                    (eval (&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;matrix-element&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #cf0000;"&gt;&lt;/span&gt; &lt;/b&gt;&lt;i&gt;b&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;k&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;j&lt;/i&gt;&lt;b&gt;)))))))))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #cf0000;"&gt;set-matrix&lt;/span&gt; (quote &lt;/b&gt;&lt;i&gt;X&lt;/i&gt;&lt;b&gt;) 1 2 3 4)&lt;br /&gt;(&lt;span style="color: #cf0000;"&gt;set-matrix&lt;/span&gt; (quote &lt;/b&gt;&lt;i&gt;Y&lt;/i&gt;&lt;b&gt;) 2 3 4 5)&lt;br /&gt;(&lt;span style="color: #cf0000;"&gt;multiply-matrix&lt;/span&gt; (quote &lt;/b&gt;&lt;i&gt;X&lt;/i&gt;&lt;b&gt;) (quote &lt;/b&gt;&lt;i&gt;Y&lt;/i&gt;&lt;b&gt;) (quote &lt;/b&gt;&lt;i&gt;Z&lt;/i&gt;&lt;b&gt;))&lt;br /&gt;(&lt;span style="color: #cf0000;"&gt;println-matrix&lt;/span&gt; (quote &lt;/b&gt;&lt;i&gt;Z&lt;/i&gt;&lt;b&gt;))&lt;br /&gt;&lt;br /&gt;---------------------------&lt;br /&gt;Program output&lt;br /&gt;&lt;br /&gt;Z[1,1]=10&lt;br /&gt;Z[1,2]=13&lt;br /&gt;Z[2,1]=22&lt;br /&gt;Z[2,2]=29&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-2367974276985848670?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/2367974276985848670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=2367974276985848670' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/2367974276985848670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/2367974276985848670'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/07/implementing-data-structures-with.html' title='Implementing Data Structures with Symbols.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-800196239004115487</id><published>2011-07-09T12:04:00.023+02:00</published><updated>2011-08-16T23:58:36.244+02:00</updated><title type='text'>More on Another Encoding of S-expressions in Symbols.</title><content type='html'>&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table width='640' cellpadding='50' style="background: white; color: black; padding: 20px; text-align: justify;"&gt;&lt;tbody style="text-align: justify;"&gt;&lt;tr style="text-align: justify;"&gt;&lt;td style="color: black; font-family:'Times New Roman', Times, serif; font-size: 100%; text-align: justify;"&gt;&lt;div style="color: #cf0000; font-size: 161%;font-family:'Times New Roman',Times,serif;font-weight:bold;text-align:center;"&gt;More on Another Encoding of S-expressions in Symbols&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;In &lt;a href="http://kazimirmajorinc.blogspot.com/2011/07/another-encoding-of-s-expressions-in.html" style="background: #ffefef; color: #cf0000; text-decoration: underline;"&gt;previous post&lt;/a&gt;, I have shown another interesting method for encoding of &lt;i&gt;S-expressions&lt;/i&gt; into symbols. In this post, I'll show how it can be implemented in Lisp dialects that print symbols on different way from &lt;i&gt;S-expressions&lt;/i&gt;, i.e. encapsulated in vertical bars or other symbols (&lt;b&gt;Common Lisp&lt;/b&gt;, &lt;b&gt;ISLisp&lt;/b&gt;, &lt;b&gt;Picolisp&lt;/b&gt;, some implementations of &lt;b&gt;Scheme&lt;/b&gt;). This is, normally, good feature. However, &lt;a href="http://kazimirmajorinc.blogspot.com/2011/06/exponential-explosion-of-escape.html" style="background: #ffefef; color: #cf0000; text-decoration: underline;"&gt;repeated encoding of the symbols results in exponential growth&lt;/a&gt;. So, we must get rid of those vertical bars inside our symbols.&lt;br /&gt;&lt;br /&gt;The code, here in &lt;b&gt;Common Lisp&lt;/b&gt;, is sort of trickier than it is in &lt;b&gt;Newlisp &lt;/b&gt;or it would be in &lt;b&gt;Clojure&lt;/b&gt;. &lt;br /&gt;&lt;pre style="background: #fff0f0; color: black; font-family: Consolas,monospace,fixed; padding: 20px;border:solid 2px #cf0000;"&gt;&lt;b&gt;(defun &lt;u&gt;&lt;span style="color: #cf0000;"&gt;decode-deep&lt;/span&gt;&lt;/u&gt; (&lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;  (cond ((symbolp &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;) (let((&lt;/b&gt;&lt;i&gt;result&lt;/i&gt;&lt;b&gt;&lt;i&gt; &lt;/i&gt;(read-from-string (string &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;))))&lt;br /&gt;                        (if (symbolp &lt;/b&gt;&lt;i&gt;result&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;                            &lt;/b&gt;&lt;i&gt;result&lt;/i&gt;&lt;b&gt;&lt;br /&gt;                            (&lt;span style="color: #cf0000;"&gt;decode-deep&lt;/span&gt; &lt;/b&gt;&lt;i&gt;result&lt;/i&gt;&lt;b&gt;))))&lt;br /&gt;        ((listp &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;) (mapcar (quote &lt;span style="color: #cf0000;"&gt;decode-deep&lt;/span&gt;) &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;))))&lt;br /&gt;&lt;br /&gt;(defun &lt;u&gt;&lt;span style="color: #cf0000;"&gt;sexpr-&amp;gt;symbol&lt;/span&gt;&lt;/u&gt; (&lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;) &lt;br /&gt;  (make-symbol (write-to-string (list '&lt;/b&gt;&lt;i&gt;q&lt;/i&gt;&lt;b&gt; (&lt;span style="color: #cf0000;"&gt;decode-deep&lt;/span&gt; &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;)))))&lt;br /&gt;&lt;br /&gt;(defun &lt;u&gt;&lt;span style="color: #cf0000;"&gt;encode-deep&lt;/span&gt;&lt;/u&gt; (&lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;  (cond ((symbolp &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;) &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;)&lt;br /&gt;        ((listp &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;)(if (eq (first &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;) (quote &lt;/b&gt;&lt;i&gt;q&lt;/i&gt;&lt;b&gt;))&lt;br /&gt;                      (make-symbol (write-to-string &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;))&lt;br /&gt;                      (mapcar (quote &lt;span style="color: #cf0000;"&gt;encode-deep&lt;/span&gt;) &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;)))))&lt;br /&gt;&lt;br /&gt;(defun &lt;u&gt;&lt;span style="color: #cf0000;"&gt;strip-q&lt;/span&gt;&lt;/u&gt; (&lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;) (first (rest &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;)))&lt;br /&gt;&lt;br /&gt;(defun &lt;u&gt;&lt;span style="color: #cf0000;"&gt;symbol-&amp;gt;sexpr&lt;/span&gt;&lt;/u&gt; (&lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;) &lt;br /&gt;  (&lt;span style="color: #cf0000;"&gt;encode-deep&lt;/span&gt; (&lt;span style="color: #cf0000;"&gt;strip-q&lt;/span&gt; (read-from-string (string &lt;/b&gt;&lt;i&gt;r&lt;/i&gt;&lt;b&gt;)))))&lt;br /&gt;&lt;br /&gt;-------------&lt;br /&gt;&lt;br /&gt;[43]&amp;gt; (setq &lt;/b&gt;&lt;i&gt;q0&lt;/i&gt;&lt;b&gt; (sexpr-&amp;gt;symbol (list (quote &lt;/b&gt;&lt;i&gt;b&lt;/i&gt;&lt;b&gt;) (quote &lt;/b&gt;&lt;i&gt;c&lt;/i&gt;&lt;b&gt;))))&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;#:|(Q (B C))|&lt;/span&gt;&lt;br /&gt;[44]&amp;gt; (setq &lt;/b&gt;&lt;i&gt;s&lt;/i&gt;&lt;b&gt; (sexpr-&amp;gt;symbol (list (quote &lt;/b&gt;&lt;i&gt;a&lt;/i&gt;&lt;b&gt;) &lt;/b&gt;&lt;i&gt;q0&lt;/i&gt;&lt;b&gt;)))&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;#:|(Q (A (Q (B C))))|&lt;/span&gt;&lt;br /&gt;[45]&amp;gt; (setq &lt;/b&gt;&lt;i&gt;s0&lt;/i&gt;&lt;b&gt; (symbol-&amp;gt;sexpr &lt;/b&gt;&lt;i&gt;s&lt;/i&gt;&lt;b&gt;))&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;(A #:|(Q (B C))|)&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-800196239004115487?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/800196239004115487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=800196239004115487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/800196239004115487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/800196239004115487'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/07/more-on-another-encoding-of-s.html' title='More on Another Encoding of S-expressions in Symbols.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-7452679314924316516</id><published>2011-07-09T00:17:00.025+02:00</published><updated>2011-08-17T01:57:26.092+02:00</updated><title type='text'>Another Encoding of S-expressions in Symbols.</title><content type='html'>&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table cellpadding="50" style="background: none repeat scroll 0% 0% white; color: black; padding: 20px; text-align: justify; width: 640px;"&gt;&lt;tbody style="text-align: left;"&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="color: black; font-family: 'Times New Roman',Times,serif; font-size: 100%; text-align: justify;"&gt;&lt;div style="color: #cf0000; font-size: 161%; font-weight: bold; padding-bottom: 40px; text-align: center;"&gt;Another Encoding of S-expressions in Symbols.&lt;/div&gt;Unlike encoding from the last post, this one maintains form of &lt;i&gt;S-expression&lt;/i&gt;. If &lt;i&gt;e&lt;/i&gt; is &lt;i&gt;S-expression&lt;/i&gt;, then its code is &lt;u&gt;symbol&lt;/u&gt; &lt;span style="background-color: #ffefef; color: black; font-family: Consolas,monospace,fixed;"&gt;&lt;b&gt;(Q &lt;/b&gt;&lt;/span&gt;&lt;i&gt;e&lt;/i&gt;&lt;span style="background-color: #ffefef; color: black; font-family: Consolas,monospace,fixed;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;Encoding&lt;/i&gt;&lt;b&gt; &lt;/b&gt;is relatively simple, because built in functions for conversion of symbols and strings into symbols can be used; especially if symbols converted to strings are not encapsulated within vertical bars or quotation marks. &lt;i&gt;Decoding&lt;b&gt; &lt;/b&gt;&lt;/i&gt;is slightly more complicated. For instance, symbol&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="background-color: #ffefef; color: black; font-family: Consolas,monospace,fixed;"&gt;&lt;b&gt;(Q (a (Q b)))&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;should be decoded into list &lt;span style="background-color: #ffefef; color: black; font-family: Consolas,monospace,fixed;"&gt;&lt;b&gt;(a (Q b))&lt;/b&gt;&lt;/span&gt; where &lt;span style="background-color: #ffefef; color: black; font-family: Consolas,monospace,fixed;"&gt;&lt;b&gt;(Q b)&lt;/b&gt;&lt;/span&gt; isn't list, but symbol. Hence, built in conversion functions are not enough, but one must define his own "code walker." The code in Newlisp follows. &lt;br /&gt;&lt;br /&gt;&lt;pre style="background: #ffefef; border: 2px solid #cf0000; color: black; font-family: Consolas,monospace,fixed; font-weight: bold; padding: 20px;"&gt;(define (&lt;span style="color: #990000;"&gt;sexpr-&amp;gt;symbol&lt;/span&gt; &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;) (sym (string (list (quote &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;Q&lt;/span&gt;&lt;/i&gt;) &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;))))&lt;br /&gt;&lt;br /&gt;(define (&lt;span style="color: #990000;"&gt;qlist?&lt;/span&gt; &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;)&lt;br /&gt;    (and (list? &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;)&lt;br /&gt;         (not (empty? &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;))&lt;br /&gt;         (= (first &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;) (quote &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;Q&lt;/span&gt;&lt;/i&gt;))))&lt;br /&gt;     &lt;br /&gt;(define (&lt;span style="color: #990000;"&gt;symbol-&amp;gt;sexpr&lt;/span&gt; &lt;i&gt;&lt;span style="color: black;font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;)&lt;br /&gt;  (let((&lt;i&gt;&lt;span style="color: black;font-weight: normal;"&gt;codewalker&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;         (lambda(&lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;)&lt;br /&gt;           (cond ((symbol? &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;) &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;)&lt;br /&gt;                 ((&lt;span style="color: #990000;"&gt;qlist?&lt;/span&gt; &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;) (sym (string &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;)))&lt;br /&gt;                 ((not (qlist? &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;)) (map &lt;i&gt;&lt;span style="font-weight: normal;color:black;"&gt;codewalker &lt;/span&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;))))))&lt;br /&gt;     (codewalker (last (read-expr (string &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;r&lt;/span&gt;&lt;/i&gt;))))))&lt;br /&gt;        &lt;br /&gt;--------&lt;br /&gt;&lt;br /&gt;&amp;gt; (setq &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;s&lt;/span&gt;&lt;/i&gt; (sexpr-&amp;gt;symbol (quote (&lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;a&lt;/span&gt;&lt;/i&gt; &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;b&lt;/span&gt;&lt;/i&gt;))))&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;(Q (a b))&lt;/span&gt;&lt;br /&gt;&amp;gt; (symbol? &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;s&lt;/span&gt;&lt;/i&gt;)&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;true&lt;/span&gt;&lt;br /&gt;&amp;gt; (setq &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;q0&lt;/span&gt;&lt;/i&gt; (sexpr-&amp;gt;symbol (quote &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;b&lt;/span&gt;&lt;/i&gt;)))&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;(Q b)&lt;/span&gt;&lt;br /&gt;&amp;gt; (setq &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;s&lt;/span&gt;&lt;/i&gt; (sexpr-&amp;gt;symbol (list (quote &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;a&lt;/span&gt;&lt;/i&gt;) &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;q0&lt;/span&gt;&lt;/i&gt;)))&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;(Q (a (Q b)))&lt;/span&gt;&lt;br /&gt;&amp;gt; (symbol? &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;s&lt;/span&gt;&lt;/i&gt;)&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;true&lt;/span&gt;&lt;br /&gt;&amp;gt; (setq &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;s0&lt;/span&gt;&lt;/i&gt; (symbol-&amp;gt;sexpr &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;s&lt;/span&gt;&lt;/i&gt;))&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;(a (Q b))&lt;/span&gt;&lt;br /&gt;&amp;gt; (symbol? &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;s0&lt;/span&gt;&lt;/i&gt;)&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;nil&lt;/span&gt;&lt;br /&gt;&amp;gt; (symbol? (last &lt;i&gt;&lt;span style="color: black; font-weight: normal;"&gt;s0&lt;/span&gt;&lt;/i&gt;))&lt;br /&gt;&lt;span style="color: #cf0000;"&gt;true&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Behaviour of &lt;span style="background-color: #ffefef; color: black; font-family: Consolas,monospace,fixed; font-weight: bold;"&gt;Q&lt;/span&gt; strongly reminds on &lt;span style="background-color: #ffefef; color: black; font-family: Consolas,monospace,fixed;"&gt;&lt;b&gt;QUOTE&lt;/b&gt;&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-7452679314924316516?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/7452679314924316516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=7452679314924316516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/7452679314924316516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/7452679314924316516'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/07/another-encoding-of-s-expressions-in.html' title='Another Encoding of S-expressions in Symbols.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-6938031701082476119</id><published>2011-07-05T15:02:00.017+02:00</published><updated>2011-08-24T03:06:22.264+02:00</updated><title type='text'>More Sophisticated Encoding of S-exprs into Symbols.</title><content type='html'>&lt;br /&gt;&lt;br /&gt;&lt;center style="font-family: 'Times New Roman',Times,serif;"&gt;&lt;br /&gt;&lt;table cellpadding="50" style="background: none repeat scroll 0% 0% white; color: black; padding: 20px; text-align: justify; width: 640px;"&gt;&lt;tbody&gt;&lt;tr style="text-align: justify;"&gt;&lt;td&gt;&lt;div style="color: #cf0000; font-family: 'Times New Roman',Times,serif; font-size: 161%; padding-bottom: 50px; text-align: center;"&gt;&lt;b&gt;More Sophisticated Encoding of S-exprs into Symbols&lt;/b&gt;&lt;/div&gt;&lt;i&gt;Encoding of S-expressions into symbols&lt;/i&gt; is frequent topic ofdiscussion in this blog. It is motivated by the idea that&lt;a href="http://kazimirmajorinc.blogspot.com/2009/12/symbols-as-sexprs.html" style="background: none repeat scroll 0% 0% rgb(255, 255, 255); color: #dd0000; text-decoration: underline;"&gt;names should be equally flexible as S-expressions&lt;/a&gt;. (Actually,it might be the best if not only every symbol is S-expression,but also every S-expression is the symbol. OK, it is almostmystical statement.)&lt;br /&gt;&lt;br /&gt;Trivial encoding was demonstrated in &lt;a href="http://kazimirmajorinc.blogspot.com/2011/07/sexpr-symbol-and-symbol-sexpr-in-six.html" style="background: none repeat scroll 0% 0% rgb(255, 255, 255); color: #dd0000; text-decoration: underline;"&gt;last post&lt;/a&gt;: S-expression is encoded in symbol which has exactly same characters as printed representation of S-expression. For instance, &lt;i&gt;S-expression&lt;/i&gt; &lt;b style="background-color: #ffeeee; font-family: Consolas,monospace;"&gt;(+ a b)&lt;/b&gt; is encoded into &lt;i&gt;symbol &lt;/i&gt;&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;color:black;font-weight:bold;"&gt;(+ a b)&lt;/b&gt;. This trivial encoding has some limitations. For instance, if welook at symbol &lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Consolas,monospace; text-align: center;"&gt;&lt;span style="background-color: #ffeeee; color: black; font-weight: bold;"&gt;((+ a b) c)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;and try to decode it, we'll find that it cannot be determined whether&lt;b style="background-color: #ffeeee; font-family: Consolas,monospace;"&gt;(+ a b)&lt;/b&gt; is S-expression, or it is symbol. In some Lisp dialects (Common Lisp, Picolisp, ISLisp) there is no such problem. Symbol&lt;b style="background-color: #ffeeee; font-family: Consolas,monospace;"&gt;(+ a b)&lt;/b&gt; is written as &lt;b style="background-color: #ffeeee; font-family: Consolas,monospace;"&gt;|(+ a b)|&lt;/b&gt; so differencebetween S-expression and symbol is obvious. However, in these dialects,repeated encoding results in &lt;a href="http://kazimirmajorinc.blogspot.com/2011/06/exponential-explosion-of-escape.html" style="background: none repeat scroll 0% 0% rgb(255, 255, 255); color: #dd0000; text-decoration: underline;"&gt;the symbols that grow exponentially&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In this post more sophisticated encoding, without that problem, is presented. Let us define encoding &lt;i&gt;k&lt;/i&gt;, such thatfor every S-expression &lt;i&gt;e&lt;/i&gt;, &lt;i&gt;k&lt;/i&gt;(&lt;i&gt;e&lt;/i&gt;) is defined as follows.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;If &lt;i&gt;e&lt;/i&gt; is symbol, then &lt;i&gt;k&lt;/i&gt;(&lt;i&gt;e&lt;/i&gt;) = &lt;i&gt;e&lt;/i&gt;&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;if &lt;i&gt;e&lt;/i&gt; = &lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;(&lt;/b&gt;&lt;i&gt;e&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; ... &lt;i&gt;e&lt;sub&gt;n&lt;/sub&gt;&lt;/i&gt;&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;)&lt;/b&gt; then &lt;i&gt;k&lt;/i&gt;(&lt;i&gt;e&lt;/i&gt;) = &lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;[&lt;/b&gt;&lt;i&gt;k&lt;/i&gt;(&lt;i&gt;e&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;) &lt;i&gt;k&lt;/i&gt;(&lt;i&gt;e&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;) ... &lt;i&gt;k&lt;/i&gt;(&lt;i&gt;e&lt;sub&gt;n&lt;/sub&gt;&lt;/i&gt;)&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;];&lt;/b&gt;       &lt;/li&gt;&lt;/ol&gt;Semi-colon is part of the symbol. For instance&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;k&lt;/i&gt;(&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;a&lt;/b&gt;) = &lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;a;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;k&lt;/i&gt;(&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;color:black;font-weight:bold;"&gt;(a b)&lt;/b&gt;) = &lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;color:black;font-weight:bold;"&gt;[&lt;/b&gt;&lt;i&gt;k&lt;/i&gt;(&lt;b&gt;&lt;span style="background-color: #ffeeee;font-family: Consolas,monospace;color:black;font-weight:bold;"&gt;a&lt;/span&gt;&lt;/b&gt;) &lt;i&gt;k&lt;/i&gt;(&lt;b&gt;&lt;span style="background-color: #ffeeee;font-family: Consolas,monospace;color:black;font-weight:bold;"&gt;b&lt;/span&gt;&lt;/b&gt;)&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;color:black;font-weight:bold;"&gt;];&lt;/b&gt; =&lt;b&gt; &lt;span style="background-color: #ffeeee;font-family: Consolas,monospace;color:black;font-weight:bold;"&gt;[a;b;];&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;If only codes of the S-expressions contain characters &lt;b&gt;&lt;span style="background-color: #ffeeee;font-family: Consolas,monospace;color:black;font-weight:bold;"&gt;[&lt;/span&gt;&lt;/b&gt;, &lt;b&gt;&lt;span style="background-color: #ffeeee;font-family: Consolas,monospace;color:black;font-weight:bold;"&gt;]&lt;/span&gt;&lt;/b&gt; and &lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;;&lt;/span&gt;&lt;/b&gt;, then encoding &lt;i&gt;k&lt;/i&gt; is &lt;i&gt;injection&lt;/i&gt;, i.e. for two S-expressions&lt;i&gt; e&lt;/i&gt; and &lt;i&gt;f&lt;/i&gt;,&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;k&lt;/i&gt;(&lt;i&gt; e&lt;/i&gt; ) =&lt;i&gt; k&lt;/i&gt;(&lt;i&gt; f &lt;/i&gt;) =&amp;gt; &lt;i&gt;e&lt;/i&gt; = &lt;i&gt;f&lt;/i&gt;. &lt;/div&gt;&lt;br /&gt;Furthermore, there is no exponential explosion in case of multipleencoding. For instance,&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;k&lt;/i&gt;(&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;(a b)&lt;/b&gt;) = &lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;[a;b;];&lt;/b&gt;&lt;br /&gt;&lt;i&gt;k&lt;/i&gt;(&lt;i&gt;k&lt;/i&gt;(&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;(a b)&lt;/b&gt;)) = &lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;[a;b;];;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;k&lt;/i&gt;(&lt;i&gt;k&lt;/i&gt;(&lt;i&gt;k&lt;/i&gt;(&lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;(a b)&lt;/b&gt;))) = &lt;b style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;[a;b];;;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Here is implementation of encoding and decoding in R&lt;sup&gt;5&lt;/sup&gt;RS Scheme. &lt;br /&gt;&lt;div style="background-color: #ffeeee;font-family: Consolas,monospace;font-weight:bold;"&gt;&lt;pre style="background: none; border: 2px solid #cf0000; padding: 20px; text-align: left;font-family: Consolas,monospace;font-weight:bold;"&gt;&lt;b&gt;(define (&lt;span style="color: #990000;"&gt;sexpr-&amp;gt;string&lt;/span&gt; L)&lt;br /&gt;  (string-append&lt;br /&gt;     (if (symbol? L) (symbol-&amp;gt;string L)&lt;br /&gt;                     (string-append&lt;br /&gt;                        "["&lt;br /&gt;                        (apply string-append&lt;br /&gt;                               (map sexpr-&amp;gt;string L))&lt;br /&gt;                        "]"))&lt;br /&gt;     ";"))&lt;br /&gt;     &lt;br /&gt;(define (&lt;span style="color: #990000;"&gt;sexpr-&amp;gt;symbol&lt;/span&gt; L)&lt;br /&gt;  (string-&amp;gt;symbol (sexpr-&amp;gt;string L)))&lt;br /&gt;  &lt;br /&gt;(define (&lt;span style="color: #990000;"&gt;string-&amp;gt;sexpr&lt;/span&gt; S)&lt;br /&gt;  (let((S1 (substring S 0 (- (string-length S) 1))))&lt;br /&gt;    (if (equal? (string-ref  S1 (- (string-length S1) 1)) #\])&lt;br /&gt;      (let((substring-begin 1)&lt;br /&gt;           (level 0)&lt;br /&gt;           (result (list)))&lt;br /&gt;        (do ((i 1 (+ i 1)))&lt;br /&gt;            ((= i (string-length S1)) result)&lt;br /&gt;          (if (and (= level 0)&lt;br /&gt;                   (equal? (string-ref S1 i) #\;)&lt;br /&gt;                   (not (equal? (string-ref S1 (+ i 1)) #\;)))&lt;br /&gt;            (begin&lt;br /&gt;              (set! result&lt;br /&gt;                    (append result&lt;br /&gt;                            (list (string-&amp;gt;sexpr&lt;br /&gt;                                    (substring S1&lt;br /&gt;                                               substring-begin&lt;br /&gt;                                               (+ i 1))))))&lt;br /&gt;              (set! substring-begin (+ i 1))))&lt;br /&gt;          (cond ((equal? (string-ref S1 i) #\[)&lt;br /&gt;                 (set! level (+ level 1)))&lt;br /&gt;                ((equal? (string-ref S1 i) #\])&lt;br /&gt;                 (set! level (- level 1))))))&lt;br /&gt;      (string-&amp;gt;symbol (substring S 0 (- (string-length S) 1))))))&lt;br /&gt;      &lt;br /&gt;(define (&lt;span style="color: #990000;"&gt;symbol-&amp;gt;sexpr&lt;/span&gt; s)&lt;br /&gt;  (string-&amp;gt;sexpr (symbol-&amp;gt;string s)))&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;-------------------------&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;gt; (sexpr-&amp;gt;symbol (quote (a b)))&lt;br /&gt;&lt;span style="color: #990000;"&gt;|[a;b;];|&lt;/span&gt;&lt;br /&gt;&amp;gt; (define s2 (sexpr-&amp;gt;symbol (quote (|[a;b;];| c))))&lt;br /&gt;&amp;gt; s2&lt;br /&gt;&lt;span style="color: #990000;"&gt;|[[a;b;];;c;];|&lt;/span&gt;&lt;br /&gt;&amp;gt; (symbol-&amp;gt;sexpr s2)&lt;br /&gt;&lt;span style="color: #990000;"&gt;(|[a;b;];| c)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-6938031701082476119?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/6938031701082476119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=6938031701082476119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/6938031701082476119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/6938031701082476119'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/07/more-sophisticated-encoding-of-s-exprs.html' title='More Sophisticated Encoding of S-exprs into Symbols.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-8668714751743363709</id><published>2011-06-27T18:11:00.010+02:00</published><updated>2011-09-02T00:42:18.758+02:00</updated><title type='text'>Exponential Explosion of Escape Characters.</title><content type='html'>&lt;style type="text/css"&gt;i {background:white;color:black;font-family:serif;}pre {background:white;color:black;font-family:serif;}span {color:lime;}.S0 {font-family: Consolas, monospace;font-weight:bold; color: #0000FF;}.S1 {font-family: Consolas, monospace;font-weight:bold; color: #FF7F7F;}.S2 {font-family: Consolas, monospace;font-weight:bold; color: #000000;}.S3 {font-family: Consolas, monospace;font-weight:bold; color: #BF0000;}.S5 {font-family: Consolas, monospace;font-weight:bold;      background: #FFEFEF;       color: #CF0000;}.S6 {font-family: Consolas, monospace;font-weight:bold; color: #7F0000; background: #FFEFEF; text-decoration: inherit;}.S9 {font-family: Consolas, monospace;font-weight:bold; color: #000000;}.S10 {font-family: Consolas, monospace;font-weight:bold; color: #000000;}&lt;/style&gt; &lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;center&gt;&lt;table width='640' style="background: none repeat scroll 0% 0% white; color: black; padding: 50px; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="color:black;text-align:left;font-weight:bold;padding:20px;background:white;"&gt;&lt;h1 style="font-size:161%;background:white;color:#d00000;text-align:center;font-family:'Times New Roman',Times,serif;font-weight:bold;"&gt;Exponential Explosion of Escape Characters&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/h1&gt;&lt;div style="font-family:'Times New Roman';"&gt;This time, Common Lisp:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style="background: none repeat scroll 0% 0% #ffefef; color: black; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div style="background:#ffefef;padding:20px;border:1px solid #efdfdf;"&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q nil)&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #990000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;NIL&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #990000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:NIL&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #990000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:|#:NIL|&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #990000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:|#:\|#:NIL\||&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:|#:\|#:\\\|#:NIL\\\|\||&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:|#:\|#:\\\|#:\\\\\\\|#:NIL\\\\\\\|\\\|\||&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:|#:\|#:\\\|#:\\\\\\\|#:\\\\\\\\\\\\\\\|#:NIL\\\\\\\\\\\\\\\|\\\\\\\|\\\|\||&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:|#:\|#:\\\|#:\\\\\\\|#:\\\\\\\\\\\\\\\|#:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:NIL&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\|\\\\\\\|\\\|\||&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:|#:\|#:\\\|#:\\\\\\\|#:\\\\\\\\\\\\\\\|#:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:NIL\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\|\\\\\\\\\\\\\\\|\\\\\\\|\\\|\||&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:|#:\|#:\\\|#:\\\\\\\|#:\\\\\\\\\\\\\\\|#:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:NIL\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\|\\\\\\\|\\\|\||&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;? (setf q (make-symbol (write-to-string q)))&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;#:|#:\|#:\\\|#:\\\\\\\|#:\\\\\\\\\\\\\\\|#:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|#:NIL\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\|\\\\\\\|\\&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #cc0000; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;\|\||&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;/div&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-8668714751743363709?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/8668714751743363709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=8668714751743363709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/8668714751743363709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/8668714751743363709'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/06/exponential-explosion-of-escape.html' title='Exponential Explosion of Escape Characters.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-6258161506878860831</id><published>2011-05-07T23:20:00.035+02:00</published><updated>2011-09-02T00:35:51.302+02:00</updated><title type='text'>Tangent.</title><content type='html'>&lt;style type="text/css"&gt;i {background:white;color:black;font-family:serif;}pre {background:white;color:black;font-family:serif;}span {color:lime;}.S0 {font-family: Consolas, monospace;font-weight:bold; color: #0000FF;}.S1 {font-family: Consolas, monospace;font-weight:bold; color: #FF7F7F;}.S2 {font-family: Consolas, monospace;font-weight:bold; color: #000000;}.S3 {font-family: Consolas, monospace;font-weight:bold; color: #BF0000;}.S5 {font-family: Consolas, monospace;font-weight:bold;      background: #FFEFEF;       color: #CF0000;}.S6 {font-family: Consolas, monospace;font-weight:bold; color: #7F0000; background: #FFEFEF; text-decoration: inherit;}.S9 {font-family: Consolas, monospace;font-weight:bold; color: #000000;}.S10 {font-family: Consolas, monospace;font-weight:bold; color: #000000;}&lt;/style&gt;  .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt; &lt;table border='0' bordercolor='#7f0000' style="background-color: #7f0000; color:black;font-family:serif;" width='640'&gt;&lt;tr&gt;&lt;td style="padding:40px;background-color: white;"&gt; &lt;center&gt; &lt;table style="background-color: white; color:black; font-family:serif; max-width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color: white; color:black; font-family:serif;text-align:justify;"&gt;&lt;h1 style="text-align: center; color:#cf0000; background-color:white;font-family:'Times New Roman',Times,serif;font-weight:bold;font-size:161%;"&gt;Tangent&lt;br /&gt;&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;The specificity of Lisp is, maybe, best visible on problems that require processing of data naturally represented as S-expressions. An example of such problem is "&lt;a href="http://kazimirmajorinc.blogspot.com/2009/09/probability-that-random-propositional.html" style="color:#c00000;background:#FFEFEF;text-decoration:underline;"&gt;Probability that random propositional formula is tautology&lt;/a&gt;."  In this post, the variation of classical example - symbolic differentiation - is presented: newLISP (and it is very similar in other Lisps) program that computes the tangent of the graph of the function &lt;em&gt;f&lt;/em&gt; of single variable, defined as composition of elementary functions (+, -, sin, cos ...) in given point &lt;em&gt;x&lt;/em&gt;&lt;sub style="font-size: x-small"&gt;0&lt;/sub&gt;. The tangent of the function &lt;em&gt;f&lt;/em&gt; in &lt;em&gt;x&lt;/em&gt;&lt;sub style="font-size: x-small"&gt;0 &lt;/sub&gt;is defined as linear function &lt;br /&gt;&lt;br /&gt;&lt;div style="text-align:center;"&gt;&lt;em&gt;y&lt;/em&gt;(&lt;em&gt;x&lt;/em&gt;)&lt;em&gt; &lt;/em&gt;=&lt;em&gt; a&lt;/em&gt;&amp;middot;(&lt;em&gt;x   &lt;/em&gt;-&lt;em&gt; x&lt;/em&gt;&lt;sub style="font-size: x-small"&gt;0&lt;/sub&gt;) +&lt;em&gt; b&lt;/em&gt;,&lt;/div&gt;&lt;br /&gt;where &lt;em&gt;a&lt;/em&gt; = &lt;em&gt;f &lt;/em&gt;'(&lt;em&gt;x&lt;/em&gt;&lt;sub style="font-size: x-small"&gt;0&lt;/sub&gt;) and &lt;em&gt;b&lt;/em&gt; =   &lt;em&gt;f&lt;/em&gt;(&lt;em&gt;x&lt;/em&gt;&lt;sub style="font-size: x-small"&gt;0&lt;/sub&gt;). The program consists of:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The function &lt;span style="font-family: Consolas, monospace;color:#c00000;"&gt;&lt;strong&gt;tangent&lt;/strong&gt;&lt;/span&gt; that accepts two arguments: the function &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;f&lt;/strong&gt;&lt;/span&gt; in form of lambda list and the floating point number &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;x0&lt;/strong&gt;&lt;/span&gt;. The function &lt;span style="font-family: Consolas, monospace; color: #C00000"&gt;&lt;strong&gt;tangent&lt;/strong&gt;&lt;/span&gt; analyzes the code of the function &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;f&lt;/strong&gt;&lt;/span&gt;, calculates the values &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;a&lt;/strong&gt;&lt;/span&gt; and &lt;span style="font-family: Consolas, monospace; color: #C00000"&gt;&lt;strong&gt;b&lt;/strong&gt;&lt;/span&gt; according to mathematical definition of tangent (see above) and constructs the code of the function &lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-family: Consolas, monospace; color: #C00000"&gt;&lt;strong&gt;(lambda(x)(+. (*. a (-. x x0)) b))&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;where symbols &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;a&lt;/strong&gt;&lt;/span&gt;, &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;b&lt;/strong&gt;&lt;/span&gt; and &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;x0&lt;/strong&gt;&lt;/span&gt; are replaced with their respective values; that function is then returned as result of the function &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;tangent&lt;/strong&gt;&lt;/span&gt;. The  implementation is very short, but it delegates main part of the work to the function &lt;span style="font-family: Consolas, monospace; color: #C00000"&gt; &lt;strong&gt;d&lt;/strong&gt;&lt;/span&gt;. &lt;/li&gt;&lt;li&gt;The function  &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;d&lt;/strong&gt;&lt;/span&gt; accepts two arguments: &lt;span style="font-family: Consolas, monospace; color: #C00000"&gt; &lt;strong&gt;formula&lt;/strong&gt;&lt;/span&gt; and  &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;variable&lt;/strong&gt;&lt;/span&gt;. It returns the expression obtained by &lt;em&gt;symbolic differentiation&lt;/em&gt; of the &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;formula&lt;/strong&gt;&lt;/span&gt; for given &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;variable&lt;/strong&gt;&lt;/span&gt;. It is main  function in this program, typical recursive "code walking" through &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;formula&lt;/strong&gt;&lt;/span&gt;. Simple "domain specific  language" is used for descriptions of the rules&amp;nbsp; for symbolic differentiation that should be applied, for example &lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;(+. (*. df g) (*. f dg))&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;for multiplication. The application of&amp;nbsp; rules for symbolic   differentiation frequently give result that can be simplified. For instance,   derivation of &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;  &lt;strong&gt;(*. 2 x)&lt;/strong&gt;&lt;/span&gt; is&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Consolas, monospace; color: #C00000; text-align: center;"&gt;  &lt;strong&gt;(+. (*. 0 x) (*. 2 1))&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;so function  &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;simplify&lt;/strong&gt;&lt;/span&gt; is called   when appropriate.&lt;/li&gt;&lt;li&gt;The function   &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;simplify&lt;/strong&gt;&lt;/span&gt; accepts only one argument:   symbolic expression  &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;formula&lt;/strong&gt;&lt;/span&gt;. It   analyzes and simplify formula, again, using typical recursive "code walking". For instance, S-expression   &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;(- x   x)&lt;/strong&gt;&lt;/span&gt; is simplified to   &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;0&lt;/strong&gt;&lt;/span&gt;.   There are infinitely many possible rules for simplification; the function   performs only few of these. The function uses  &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;eval&lt;/strong&gt;&lt;/span&gt; at one place: if some expression contains only operators and constants, but   not variables then the easisest way to simplify it is to  &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;eval&lt;/strong&gt;&lt;/span&gt; it.&amp;nbsp;(One might speculate that  &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;simplify&lt;/strong&gt;&lt;/span&gt;   is generalized   &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;eval&lt;/strong&gt;&lt;/span&gt;.)  &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;Simplification&lt;/strong&gt;&lt;/span&gt; is, actually, not necessary for computation of the &lt;span style="font-family: Consolas, monospace; color: #C00000;"&gt;&lt;strong&gt;tangent&lt;/strong&gt;&lt;/span&gt;. However, its use in the context of symbolic differentiation is reasonable.&lt;/li&gt;&lt;/ul&gt;Few operators from my library are used; function  &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;expand//&lt;/strong&gt;&lt;/span&gt; i.e. parallel expand, fexpr &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;println=&lt;/strong&gt;&lt;/span&gt; for convenient printing and floating point arithmetic operators  &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;+.&lt;/strong&gt;&lt;/span&gt;,  &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;-.&lt;/strong&gt;&lt;/span&gt;,  &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;*.&lt;/strong&gt;&lt;/span&gt;   and &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;  /.&lt;/strong&gt;&lt;/span&gt;, synonymous for built-in  &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;add&lt;/strong&gt;&lt;/span&gt;,  &lt;span style="font-family: Consolas, monospace; color: #C00000"&gt;&lt;strong&gt;sub&lt;/strong&gt;&lt;/span&gt;,  &lt;span style="font-family: Consolas, monospace; color: #C00000"&gt;&lt;strong&gt;mul&lt;/strong&gt;&lt;/span&gt;   and &lt;span style="color: #C00000; font-family: Consolas, monospace"&gt;&lt;strong&gt;  div&lt;/strong&gt;&lt;/span&gt;. These   functions are not essential.&lt;br /&gt;&lt;br /&gt;The graph of the complicated function and tangent on the curve suggests that program, generally, works.&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;setf&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;f0&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;+.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sin&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S2"&gt;12&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cos&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S2"&gt;32&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;tan&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1.4&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;asin&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;acos&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;atan&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cos&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S2"&gt;7&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sqrt&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S2"&gt;9&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;pow&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sinh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cosh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;asinh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sin&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;acosh&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;+.&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;atanh&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;setf&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;x0&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;0.4&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println=&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;tangent&lt;/span&gt;&lt;span class="S0"&gt;  &lt;/span&gt;&lt;span class="S9"&gt;f0&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x0&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;; (tangent f0 x0)=(lambda (x) (+. (*. -21.491 (-. x 0.4)) 10.252))&lt;/span&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;  &lt;img alt="graph" height="330" src="http://www.instprog.com//blogposts/tangent/tangent.png" style="text-align: center" width="330" /&gt;&lt;br /&gt;&lt;/center&gt;  &lt;br /&gt;&lt;br /&gt;Finally, the code:&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table  border='0' bordercolor='#ff0000' style="text-align:left;background:white;"&gt;&lt;tr&gt;&lt;td style="text-align:left;background:white;"&gt;&lt;pre&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;setf&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;[&lt;/span&gt;&lt;span class="S9"&gt;print.supressed&lt;/span&gt;&lt;span class="S10"&gt;]&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;[&lt;/span&gt;&lt;span class="S9"&gt;println.supressed&lt;/span&gt;&lt;span class="S10"&gt;]&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;load&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S6"&gt;"http://www.instprog.com/Instprog.default-library.lsp"&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;setf&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;[&lt;/span&gt;&lt;span class="S9"&gt;print.supressed&lt;/span&gt;&lt;span class="S10"&gt;]&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;nil&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;[&lt;/span&gt;&lt;span class="S9"&gt;println.supressed&lt;/span&gt;&lt;span class="S10"&gt;]&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;nil&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;define&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;tangent&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x0&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;letn&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expression&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;last&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;derived-expression&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;expression&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;eval&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;expand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;derived-expression&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x0&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;b&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x0&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S3"&gt;+.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;x0&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;b&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;a&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;b&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;x0&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;define&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;simplify&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cond&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;atom?&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;0&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;list?&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;letn&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;rest&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expr&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;letn&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;flatexpr&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;flat&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;expr&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;if&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;find&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;flatexpr&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;0&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;if&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;find&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;flatexpr&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;g&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;if&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;find&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;g&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;flatexpr&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;dg&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;if&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;find&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;dg&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;flatexpr&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;g&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;expr&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;g&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;dg&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;case&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;+.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cons&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;+.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;map&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;op&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;op&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cons&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;map&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;op&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;op&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;case&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;length&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;df&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S2"&gt;2&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;+.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;g&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;dg&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cons&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;rest&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;case&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;length&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S2"&gt;2&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;g&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;dg&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;g&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;g&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cons&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;rest&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;pow&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;exp&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;g&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;log&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;exp&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;log&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;if&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;length&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;d&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;log&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;log&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;g&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;variable&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sqrt&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;0.5&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sqrt&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sin&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cos&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cos&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sin&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;tan&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;pow&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cos&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;2&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;asin&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sqrt&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;))))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;acos&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sqrt&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)))))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;atan&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;+.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sinh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cosh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cosh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sinh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;tanh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;pow&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;tanh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;2&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;asinh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sqrt&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;+.&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;acosh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;sqrt&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;atanh&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lexpand&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;df&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;f&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;))))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;define&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;simplify&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cond&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;atom?&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;list?&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;letn&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;map&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;simplify&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;rest&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cons&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cond&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; if all operands are constants, then &lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; simplified formula is evaluated formula&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;for-all&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;number?&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S3"&gt;eval&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;;&amp;nbsp;(*.&amp;nbsp;x),&amp;nbsp;(+.&amp;nbsp;x)&amp;nbsp;=&amp;gt;&amp;nbsp;x&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;and&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;or&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;*.&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;+.&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;length&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; (*. ... 0 ...) =&amp;gt; 0 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;and&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;*.&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;find&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;0&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;0&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; (*. ... 1 ...) =&amp;gt; (*. ...)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;and&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;*.&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;find&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;simplify&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;clean&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;curry&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; (+. ... 0 ...) =&amp;gt; 0&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;and&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;+.&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;find&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;0&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;simplify&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;clean&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;zero?&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; (-. (-. ...)) =&amp;gt; ...&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;match&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;?&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;last&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;last&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; (-. minuend ...)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;and&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;-.&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;&amp;gt;&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;length&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;letn&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;minuend&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;subtrahends&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;rest&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;subtrahend&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;simplify&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cons&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;+.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;subtrahends&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cond&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;zero?&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;minuend&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;simplify&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;subtrahend&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;zero?&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;subtrahend&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;minuend&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;minuend&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;subtrahend&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;0&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;minuend&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;subtrahend&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; (/. (/. ...))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;match&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;?&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;last&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;last&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; (/. dividend ...)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;and&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operator&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;/.&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;&amp;gt;&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;length&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;letn&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;dividend&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;divisors&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;rest&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;operands&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;divisor&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;simplify&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cons&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;*.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;divisors&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cond&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;zero?&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;dividend&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;0&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;divisor&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;dividend&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;divisor&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;-1&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;simplify&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;-.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;dividend&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;=&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;dividend&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;divisor&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;/.&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;dividend&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;divisor&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="S9"&gt;formula&lt;/span&gt;&lt;span class="S10"&gt;))))))&lt;/span&gt; &lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-6258161506878860831?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/6258161506878860831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=6258161506878860831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/6258161506878860831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/6258161506878860831'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/05/tangent.html' title='Tangent.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-3926774904222000648</id><published>2011-05-03T15:17:00.015+02:00</published><updated>2011-09-02T01:33:58.528+02:00</updated><title type='text'>Conflation of Subtraction and Additive Inverse in Lisp.</title><content type='html'>&lt;style type="text/css"&gt;i {background:white;color:black;font-family:serif;}pre {background:white;color:black;font-family:serif;}span {color:black;}&lt;/style&gt;&lt;br /&gt;&lt;table width='100%'style="color:black; font-family:serif;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="color:black; font-family:serif;"&gt;&lt;br /&gt;&lt;center&gt;&lt;table width='640' cellpadding='50' style="background-color: white; color:black; font-family:serif;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color: white; color:black; font-family:serif;text-align:justify;"&gt;&lt;h1 style="font-size:161%;text-align: center; color:#cf0000; background-color:white;font-family:serif;font-weight:bold;"&gt;Conflation of Subtraction and Additive Inverse in Lisp&lt;br /&gt;&lt;br /&gt;&lt;/h1&gt;In mathematics, the symbol - is used as name of two different operations: subtraction  and additive inverse. For instance, that symbol has  different meaning in the expressions (-3)+7 and (6-3)+7. There is no ambiguity. The edge case of subtraction&lt;br \&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;c&lt;/i&gt; - &lt;i&gt;b&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; - &lt;i&gt;b&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; - ... - &lt;i&gt;b&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;&lt;/div&gt;&lt;br /&gt;for &lt;i&gt;n&lt;/i&gt; = 0, i.e. &lt;i&gt;subtraction with zero subtrahends&lt;/i&gt;, is &lt;i&gt;c&lt;/i&gt;, which is clearly different than &lt;i&gt;additive inverse&lt;/i&gt; of &lt;i&gt;c&lt;/i&gt;: -&lt;i&gt; c&lt;/i&gt;. However, in prefix  notation use of the same symbol for two different operators will cause ambiguity so &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;(- c)&lt;/span&gt; can be interpreted as both  &lt;i&gt;additive inverse&lt;/i&gt; of &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;c&lt;/span&gt; and  &lt;i&gt;the edge case of  subtraction with zero subtrahends&lt;/i&gt;. Designers of almost all Lisp dialects have chosen to keep the same  symbol and implement both operations. The decision is based on the number of operands: if there is only one operand, operator &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;-&lt;/span&gt; behaves as additive inverse; if there is two or more operands  &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;-&lt;/span&gt;  behaves as subtraction.&lt;br /&gt;&lt;br /&gt;This decision rarely causes any problems with "hand  written" expressions because humans automatically, without much thinking, reduce  edge case of subtraction to minuend, so, we'll not see the edge case of  subtraction in any  mathematical formulas. However, if expressions are processed by programs the  reduction of the edge case doesn't happen automatically. For instance,   the program that simplifies arithmetic expression could contain the function  that deletes zeroes from subtrahends. That function should accept expression as&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Consolas, monspace; text-align: center;"&gt;&lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;(- c b1 0 b2 0 0  0)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;as argument and return expression&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Consolas, monspace; text-align: center;"&gt;&lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;(- c b1 b2)&lt;/span&gt;.&lt;/div&gt;&lt;br /&gt;However, simple implementation like this one in Newlisp &lt;br /&gt;&lt;pre style="background-color: #ffffff;background-image:none;font-weight:bold;padding:10px;"&gt;&lt;span style="color:#800000;font-family: Consolas,monospace;"&gt;(define (simplify E)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#800000;font-family: Consolas,monospace;font-weight:bold;"&gt;  (let ((operator (first E))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#800000;font-family: Consolas,monospace;font-weight:bold;"&gt;        (minuend (first (rest E)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#800000;font-family: Consolas,monospace;font-weight:bold;"&gt;        (subtrahends (rest (rest E))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#800000;font-family: Consolas,monospace;font-weight:bold;"&gt;       (setf new-subtrahends (clean zero? subtrahends))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#800000;font-family: Consolas,monospace;font-weight:bold;"&gt;       (append (list operator)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#800000;font-family: Consolas,monospace;font-weight:bold;"&gt;               (list minuend)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#800000;font-family: Consolas,monospace;font-weight:bold;"&gt;               new-subtrahends)))&lt;/span&gt;&lt;/pre&gt;will not work correctly, because, for instance, &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;(- 3 0)&lt;/span&gt; will be reduced  into &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;(- 3)&lt;/span&gt; and these two expressions have not the same value. Explicit treatment of the edge case is required:&lt;br /&gt;&lt;pre style="background-color: #ffffff;background-image:none;font-weight:bold;"&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;padding:10px;;font-weight:bold;"&gt;(define (simplify E)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;;font-weight:bold;"&gt;  (let ((operator (first E))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;;font-weight:bold;"&gt;        (minuend (first (rest E)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;"&gt;        (subtrahends (rest (rest E))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;"&gt;       (setf new-subtrahends (clean zero? subtrahends))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;"&gt;       (if (empty? new-subtrahends)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;"&gt;           minuend&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;"&gt;           (append (list operator)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;"&gt;                   (list minuend)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#007000;font-family: Consolas,monospace;"&gt;                   new-subtrahends))))&lt;/span&gt;&lt;/pre&gt;The second definition is significantly (~ 15%) larger and less consistent: one can get rid of subtrahends equal to zero only if he removes  whole subtraction. On the other hand, edge cases for some other operations like  addition are well supported in all Lisp dialects: not only that &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;(+ a 0)&lt;/span&gt; can be safely  simplified to &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;(+ a)&lt;/span&gt;, but  even &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;(+ 0 0)&lt;/span&gt; can be  simplified to &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;(+)&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Hence, merging of the two operators into one could be design mistake.  It would be, arguably, better to &lt;br /&gt;&lt;ul&gt;&lt;li&gt;define new operator for additive inverse and&lt;/li&gt;&lt;li&gt;extend definition of subtraction on special case with zero subtrahends.&lt;/li&gt;&lt;/ul&gt;Of course, S-expressions would look even less similar to arithmetic expressions, however, clarity and consistency over convenience is, I think, the element of the philosophy of Lisp.&lt;br \&gt;&lt;br \&gt;It is even more surprising that this merging is generalized: division operator, &lt;span style="font-family: Consolas,monospace;color:#cf0000;font-weight:bold;"&gt;/&lt;/span&gt; which is not used as divisional inverse in mathematical expressions is used on the way analogous to - in  almost all Lisp dialects.&lt;br \&gt;&lt;br \&gt;  It is hard to expect change in existing Lisp dialects because lot of existing code uses "conflated operator", although I think that such changes should be, gradually, done: &lt;i&gt;the past is finite and future is infinite&lt;/i&gt;. However, I think that for future Lisp dialects it would be better to keep the difference between subtraction (division) and additive (multiplicative) inverse. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-3926774904222000648?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/3926774904222000648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=3926774904222000648' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3926774904222000648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3926774904222000648'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/05/conflation-of-subtraction-and-additive.html' title='Conflation of Subtraction and Additive Inverse in Lisp.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-311138739507591922</id><published>2011-04-26T19:09:00.004+02:00</published><updated>2011-09-04T19:06:09.491+02:00</updated><title type='text'>Parallel "expand".</title><content type='html'>&lt;style type="text/css"&gt;.S0 { font-family:Consolas,monospace;font-weight:bold; color: #0000FF;}.S1 {font-family:Consolas,monospace;font-weight:bold; color: #000000;}.S2 {font-family:Consolas,monospace;font-weight:bold; color: #0000CF;}.S3 {font-family:Consolas,monospace;font-weight:bold; color: #BF0000;}.S5 {font-family:Consolas,monospace;font-weight:bold; color: #0000FF;        background: #C7C7FF;}.S6 {font-family:Consolas,monospace;font-weight:bold; color: #7F007F; background: #FFEFFF; text-decoration: inherit;}.S9 {font-family:Consolas,monospace;font-weight:bold; color: #0000CF;        /*background: #CFCFFF;*/}.S10 {font-family:Consolas,monospace;font-weight:bold; color: #000000;}span {font-family:Consolas,monospace;font-weight:bold;        font-size:104%;font-weight:bold;}&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;table style="background: none repeat scroll 0% 0% white; padding: 3px; text-align: left; width: 640px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background: #ffffff; color: black; font-family: serif; font-size: 100%; padding: 50px; text-align: left;"&gt;&lt;h1 style="background: none; color: #cf0000; font-family: serif; font-size: 161%; font-weight: bold; padding-bottom: 30px; text-align: center;"&gt;&lt;b&gt;Parallel "Expand"&lt;/b&gt;&lt;/h1&gt;&lt;span class="S1"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Almost all Lisp dialects support both "parallel" and "serial" assignment operators like let and letn in Newlisp. For example&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setf y 1)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (let((y 2)(x y)) x) &amp;nbsp;==&amp;gt; 1 &amp;nbsp;&amp;nbsp;(parallel)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;but&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp; (setf y 1)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp; (letn((y 2)(x y)) x) &amp;nbsp;==&amp;gt; 2 &amp;nbsp;&amp;nbsp;(serial)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Expand-expression in Newlisp&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000; text-align: center;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp; (expand '(x y) 'x 'y)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;results in replacement of &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;x&lt;/span&gt; and &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;y&lt;/span&gt; in &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;(x y)&lt;/span&gt; with values of &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;x&lt;/span&gt; and &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;y&lt;/span&gt;. Expand-expression in other form:&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000; text-align: center;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp; (expand '(x y) ((x &amp;lt;value1&amp;gt;)(y &amp;lt;value2&amp;gt;)))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;results in replacement of &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;x&lt;/span&gt; and &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;y&lt;/span&gt; in &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;(x y)&lt;/span&gt; with &amp;lt;value1&amp;gt; and&amp;nbsp;&amp;lt;value2&amp;gt;. &lt;br /&gt;&lt;br /&gt;In both cases, the replacement is performed in serial fashion. For&amp;nbsp;example,&lt;br /&gt;&amp;nbsp;&lt;span class="S1"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #990000; text-align: center;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp; (expand '(x y) '((x y)(y 3))) ==&amp;gt; (3 3)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;In this post I present the implementation of parallel expand,&amp;nbsp; &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;expand//&lt;/span&gt; in Newlisp; two slashes in name remind on parallel lines such that, for instance&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000; text-align: center;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp; (expand// '(x y) '((x y)(y 3))) ==&amp;gt; (y 3).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Parallel expand expression can be reduced to serial expand with introduction of new variables. &lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp; (expand// &amp;lt;expr&amp;gt; '((&amp;lt;var1&amp;gt; &amp;lt;val1&amp;gt;)...(&amp;lt;varn&amp;gt; &amp;lt;valn&amp;gt;))) = &lt;/span&gt;&lt;/div&gt;&lt;div style="color: #990000;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp; (expand &amp;lt;expr&amp;gt; '((&amp;lt;var1&amp;gt; &amp;nbsp;&amp;nbsp;expand//1) ... (&amp;lt;varn&amp;gt; &amp;nbsp;&amp;nbsp;expand//&amp;lt;n&amp;gt;)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (expand//1 &amp;lt;val1&amp;gt; &amp;nbsp;) ... (expand//n &amp;lt;valn&amp;gt;)))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Fexpr expand// can use always the same temporary variables expand//1, ..., expand//n, without need for generating fresh variables each time &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;expand//&lt;/span&gt; is called. Other form of &lt;span style="color: black; font-family: Consolas,monospace; font-weight: bold;"&gt;expand//&lt;/span&gt;,&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000; text-align: center;"&gt;&lt;span class="S1"&gt;&amp;nbsp; (expand// &amp;lt;expr&amp;gt; '&amp;lt;var0&amp;gt; ... '&amp;lt;varn&amp;gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;can be reduced on form&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp; (expand &amp;lt;expr&amp;gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '((&amp;lt;var0&amp;gt; &amp;nbsp;&amp;nbsp;expand//0) ... &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&amp;lt;varn&amp;gt; expand//&amp;lt;n&amp;gt;)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #990000;"&gt;&lt;span class="S1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (expand//0 &amp;lt;value of var0&amp;gt;) ... (expand//&amp;lt;n&amp;gt; &amp;lt;value of var&amp;lt;n&amp;gt;&amp;gt;))).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Using that idea, the implementation is not very technical&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: white; background-image: none;"&gt;&lt;b&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;define&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;expr&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;letn&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;args&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//sym&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;n&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S3"&gt;sym&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;append&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S6"&gt;"expand//"&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;string&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;n&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expandlist&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;if&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;empty?&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;throw-error&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S6"&gt;"expand//: arguments missing."&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;cond&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;symbol?&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;append&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;map&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;i&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;i&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//sym&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S3"&gt;$idx&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;map&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;i&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//sym&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S3"&gt;$idx&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;eval&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;i&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S3"&gt;list?&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;append&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;map&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;i&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;i&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S2"&gt;0&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//sym&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S3"&gt;$idx&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;map&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;i&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S3"&gt;list&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//sym&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S3"&gt;$idx&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;i&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S2"&gt;1&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S10"&gt;))))))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S6"&gt;"expandlist="&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;expandlist&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;expand&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;expr&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;expandlist&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;setf&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;setf&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S2"&gt;3&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;expand&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; =&amp;gt; (3 3)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'&lt;/span&gt;&lt;span class="S5"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; =&amp;gt; (y 3)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;expand&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'((&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S2"&gt;3&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;span class="S0"&gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;; =&amp;gt; (3 3)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;expand//&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'((&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S2"&gt;3&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S1"&gt;; =&amp;gt; (y 3)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;exit&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&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/5894839-311138739507591922?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/311138739507591922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=311138739507591922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/311138739507591922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/311138739507591922'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/04/parallel-expand.html' title='Parallel &quot;expand&quot;.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-2168545061302660400</id><published>2011-04-23T16:20:00.008+02:00</published><updated>2011-08-28T17:15:30.067+02:00</updated><title type='text'>"Nothing Will Happen" in Belgrade, April 2011</title><content type='html'>&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;table style="padding: 50px; text-align: left; width: 640px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background: white; color: black; font-family: 'Times New Roman',Times,serif; padding: 50px; text-align: justify; text-align: left;"&gt;&lt;h1 style="font-size:161%;background:white;color:#df0000;font-family:'Times New Roman',Times,serif;text-align:center;font-weight:bold;"&gt;Nothing Will Happen in Belgrade, April 2011&lt;/h1&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;I returned from another &lt;a href="http://www.nsnd.org" style="background: white; color: #df0000; text-decoration: underline;"&gt;"Ništa se neće dogoditi"&lt;/a&gt; (Nothing will happen) hacker conference, this time in &lt;b&gt;Belgrade, Serbia&lt;/b&gt;. As usually, the program was made on place on the base of existing supply and demand. No attendance fee. Lot of fun and enthusiasm. I didn't prepared presentation but as there was some interest in Lisp, I discussed some of the most popular topics discussed in this blog. &lt;/div&gt;&lt;br /&gt;I forgot my camera, so I borrow few photos made by other participants. &lt;br /&gt;&lt;br /&gt;Thanks to organizers. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/zsteva/5624311482/" title="data by zsteva, on Flickr"&gt;&lt;img alt="data" height="375" src="http://farm6.static.flickr.com/5070/5624311482_86427917ae.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Waiting for the start. I'm third from the left.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/goran_zec/5630859459/" title="DSC_0986.JPG by Goran Zec, on Flickr"&gt;&lt;img alt="DSC_0986.JPG" height="333" src="http://farm6.static.flickr.com/5104/5630859459_8536886421.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One presentation held in "Magacin."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/goran_zec/5630799723/" title="DSC_0810.JPG by Goran Zec, on Flickr"&gt;&lt;img alt="DSC_0810.JPG" height="333" src="http://farm6.static.flickr.com/5185/5630799723_5f657e2a22.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One presentation held in bar.&lt;br /&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;See also &lt;a href="http://kazimirmajorinc.blogspot.com/2010/08/few-photographies-from-nothing-will.html" style="background: white; color: #df0000; text-decoration: underline;"&gt;"Nothing will Happen", Split, August 2010&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-2168545061302660400?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/2168545061302660400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=2168545061302660400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/2168545061302660400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/2168545061302660400'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/04/nothing-will-happen-in-belgrade-april.html' title='&quot;Nothing Will Happen&quot; in Belgrade, April 2011'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5070/5624311482_86427917ae_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-3700548962810153786</id><published>2011-04-08T00:11:00.018+02:00</published><updated>2011-09-04T22:54:57.117+02:00</updated><title type='text'>One Picolisp Snippet.</title><content type='html'>&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;table style="background: none repeat scroll 0% 0% white; color: black; font-family: 'Times New Roman',Times,serif; padding: 50px; text-align: justify; width: 640px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;h1 style="background: white; color: #df0000; font-family: 'Times New Roman',Times,serif; font-weight: bold; text-align: center;"&gt;One Picolisp Snippet&lt;/h1&gt;&lt;h1 style="background: none repeat scroll 0% 0% white; color: #df0000; font-family: 'Times New Roman',Times,serif; font-weight: bold; text-align: center;"&gt;&amp;nbsp;&lt;/h1&gt;&lt;h1 style="background: none repeat scroll 0% 0% white; color: #df0000; font-family: 'Times New Roman',Times,serif; font-weight: bold; text-align: center;"&gt;&lt;/h1&gt;I had presentation on &lt;a href="http://picolisp.com/" style="background: white; color: red; text-decoration: underline;"&gt;Picolisp&lt;/a&gt; in &lt;a href="http://hackerspaces.org/wiki/Hacklab_in_mama" style="background: white; color: red; text-decoration: underline;"&gt;Hacklab "&lt;b&gt;Mama&lt;/b&gt;"&lt;/a&gt; in &lt;b&gt;Zagreb &lt;/b&gt;few weeks ago.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt; &lt;img src="http://hackerspaces.org/images/6/60/Inside_hacklab_in_mama.JPG" width="300px" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Not that I'm expert in &lt;b&gt;Picolisp&lt;/b&gt;, but I think I understand it well enough for short introduction. &lt;b&gt;Picolisp &lt;/b&gt;is somehow Spartan dialect of &lt;b&gt;Lisp &lt;/b&gt;- for example, it doesn't support floating point numbers, and it is not available on &lt;b&gt;Windows &lt;/b&gt;- except by using &lt;b&gt;VirtualBox&lt;/b&gt; or something like that. Butit is dynamically scoped, and it supports some powerful and interesting features as fexprs, coroutines and anonymous symbols, integrated &lt;b&gt;Prolog &lt;/b&gt;and database. It is particularly interesting that &lt;b&gt;Picolisp &lt;/b&gt;doesn't have strings - the symbols are used for that purpose. On the first sight, absence doesn't look like advantage, but it is, because all usual functions defined on strings now work directly on symbols, without need for conversion. &lt;br /&gt;&lt;br /&gt;As a bonus, &lt;b&gt;Picolisp &lt;/b&gt;might be the fastest &lt;b&gt;Lisp &lt;/b&gt;interpreter, written entirely (in 64 bit version) in assembly language. &lt;br /&gt;&lt;br /&gt;The author of &lt;b&gt;Picolisp &lt;/b&gt;is &lt;b&gt;&lt;a href="http://software-lab.de/" style="background: white; color: red; text-decoration: underline;"&gt;Alexander Burger&lt;/a&gt;&lt;/b&gt;; as &lt;b&gt;Picolisp &lt;/b&gt;is, in spirit, very similar to &lt;b&gt;Newlisp&lt;/b&gt;, we can almost speak about &lt;a href="http://blog.fogus.me/2011/05/03/the-german-school-of-lisp-2/" style="background: white; color: red; text-decoration: underline;"&gt;German school of &lt;b&gt;Lisp&lt;/b&gt;&lt;/a&gt;. OK, maybe another similar&lt;b&gt;Lisp &lt;/b&gt;"made in Germany" is needed for that. &lt;br /&gt;&lt;br /&gt;The reactions on &lt;b&gt;Picolisp &lt;/b&gt;and presentation were positive; &lt;b&gt;Zagreb &lt;/b&gt;is one of the places where Lispers encourage each other, no matter of dialect. We had three days of"&lt;b&gt;Clojure &lt;/b&gt;Fest" few months ago (unfortunately collidedwith swine flue fest.) &lt;br /&gt;&lt;br /&gt;I don't want to allow you to go home without any code,so this was the most liked example from presentation.&lt;br /&gt;&lt;br /&gt;&lt;div style="background: black; color: #ffcf00; font-family: Consolas,monospace; font-weight: bold; padding: 10px;"&gt;&lt;span style="color: red;"&gt;:&lt;/span&gt; (setq my '(list 1 2))&lt;br /&gt;&lt;span style="color: red;"&gt;-&amp;gt;&lt;/span&gt; (list 1 2)&lt;br /&gt;&lt;span style="color: red;"&gt;:&lt;/span&gt; (intern (name (zap 'list) "popis")) &lt;span style="color: lime;"&gt; # not a string&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;-&amp;gt;&lt;/span&gt; popis&lt;br /&gt;&lt;span style="color: red;"&gt;:&lt;/span&gt; (popis 1 2 3)                      &lt;br /&gt;&lt;span style="color: red;"&gt;-&amp;gt;&lt;/span&gt; (1 2 3)&lt;br /&gt;&lt;span style="color: red;"&gt;:&lt;/span&gt; my           &lt;br /&gt;&lt;span style="color: red;"&gt;-&amp;gt;&lt;/span&gt; (popis 1 2)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-3700548962810153786?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/3700548962810153786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=3700548962810153786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3700548962810153786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3700548962810153786'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/04/one-picolisp-snippet.html' title='One Picolisp Snippet.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-3573628033525141091</id><published>2011-04-06T09:15:00.008+02:00</published><updated>2011-09-05T06:35:13.630+02:00</updated><title type='text'>Variable Definitions Supported in Clojure, Common Lisp, ISLisp, newLISP, Picolisp and Scheme.</title><content type='html'>&lt;style type="text/css"&gt;.auto-style1 { text-align: center;}.auto-style2 { text-align: center;}&lt;/style&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;table style="text-align:left;background-color:white;color:black;font-family:'Times New Roman',Times,serif;text-align:left;padding:50px;" width='640'&gt;&lt;tr&gt; &lt;td style="text-align:left;"&gt;&lt;center&gt;&lt;h1 style="font-family:'Times New Roman',Times,serif;background:white;color:#df0000;font-weight:bold;font-size:161%;"&gt;Variable Definitions Supported in Clojure, Common Lisp, ISLisp, newLISP, Picolisp and Scheme&lt;br /&gt;&lt;br /&gt;&lt;/h1&gt;&lt;table cellpadding="10" border="1" style="text-align:left;background-color:white;color:black;font-family:'Times New Roman',Times,serif;"&gt;&lt;tr&gt;   &lt;td class="auto-style2"&gt;&amp;nbsp;&lt;/td&gt;   &lt;td class="auto-style2"&gt;&amp;nbsp;&lt;/td&gt;   &lt;td class="auto-style1"&gt;&lt;strong&gt;variable&lt;/strong&gt;&lt;/td&gt;   &lt;td class="auto-style1"&gt;&lt;strong&gt;constant&lt;br /&gt;("immutable variable")&lt;/strong&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td rowspan="2"&gt;&lt;strong&gt;global&lt;/strong&gt;&lt;/td&gt;   &lt;td&gt;&lt;strong&gt;lexical&lt;/strong&gt;&lt;/td&gt;   &lt;td&gt;ISLisp (defglobal)&lt;br /&gt;Scheme (define)&lt;/td&gt;   &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td&gt;&lt;strong&gt;dynamic&lt;/strong&gt;&lt;/td&gt;   &lt;td&gt;Clojure (def)&lt;br /&gt;CL (defvar, defparameter)&lt;br /&gt;ISLisp (defdynamic)&lt;br /&gt;Picolisp (de)&lt;br /&gt;Newlisp (define)&lt;/td&gt;   &lt;td&gt;CL (defconstant)&lt;br /&gt;ISLisp (defconstant)&lt;br /&gt;Newlisp (define + constant)&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td rowspan="2"&gt;&lt;strong&gt;local&lt;/strong&gt;&lt;/td&gt;   &lt;td&gt;&lt;strong&gt;lexical&lt;/strong&gt;&lt;/td&gt;   &lt;td&gt;CL (let, let*)&lt;br /&gt;ISLisp (let, let*)&lt;br /&gt;Scheme (let, let*, letrec, letrec*)&lt;/td&gt;   &lt;td&gt;Clojure (let, let*)&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td&gt;&lt;strong&gt;dynamic&lt;/strong&gt;&lt;/td&gt;   &lt;td&gt;Clojure (def + binding)&lt;br /&gt;CL (let + declare special, def... + let)&lt;br /&gt;ISLisp (dynamic-let)&lt;br /&gt;Newlisp (let, letn)&lt;br /&gt;Picolisp (let)&lt;/td&gt;   &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;&lt;/table&gt;&lt;/center&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;If I forgot something or made mistake, please, let me know.&lt;br /&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-3573628033525141091?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/3573628033525141091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=3573628033525141091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3573628033525141091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3573628033525141091'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/04/variable-definitions-supported-in.html' title='Variable Definitions Supported in Clojure, Common Lisp, ISLisp, newLISP, Picolisp and Scheme.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-3582113489977233478</id><published>2011-04-04T22:40:00.009+02:00</published><updated>2011-09-05T06:39:37.656+02:00</updated><title type='text'>Symmetric Support for Lexical and Dynamic Scope (Binding) in ISLisp.</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;table align="center"&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;pre style="background:white;font-size:110%;color:rgb(0,0,0);padding:20px;"&gt;In ISLisp, all combinations of global/local and lexical/dynamic &lt;br /&gt;operators for definition of variables are supported.&lt;br /&gt;&lt;br /&gt;If operator contains word "dynamic", then the binding will be dynamic. &lt;br /&gt;The operator 'dynamic' is needed for reference of such variables.&lt;br /&gt;Hence, ISLisp is only dialect of Lisp that allows all versions of &lt;br /&gt;standard example for explanation of difference between lexical&lt;br /&gt;and dynamic scope. &lt;br /&gt;&lt;br /&gt;1. Variable x is defined with lexical/dynamic global binding and&lt;br /&gt;   value 1. The function f=(lambda()x) is defined on top level.&lt;br /&gt;&lt;br /&gt;2. Variable x is defined with lexical/dynamic local binding and  &lt;br /&gt;   value 2. The function f is called from the scope of that binding. &lt;br /&gt;  &lt;br /&gt;There are four combinations:&lt;br /&gt;&lt;br /&gt;                                 global binding of x in&lt;br /&gt;                              place of function definition &lt;br /&gt;&lt;br /&gt;                               |  lexical  |  dynamic&lt;br /&gt;local            --------------+ ----------+-----------         &lt;br /&gt;binding of x         lexical   |     1     |    1&lt;br /&gt;in place of      --------------+-----------+-----------&lt;br /&gt;function call        dynamic   |     1     |    2&lt;br /&gt;                 --------------+-----------+-----------&lt;br /&gt;           &lt;br /&gt;&lt;br /&gt;Here is the code: &lt;br /&gt;&lt;br /&gt;;-----------------&lt;br /&gt;&lt;br /&gt;(defglobal x 1)&lt;br /&gt;(defun f()x)&lt;br /&gt;&lt;br /&gt;(let((x 2))&lt;br /&gt;  (print (f)))       ;=&gt;1&lt;br /&gt;&lt;br /&gt;;-----------------&lt;br /&gt;&lt;br /&gt;(defglobal x 1)&lt;br /&gt;(defun f()x)&lt;br /&gt;&lt;br /&gt;(dynamic-let((x 2))&lt;br /&gt;  (print (f)))       ;=&gt;1&lt;br /&gt;&lt;br /&gt;;-----------------&lt;br /&gt;&lt;br /&gt;(defdynamic x 1)&lt;br /&gt;(defun f()(dynamic x))&lt;br /&gt;&lt;br /&gt;(let((x 2))&lt;br /&gt;  (print (f)))       ;=&gt;1&lt;br /&gt;&lt;br /&gt;;-----------------&lt;br /&gt;&lt;br /&gt;(defdynamic x 1)&lt;br /&gt;(defun f()(dynamic x))&lt;br /&gt;&lt;br /&gt;(dynamic-let((x 2))&lt;br /&gt;  (print (f)))       ;=&gt;2&lt;br /&gt;  &lt;br /&gt;;-----------------&lt;br /&gt;&lt;br /&gt;ISLisp itself is simplified and on few places, like this one, improved &lt;br /&gt;Common Lisp. I must recommend its most well known implementation: &lt;br /&gt;&lt;b&gt;Christian Jullien&lt;/b&gt;'s Eligis OpenLisp. It is commercial Lisp compiler &lt;br /&gt;which supports more than 90 architectures - from 16 bit MSDOS to &lt;br /&gt;IBM mainframe; there is also an interpreter, which is free for &lt;br /&gt;personal use, and so well implemented that on my EVAL test it is second &lt;br /&gt;only to in assembly language written Picolisp, so OpenLisp can be &lt;br /&gt;attractive to those who like dynamic scope and eval. Support is excellent. &lt;br /&gt;&lt;br /&gt;Check it. It definitely deserves more attention.&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;a href="http://christian.jullien.free.fr/"&gt;OpenLisp site&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-3582113489977233478?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/3582113489977233478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=3582113489977233478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3582113489977233478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/3582113489977233478'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/04/symmetric-support-for-lexical-and.html' title='Symmetric Support for Lexical and Dynamic Scope (Binding) in ISLisp.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-2514151120431749991</id><published>2011-02-07T23:50:00.006+01:00</published><updated>2011-11-24T07:28:16.088+01:00</updated><title type='text'>Lambda Calculus Meta-variables Supported in my Newlisp Library.</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;table style="text-align:left;" width='640' style=""&gt;&lt;tr&gt;&lt;td style="padding:50px;margin:50px;text-align:justify;background:white;color:black;font-family:'Times New Roman',Times,serif;"&gt;&lt;br /&gt;Lambda calculus is very small and still "Turing complete" language. However, because of its simplicity and small size, it is very hard to write real programs - even harder than in assembly language. Most of the materials demonstrating programming in lambda calculus&gt; use meta-variables. For instance, TRUE is defined as &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b style="font-family:Consolas,monospace"&gt;'(^ x .(^ y . x)))&lt;/b&gt;,&lt;/center&gt;&lt;br /&gt;and after that, TRUE is used instead of given expression. If such meta-variables are used, lambda-expressions are much shorter and more readable, however, there is no essential difference, since before reduction, all meta-variables are "expanded" into real lambda-expressions. &lt;br /&gt;&lt;br /&gt;I already implemented support for reduction of lambda expressions in my Newlisp library. The code that deals with meta-variables is rather simple. It is &amp;nbsp;just recursive substitution of meta-variable's value for meta-variable itself. &lt;br /&gt;&lt;br /&gt;You can see how it works in my &lt;a href="http://kazimirmajorinc.blogspot.com/2011/02/some-basic-concepts-implemented-and.html" style="background:white;color:#c00000;text-decoration:underline"&gt;previous post, now updated&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img style="background-color:black;" src="http://www.instprog.com//blogposts/metavariables/meta.png" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-2514151120431749991?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/2514151120431749991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=2514151120431749991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/2514151120431749991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/2514151120431749991'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/02/lambda-calculus-metavariables-supported.html' title='Lambda Calculus Meta-variables Supported in my Newlisp Library.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-8830728672705491762</id><published>2011-02-05T21:49:00.009+01:00</published><updated>2011-11-24T08:20:53.878+01:00</updated><title type='text'>Some Basic Concepts Implemented and Reduced in Lambda-calculus.</title><content type='html'>&lt;center&gt;&lt;table style="text-align:left;background:white;padding:50px;margin:50px;"&gt;&lt;tr&gt;&lt;td style="text-align:left;background:white;font-weight:bold;"&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; After &lt;a href="http://kazimirmajorinc.blogspot.com/2011/02/lambda-calculus-metavariables-supported.html"&gt;support for meta-variables in lambda-calculus is integrated&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;a href="http://kazimirmajorinc.blogspot.com/2011/02/lambda-calculus-metavariables-supported.html"&gt;in my Newlisp library&lt;/a&gt;, I can easily demonstrate few fundamental &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; concepts: Boolean constants, integers, IF, predecessor, successor, &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; multiplication and recursion are implemented in lambda calculus &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; and how reduction of the expressions really looks like. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; At the end, factorial function is implemented - this time without &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; full reduction, because even reduction of (FACTORIAL 0) is too &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; large to be published in blog. However, you can try it for yourself. &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; Watch out: it is frequently said this can be done, but it is&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; rarely actually done.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LOADING LIBRARY&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;[&lt;/span&gt;&lt;span style="color:#0000cf"&gt;print.supressed&lt;/span&gt;&lt;span style="color:black;"&gt;]&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;[&lt;/span&gt;&lt;span style="color:#0000cf"&gt;println.supressed&lt;/span&gt;&lt;span style="color:black;"&gt;]&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;load&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:ff7f7f"&gt;"http://instprog.com/Instprog.default-library.lsp"&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;[&lt;/span&gt;&lt;span style="color:#0000cf"&gt;print.supressed&lt;/span&gt;&lt;span style="color:black;"&gt;]&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#c00"&gt;nil&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;[&lt;/span&gt;&lt;span style="color:#0000cf"&gt;println.supressed&lt;/span&gt;&lt;span style="color:black;"&gt;]&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#c00"&gt;nil&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;TRUE&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;y&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;TRUE&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;a&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;b&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;lt;- lambda-expression&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;span style="color:black;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;lt;- max number of expansions&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;and reductions&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;lt;- true if output is needed &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF ((TRUE a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; ((TRUE a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; (((^x.(^y.x)) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.x)) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; a&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;FALSE&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;y&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;y&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;FALSE&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;a&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;b&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF ((FALSE a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; ((FALSE a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; (((^x.(^y.y)) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.y)) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.y) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.x) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; b&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;IF&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;v&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;t&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;v&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;t&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;IF&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;a&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;b&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;c&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (((IF a) b) c)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (((IF a) b) c)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; ((((^v.(^t.(^f.((v t) f)))) a) b) c)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^v.(^t.(^f.((v t) f)))) a) b) c)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.(^y.(^z.((x y) z)))) a) b) c)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ eta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.(^y.(x y))) a) b) c)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ eta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.x) a) b) c)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((a b) c)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;IF&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;TRUE&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;a&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;b&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:88%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (((IF TRUE) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (((IF TRUE) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; ((((^v.(^t.(^f.((v t) f))))(^x.(^y.x))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^v.(^t.(^f.((v t) f))))(^x.(^y.x))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.(^y.(^z.((x y) z))))(^u.(^v.u))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ eta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.(^y.(x y)))(^u.(^v.u))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.(^y.(x y)))(^z.(^u.z))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ eta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.x)(^z.(^u.z))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.x)(^y.(^z.y))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^y.(^z.y)) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.x)) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;10. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;11. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; a&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;IF&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;FALSE&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;a&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;b&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:88%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (((IF FALSE) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (((IF FALSE) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; ((((^v.(^t.(^f.((v t) f))))(^x.(^y.y))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^v.(^t.(^f.((v t) f))))(^x.(^y.y))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.(^y.(^z.((x y) z))))(^u.(^v.v))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ eta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.(^y.(x y)))(^u.(^v.v))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.(^y.(x y)))(^z.(^u.u))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ eta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.x)(^z.(^u.u))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.x)(^y.(^z.z))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^y.(^z.z)) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.y)) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.y) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;10. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.x) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;11. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; b&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;APPLY&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;v&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;v&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;APPLY&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;a&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;b&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;----------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF ((APPLY a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; ((APPLY a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; (((^v.(^f.(v f))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^v.(^f.(v f))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.(x y))) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ eta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.x) a) b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (a b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;----------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; Y-combinator is tool that could be used for implementation of&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; recursion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;Y&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt;))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;Y&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;g&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;12&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:88%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (Y g)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (Y g)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; ((^f.((^x.(f (x x)))(^x.(f (x x))))) g)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^f.((^x.(f (x x)))(^x.(f (x x))))) g)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.((^y.(x (y y)))(^z.(x (z z))))) g)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.(g (y y)))(^z.(g (z z))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.(g (x x)))(^y.(g (y y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (g ((^y.(g (y y)))(^y.(g (y y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (g ((^x.(g (x x)))(^y.(g (y y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (g (g ((^y.(g (y y)))(^y.(g (y y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (g (g ((^x.(g (x x)))(^y.(g (y y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (g (g (g ((^y.(g (y y)))(^y.(g (y y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;10. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (g (g (g ((^x.(g (x x)))(^y.(g (y y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;11. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (g (g (g (g ((^y.(g (y y)))(^y.(g (y y))))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;12. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (g (g (g (g ((^x.(g (x x)))(^y.(g (y y))))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UNREDUCED: MAX NUMBER OF REDUCTIONS REACHED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; Take a look on the way "reduced" lambda-expression looks like; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;(Y g) is reduced to (g (Y g))! If we use some more complicated&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;formula instead of g, and normal order of reduction, then&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;g will be evaluated first.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (^f.(^x.x))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (^f.(^x.x))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^f.(^x.x))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.y))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt;))))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:94%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (SUCCESSOR ZERO)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (SUCCESSOR ZERO)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; ((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.(^y.(^z.(y ((x y) z)))))(^u.(^v.v)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^y.(^z.(y (((^u.(^v.v)) y) z))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (((^z.(^u.u)) x) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x ((^u.u) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x ((^z.z) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x y)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8. ==[ eta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.x)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ONE&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;x&lt;/span&gt;&lt;span style="color:black;"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;span style="color:black;"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:67%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (SUCCESSOR (SUCCESSOR ZERO))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (SUCCESSOR (SUCCESSOR ZERO))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; ((^n.(^f.(^x.(f ((n f) x)))))((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^n.(^f.(^x.(f ((n f) x)))))((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.(^y.(^z.(y ((x y) z)))))((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^y.(^z.(y ((((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q))) y) z))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x ((((^z.(^u.(^v.(u ((z u) v)))))(^w.(^p.p))) x) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (((^u.(^v.(u (((^w.(^p.p)) u) v)))) x) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (((^z.(^u.(z (((^v.(^w.w)) z) u)))) x) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x ((^u.(x (((^v.(^w.w)) x) u))) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x ((^z.(x (((^u.(^v.v)) x) z))) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (((^u.(^v.v)) x) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;10. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (((^z.(^u.u)) x) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;11. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((^u.u) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;12. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((^z.z) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;13. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO?&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;TRUE&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;FALSE&lt;/span&gt;&lt;span style="color:black;"&gt;))&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;TRUE&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO?&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:74%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (ZERO? ZERO)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (ZERO? ZERO)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; ((^n.((n (TRUE FALSE)) TRUE))(^f.(^x.x)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ expanded ]==&amp;gt; ((^n.((n ((^x.(^y.x))(^x.(^y.y))))(^x.(^y.x))))(^f.(^x.x)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^n.((n ((^x.(^y.x))(^x.(^y.y))))(^x.(^y.x))))(^f.(^x.x)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.((x ((^y.(^z.y))(^u.(^v.v))))(^w.(^p.w))))(^q.(^r.r)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^q.(^r.r))((^y.(^z.y))(^u.(^v.v))))(^w.(^p.w)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.y))((^z.(^u.z))(^v.(^w.w))))(^p.(^q.p)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.y)(^p.(^q.p)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.x)(^y.(^z.y)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^y.(^z.y))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.x))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO?&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;span style="color:black;"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:57%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (ZERO? (SUCCESSOR ZERO))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (ZERO? (SUCCESSOR ZERO))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; ((^n.((n (TRUE FALSE)) TRUE))((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ expanded ]==&amp;gt; ((^n.((n ((^x.(^y.x))(^x.(^y.y))))(^x.(^y.x))))((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^n.((n ((^x.(^y.x))(^x.(^y.y))))(^x.(^y.x))))((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.((x ((^y.(^z.y))(^u.(^v.v))))(^w.(^p.w))))((^q.(^r.(^x1.(r ((q r) x1)))))(^y1.(^z1.z1))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^q.(^r.(^x1.(r ((q r) x1)))))(^y1.(^z1.z1)))((^y.(^z.y))(^u.(^v.v))))(^w.(^p.w)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.(^y.(^z.(y ((x y) z)))))(^u.(^v.v)))((^w.(^p.w))(^q.(^r.r))))(^x1.(^y1.x1)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^y.(^z.(y (((^u.(^v.v)) y) z))))((^w.(^p.w))(^q.(^r.r))))(^x1.(^y1.x1)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.(x (((^z.(^u.u)) x) y))))((^v.(^w.v))(^p.(^q.q))))(^r.(^x1.r)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.(((^v.(^w.v))(^p.(^q.q)))(((^z.(^u.u))((^v.(^w.v))(^p.(^q.q)))) y)))(^r.(^x1.r)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.(((^y.(^z.y))(^u.(^v.v)))(((^w.(^p.p))((^q.(^r.q))(^x1.(^y1.y1)))) x)))(^z1.(^u1.z1)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^y.(^z.y))(^u.(^v.v)))(((^w.(^p.p))((^q.(^r.q))(^x1.(^y1.y1))))(^z1.(^u1.z1))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;10. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.x))(^z.(^u.u)))(((^v.(^w.w))((^p.(^q.p))(^r.(^x1.x1))))(^y1.(^z1.y1))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;11. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.(^z.(^u.u)))(((^v.(^w.w))((^p.(^q.p))(^r.(^x1.x1))))(^y1.(^z1.y1))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;12. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.(^y.(^z.z)))(((^u.(^v.v))((^w.(^p.w))(^q.(^r.r))))(^x1.(^y1.x1))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;13. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^y.(^z.z))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;14. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.y))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;MULTIPLY&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;m&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;m&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt;))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;MULTIPLY&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:24%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF ((MULTIPLY (SUCCESSOR (SUCCESSOR ZERO)))(SUCCESSOR (SUCCESSOR ZERO)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; ((MULTIPLY (SUCCESSOR (SUCCESSOR ZERO)))(SUCCESSOR (SUCCESSOR ZERO)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; (((^m.(^n.(^f.(m (n f)))))((^n.(^f.(^x.(f ((n f) x)))))((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x)))))((^n.(^f.(^x.(f ((n f) x)))))((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^m.(^n.(^f.(m (n f)))))((^n.(^f.(^x.(f ((n f) x)))))((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x)))))((^n.(^f.(^x.(f ((n f) x)))))((^n.(^f.(^x.(f ((n f) x)))))(^f.(^x.x)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.(^z.(x (y z)))))((^u.(^v.(^w.(v ((u v) w)))))((^p.(^q.(^r.(q ((p q) r)))))(^x1.(^y1.y1)))))((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))((^w1.(^p1.(^q1.(p1 ((w1 p1) q1)))))(^r1.(^x2.x2)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.(^z.(((^u.(^v.(^w.(v ((u v) w)))))((^p.(^q.(^r.(q ((p q) r)))))(^x1.(^y1.y1))))(y z))))((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))((^w1.(^p1.(^q1.(p1 ((w1 p1) q1)))))(^r1.(^x2.x2)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.(^y.(((^z.(^u.(^v.(u ((z u) v)))))((^w.(^p.(^q.(p ((w p) q)))))(^r.(^x1.x1))))(x y))))((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))(^q1.(^r1.r1)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^y.(((^z.(^u.(^v.(u ((z u) v)))))((^w.(^p.(^q.(p ((w p) q)))))(^r.(^x1.x1))))(((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))(^q1.(^r1.r1)))) y)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(((^y.(^z.(^u.(z ((y z) u)))))((^v.(^w.(^p.(w ((v w) p)))))(^q.(^r.r))))(((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))(^p1.(^q1.q1)))) x)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.((^z.(^u.(z ((((^v.(^w.(^p.(w ((v w) p)))))(^q.(^r.r))) z) u))))(((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))(^p1.(^q1.q1)))) x)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.((^y.(^z.(y ((((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q))) y) z))))(((^r.(^x1.(^y1.(x1 ((r x1) y1)))))((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))(^w1.(^p1.p1)))) x)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^z.((((^r.(^x1.(^y1.(x1 ((r x1) y1)))))((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))(^w1.(^p1.p1)))) x)((((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q)))(((^r.(^x1.(^y1.(x1 ((r x1) y1)))))((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))(^w1.(^p1.p1)))) x)) z))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;10. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.((((^z.(^u.(^v.(u ((z u) v)))))((^w.(^p.(^q.(p ((w p) q)))))(^r.(^x1.x1)))) x)((((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))(^v1.(^w1.w1)))(((^p1.(^q1.(^r1.(q1 ((p1 q1) r1)))))((^x2.(^y2.(^z2.(y2 ((x2 y2) z2)))))(^u2.(^v2.v2)))) x)) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;11. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(((^u.(^v.(u ((((^w.(^p.(^q.(p ((w p) q)))))(^r.(^x1.x1))) u) v)))) x)((((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))(^v1.(^w1.w1)))(((^p1.(^q1.(^r1.(q1 ((p1 q1) r1)))))((^x2.(^y2.(^z2.(y2 ((x2 y2) z2)))))(^u2.(^v2.v2)))) x)) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;12. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(((^z.(^u.(z ((((^v.(^w.(^p.(w ((v w) p)))))(^q.(^r.r))) z) u)))) x)((((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))(^u1.(^v1.v1)))(((^w1.(^p1.(^q1.(p1 ((w1 p1) q1)))))((^r1.(^x2.(^y2.(x2 ((r1 x2) y2)))))(^z2.(^u2.u2)))) x)) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;13. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.((^u.(x ((((^v.(^w.(^p.(w ((v w) p)))))(^q.(^r.r))) x) u)))((((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))(^u1.(^v1.v1)))(((^w1.(^p1.(^q1.(p1 ((w1 p1) q1)))))((^r1.(^x2.(^y2.(x2 ((r1 x2) y2)))))(^z2.(^u2.u2)))) x)) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;14. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.((^z.(x ((((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q))) x) z)))((((^r.(^x1.(^y1.(x1 ((r x1) y1)))))(^z1.(^u1.u1)))(((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))((^q1.(^r1.(^x2.(r1 ((q1 r1) x2)))))(^y2.(^z2.z2)))) x)) y))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;15. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x ((((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q))) x)((((^r.(^x1.(^y1.(x1 ((r x1) y1)))))(^z1.(^u1.u1)))(((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))((^q1.(^r1.(^x2.(r1 ((q1 r1) x2)))))(^y2.(^z2.z2)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;16. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x ((((^z.(^u.(^v.(u ((z u) v)))))(^w.(^p.p))) x)((((^q.(^r.(^x1.(r ((q r) x1)))))(^y1.(^z1.z1)))(((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))((^p1.(^q1.(^r1.(q1 ((p1 q1) r1)))))(^x2.(^y2.y2)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;17. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (((^u.(^v.(u (((^w.(^p.p)) u) v)))) x)((((^q.(^r.(^x1.(r ((q r) x1)))))(^y1.(^z1.z1)))(((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))((^p1.(^q1.(^r1.(q1 ((p1 q1) r1)))))(^x2.(^y2.y2)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;18. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (((^z.(^u.(z (((^v.(^w.w)) z) u)))) x)((((^p.(^q.(^r.(q ((p q) r)))))(^x1.(^y1.y1)))(((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))((^w1.(^p1.(^q1.(p1 ((w1 p1) q1)))))(^r1.(^x2.x2)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;19. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x ((^u.(x (((^v.(^w.w)) x) u)))((((^p.(^q.(^r.(q ((p q) r)))))(^x1.(^y1.y1)))(((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))((^w1.(^p1.(^q1.(p1 ((w1 p1) q1)))))(^r1.(^x2.x2)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;20. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x ((^z.(x (((^u.(^v.v)) x) z)))((((^w.(^p.(^q.(p ((w p) q)))))(^r.(^x1.x1)))(((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))(^q1.(^r1.r1)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;21. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (((^u.(^v.v)) x)((((^w.(^p.(^q.(p ((w p) q)))))(^r.(^x1.x1)))(((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))(^q1.(^r1.r1)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;22. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (((^z.(^u.u)) x)((((^v.(^w.(^p.(w ((v w) p)))))(^q.(^r.r)))(((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))(^p1.(^q1.q1)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;23. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((^u.u)((((^v.(^w.(^p.(w ((v w) p)))))(^q.(^r.r)))(((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))(^p1.(^q1.q1)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;24. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((^z.z)((((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q)))(((^r.(^x1.(^y1.(x1 ((r x1) y1)))))((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))(^w1.(^p1.p1)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;25. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q)))(((^r.(^x1.(^y1.(x1 ((r x1) y1)))))((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))(^w1.(^p1.p1)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;26. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((((^z.(^u.(^v.(u ((z u) v)))))(^w.(^p.p)))(((^q.(^r.(^x1.(r ((q r) x1)))))((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))(^v1.(^w1.w1)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;27. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (((^u.(^v.(u (((^w.(^p.p)) u) v))))(((^q.(^r.(^x1.(r ((q r) x1)))))((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))(^v1.(^w1.w1)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;28. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (((^z.(^u.(z (((^v.(^w.w)) z) u))))(((^p.(^q.(^r.(q ((p q) r)))))((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))(^u1.(^v1.v1)))) x)) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;29. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((^u.((((^p.(^q.(^r.(q ((p q) r)))))((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))(^u1.(^v1.v1)))) x)(((^v.(^w.w))(((^p.(^q.(^r.(q ((p q) r)))))((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))(^u1.(^v1.v1)))) x)) u))) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;30. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((^z.((((^u.(^v.(^w.(v ((u v) w)))))((^p.(^q.(^r.(q ((p q) r)))))(^x1.(^y1.y1)))) x)(((^z1.(^u1.u1))(((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))((^q1.(^r1.(^x2.(r1 ((q1 r1) x2)))))(^y2.(^z2.z2)))) x)) z))) y)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;31. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((((^u.(^v.(^w.(v ((u v) w)))))((^p.(^q.(^r.(q ((p q) r)))))(^x1.(^y1.y1)))) x)(((^z1.(^u1.u1))(((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))((^q1.(^r1.(^x2.(r1 ((q1 r1) x2)))))(^y2.(^z2.z2)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;32. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((((^z.(^u.(^v.(u ((z u) v)))))((^w.(^p.(^q.(p ((w p) q)))))(^r.(^x1.x1)))) x)(((^y1.(^z1.z1))(((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))((^p1.(^q1.(^r1.(q1 ((p1 q1) r1)))))(^x2.(^y2.y2)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;33. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (((^u.(^v.(u ((((^w.(^p.(^q.(p ((w p) q)))))(^r.(^x1.x1))) u) v)))) x)(((^y1.(^z1.z1))(((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))((^p1.(^q1.(^r1.(q1 ((p1 q1) r1)))))(^x2.(^y2.y2)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;34. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (((^z.(^u.(z ((((^v.(^w.(^p.(w ((v w) p)))))(^q.(^r.r))) z) u)))) x)(((^x1.(^y1.y1))(((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))((^w1.(^p1.(^q1.(p1 ((w1 p1) q1)))))(^r1.(^x2.x2)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;35. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((^u.(x ((((^v.(^w.(^p.(w ((v w) p)))))(^q.(^r.r))) x) u)))(((^x1.(^y1.y1))(((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))((^w1.(^p1.(^q1.(p1 ((w1 p1) q1)))))(^r1.(^x2.x2)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;36. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x ((^z.(x ((((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q))) x) z)))(((^r.(^x1.x1))(((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))(^q1.(^r1.r1)))) x)) y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;37. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x ((((^u.(^v.(^w.(v ((u v) w)))))(^p.(^q.q))) x)(((^r.(^x1.x1))(((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))((^v1.(^w1.(^p1.(w1 ((v1 w1) p1)))))(^q1.(^r1.r1)))) x)) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;38. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x ((((^z.(^u.(^v.(u ((z u) v)))))(^w.(^p.p))) x)(((^q.(^r.r))(((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))(^p1.(^q1.q1)))) x)) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;39. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (((^u.(^v.(u (((^w.(^p.p)) u) v)))) x)(((^q.(^r.r))(((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))((^u1.(^v1.(^w1.(v1 ((u1 v1) w1)))))(^p1.(^q1.q1)))) x)) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;40. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (((^z.(^u.(z (((^v.(^w.w)) z) u)))) x)(((^p.(^q.q))(((^r.(^x1.(^y1.(x1 ((r x1) y1)))))((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))(^w1.(^p1.p1)))) x)) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;41. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x ((^u.(x (((^v.(^w.w)) x) u)))(((^p.(^q.q))(((^r.(^x1.(^y1.(x1 ((r x1) y1)))))((^z1.(^u1.(^v1.(u1 ((z1 u1) v1)))))(^w1.(^p1.p1)))) x)) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;42. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x ((^z.(x (((^u.(^v.v)) x) z)))(((^w.(^p.p))(((^q.(^r.(^x1.(r ((q r) x1)))))((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))(^v1.(^w1.w1)))) x)) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;43. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x (((^u.(^v.v)) x)(((^w.(^p.p))(((^q.(^r.(^x1.(r ((q r) x1)))))((^y1.(^z1.(^u1.(z1 ((y1 z1) u1)))))(^v1.(^w1.w1)))) x)) y))))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;44. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x (((^z.(^u.u)) x)(((^v.(^w.w))(((^p.(^q.(^r.(q ((p q) r)))))((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))(^u1.(^v1.v1)))) x)) y))))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;45. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x ((^u.u)(((^v.(^w.w))(((^p.(^q.(^r.(q ((p q) r)))))((^x1.(^y1.(^z1.(y1 ((x1 y1) z1)))))(^u1.(^v1.v1)))) x)) y))))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;46. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x ((^z.z)(((^u.(^v.v))(((^w.(^p.(^q.(p ((w p) q)))))((^r.(^x1.(^y1.(x1 ((r x1) y1)))))(^z1.(^u1.u1)))) x)) y))))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;47. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x (((^u.(^v.v))(((^w.(^p.(^q.(p ((w p) q)))))((^r.(^x1.(^y1.(x1 ((r x1) y1)))))(^z1.(^u1.u1)))) x)) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;48. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x (((^z.(^u.u))(((^v.(^w.(^p.(w ((v w) p)))))((^q.(^r.(^x1.(r ((q r) x1)))))(^y1.(^z1.z1)))) x)) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;49. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x ((^u.u) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;50. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x ((^z.z) y)))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;51. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x y))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;PREDECESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;p&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;z&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;z&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;p&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;TRUE&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;p&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;TRUE&lt;/span&gt;&lt;span style="color:black;"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;z&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;z&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#0000cf"&gt;FALSE&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;PREDECESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ONE&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:33%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPANSION AND REDUCTION OF (PREDECESSOR ONE)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ original ]==&amp;gt; (PREDECESSOR ONE)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ expanded ]==&amp;gt; ((^n.(((n (^p.(^z.((z (SUCCESSOR (p TRUE)))(p TRUE)))))(^z.((z ZERO) ZERO))) FALSE))(^x.x))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ expanded ]==&amp;gt; ((^n.(((n (^p.(^z.((z ((^n.(^f.(^x.(f ((n f) x)))))(p (^x.(^y.x)))))(p (^x.(^y.x)))))))(^z.((z (^f.(^x.x)))(^f.(^x.x)))))(^x.(^y.y))))(^x.x))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;META-VARIABLES EXPANDED.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. ==[ start &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^n.(((n (^p.(^z.((z ((^n.(^f.(^x.(f ((n f) x)))))(p (^x.(^y.x)))))(p (^x.(^y.x)))))))(^z.((z (^f.(^x.x)))(^f.(^x.x)))))(^x.(^y.y))))(^x.x))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.(((x (^y.(^z.((z ((^u.(^v.(^w.(v ((u v) w)))))(y (^p.(^q.p)))))(y (^r.(^x1.r)))))))(^y1.((y1 (^z1.(^u1.u1)))(^v1.(^w1.w1)))))(^p1.(^q1.q1))))(^r1.r1))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^r1.r1)(^y.(^z.((z ((^u.(^v.(^w.(v ((u v) w)))))(y (^p.(^q.p)))))(y (^r.(^x1.r)))))))(^y1.((y1 (^z1.(^u1.u1)))(^v1.(^w1.w1)))))(^p1.(^q1.q1)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((((^x.x)(^y.(^z.((z ((^u.(^v.(^w.(v ((u v) w)))))(y (^p.(^q.p)))))(y (^r.(^x1.r)))))))(^y1.((y1 (^z1.(^u1.u1)))(^v1.(^w1.w1)))))(^p1.(^q1.q1)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^y.(^z.((z ((^u.(^v.(^w.(v ((u v) w)))))(y (^p.(^q.p)))))(y (^r.(^x1.r))))))(^y1.((y1 (^z1.(^u1.u1)))(^v1.(^w1.w1)))))(^p1.(^q1.q1)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.((y ((^z.(^u.(^v.(u ((z u) v)))))(x (^w.(^p.w)))))(x (^q.(^r.q))))))(^x1.((x1 (^y1.(^z1.z1)))(^u1.(^v1.v1)))))(^w1.(^p1.p1)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.((y ((^z.(^u.(^v.(u ((z u) v)))))((^x1.((x1 (^y1.(^z1.z1)))(^u1.(^v1.v1))))(^w.(^p.w)))))((^x1.((x1 (^y1.(^z1.z1)))(^u1.(^v1.v1))))(^q.(^r.q)))))(^w1.(^p1.p1)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.((x ((^y.(^z.(^u.(z ((y z) u)))))((^v.((v (^w.(^p.p)))(^q.(^r.r))))(^x1.(^y1.x1)))))((^z1.((z1 (^u1.(^v1.v1)))(^w1.(^p1.p1))))(^q1.(^r1.q1)))))(^x2.(^y2.y2)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x2.(^y2.y2))((^y.(^z.(^u.(z ((y z) u)))))((^v.((v (^w.(^p.p)))(^q.(^r.r))))(^x1.(^y1.x1)))))((^z1.((z1 (^u1.(^v1.v1)))(^w1.(^p1.p1))))(^q1.(^r1.q1))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;10. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.y))((^z.(^u.(^v.(u ((z u) v)))))((^w.((w (^p.(^q.q)))(^r.(^x1.x1))))(^y1.(^z1.y1)))))((^u1.((u1 (^v1.(^w1.w1)))(^p1.(^q1.q1))))(^r1.(^x2.r1))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;11. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.y)((^u1.((u1 (^v1.(^w1.w1)))(^p1.(^q1.q1))))(^r1.(^x2.r1))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;12. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.x)((^y.((y (^z.(^u.u)))(^v.(^w.w))))(^p.(^q.p))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;13. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.((y (^z.(^u.u)))(^v.(^w.w))))(^p.(^q.p)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;14. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.((x (^y.(^z.z)))(^u.(^v.v))))(^w.(^p.w)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;15. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^w.(^p.w))(^y.(^z.z)))(^u.(^v.v)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;16. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (((^x.(^y.x))(^z.(^u.u)))(^v.(^w.w)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;17. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^y.(^z.(^u.u)))(^v.(^w.w)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;18. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; ((^x.(^y.(^z.z)))(^u.(^v.v)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;19. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^y.(^z.z))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;20. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.y))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;setf&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;FACTORIAL&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;Y&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;.&lt;/span&gt;&lt;span style="color:black;"&gt;((((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;IF&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ZERO?&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ONE&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;((&lt;/span&gt;&lt;span style="color:#0000cf"&gt;MULTIPLY&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;f&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;PREDECESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;n&lt;/span&gt;&lt;span style="color:black;"&gt;))))))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;expand-and-reduce^&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;'(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;FACTORIAL&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#0000cf"&gt;SUCCESSOR&lt;/span&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;span style="color:#0000cf"&gt;ONE&lt;/span&gt;&lt;span style="color:black;"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;5000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#c00"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size:91%;"&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; Roughly ten minutes and 100000 of lines later, on my computer&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; ...&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; 2379. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x (x (x ((^u.u) y)))))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; 2380. ==[ alpha &amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x (x (x ((^z.z) y)))))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; 2381. ==[ beta &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]==&amp;gt; (^x.(^y.(x (x (x (x (x (x y))))))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REDUCED TO NORMAL FORM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;&lt;span style="color:#3f1f00;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EVERYTHING WORKS!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:#c00"&gt;exit&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-8830728672705491762?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/8830728672705491762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=8830728672705491762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/8830728672705491762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/8830728672705491762'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/02/some-basic-concepts-implemented-and.html' title='Some Basic Concepts Implemented and Reduced in Lambda-calculus.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-9206423512144299989</id><published>2011-01-31T19:10:00.005+01:00</published><updated>2011-02-14T03:48:56.798+01:00</updated><title type='text'>Some differences between lambda-calculus and Lisp (2).</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;table style="text-align:left;"&gt;&lt;tr&gt; &lt;td style="text-align:left;"&gt;&lt;br /&gt;&lt;span&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; This is the second part of &lt;a href="http://kazimirmajorinc.blogspot.com/2011/01/some-differences-between-lambda.html" /&gt;&amp;nbsp;previous post&amp;nbsp;&lt;/a&gt;. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size:150%;color:#ff7f00;"&gt;4. Evaluation in Lisp vs. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size:150%;color:#ff7f00;"&gt;reduction to normal form in lambda-calculus&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; As noted in previous post, in Lisp, evaluation of the function&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; application is defined recursively:&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. &amp;nbsp;evaluation of the function arguments is performed&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. &amp;nbsp;resulting values are assigned to the parameters of &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the function&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. &amp;nbsp;evaluation of the function body is performed&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; In lambda calculus, beta-reductions do not recurse on that way. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; There is no "automatic" beta-reductions of the argument of the &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; application. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; Because of that, in general case, one applies reductions many &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; times to achieve similar effect. How many times? Typically,&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; until further reduction is impossible; in that case, it is&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; said that expression is reduced to normal form. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; There are few differences between evaluation in Lisp and &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; reduction to normal form in lambda-calculus:&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size:125%;color:#ff7f00;"&gt;4.1. Order of reductions in &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size:125%;color:#ff7f00;"&gt;lambda-calculus is not defined&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; Lambda-calculus is not an algorithm. It is "formal system". One&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; who performs reductions - human or computer - can pick order&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; by any criteria. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size:125%;color:#ff7f00;"&gt;4.2. Lisp evaluation strategy is not best for&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size:125%;color:#ff7f00;"&gt;lambda-calculus&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; In Lisp, orther of evaluations is "from inside"; if application&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; is evaluated, for example,&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((lambda(x)(+ x x)) ((lambda(x)(* x x)) 3) 2)&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; then inner left argument, in this case &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((lambda(x)(* x x)) 3)&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; is evaluated first. That order is called "applicative order".&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; In lambda-calculus, some expressions cannot be reduced applying&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; that order of reductions. For example, &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((^x.a) ((^x.(x x)) (^x.(x x))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; would be reduced indefinitely, because reduction of &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((^x.(x x)) (^x.(x x)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; doesn't terminate. Some other evaluation strategies, for example, &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; "normal order", "from outside", as defined in lambda-Church, terminate:&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;lambda-Church&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;lambda-Church&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lambda-Church&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)))))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt; a&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size:125%;color:#ff7f00;"&gt;4.3. Reduction to normal form is more &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size:125%;color:#ff7f00;"&gt;extensive than single evaluation&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; 1. In Lisp, function, like &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(lambda(x)((lambda(y)y) x)), &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;if evaluated is either evaluated to some "compiled value", &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;i.e. it is not S-expression any more - or evaluates to &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;itself, as in Newlisp. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;In lambda-calculus, reduction is performed inside the function&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;body. For example, &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(^x.((^y.y) x)) =&amp;gt; (^x.x).&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; 2. In Lisp, result of the evaluation of the S-expression is frequently&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;in form that allows further evaluation. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((lambda(x)(list '+ 1 2 x)) 3) =&amp;gt; '(+ 1 2 3)&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;But, it is not evaluated automatically.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color:#1f0000;"&gt;;&lt;/span&gt; To be continued ...&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-9206423512144299989?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/9206423512144299989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=9206423512144299989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/9206423512144299989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/9206423512144299989'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/01/some-differences-between-lambda_31.html' title='Some differences between lambda-calculus and Lisp (2).'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-7418279989882431557</id><published>2011-01-29T13:51:00.021+01:00</published><updated>2011-02-01T13:05:41.546+01:00</updated><title type='text'>Some differences between lambda-calculus and Lisp (1).</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;table style="text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td style="text-align: left;"&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff7f00; font-size: 150%;"&gt;0. Introduction&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; At the first sight, &lt;b&gt;Lisp&lt;/b&gt; dialects appear like extensions of the &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;b&gt;lambda-calculus&lt;/b&gt;. Syntax of the two is especially similar. For &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; instance, &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((^ &lt;i&gt;x&lt;/i&gt; . &lt;i&gt;x&lt;/i&gt;) &lt;i&gt;y&lt;/i&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; in &lt;b&gt;lambda-calculus&lt;/b&gt; is very similar to&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((lambda(x)x) y)&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; in &lt;b&gt;Lisp&lt;/b&gt;. However, it turns that there are many important &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; differences between &lt;b&gt;lambda-calculus&lt;/b&gt; and &lt;b&gt;Lisp&lt;/b&gt;, some of these &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; are obvious, and others are quite subtle. In this post, I'll &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; list and comment few of these I've find to be interesting and&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; important. The post is not tutorial on &lt;b&gt;lambda-calculus&lt;/b&gt;, but &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; another view that might be interesting to those who already &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; know &lt;b&gt;lambda-calculus&lt;/b&gt;, but maybe also - to some extent - to those&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; who do not know it yet. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff7f00; font-size: 150%;"&gt;1. The notion of lambda-expression &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; There is significant difference even in basic terminology. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; For instance, this is definition of lambda-expression in Common &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;b&gt;Lisp&lt;/b&gt; Hyperspec:&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;"&lt;i&gt;&lt;b&gt;lambda expression&lt;/b&gt; n. a list which can be used in place of a &lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;function name in certain contexts to denote a function by&lt;/i&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;directly describing its behavior rather than indirectly by &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;referring to the name of an established function; its name&lt;/i&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;derives from the fact that its first element is the symbol&lt;/i&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;lambda&lt;/i&gt;."&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; In &lt;b&gt;lambda-calculus&lt;/b&gt;, lambda-expression is the name used for &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; all allowed expressions of &lt;b&gt;lambda-calculus&lt;/b&gt;. According to definition,&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; lambda expressions are:&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. variables: &lt;i&gt;a&lt;/i&gt;, &lt;i&gt;b&lt;/i&gt;, &lt;i&gt;c&lt;/i&gt;, &lt;i&gt;d&lt;/i&gt; ...&lt;i&gt; a&lt;/i&gt;1, &lt;i&gt;a&lt;/i&gt;2, ...&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. functions: (^ &lt;i&gt;v&lt;/i&gt; . &lt;i&gt;F&lt;/i&gt;), where v is any variable, &lt;i&gt;F&lt;/i&gt; any lambda-expr.&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. applications: (&lt;i&gt;E&lt;/i&gt; &lt;i&gt;F&lt;/i&gt;), where &lt;i&gt;E&lt;/i&gt; and &lt;i&gt;F&lt;/i&gt; are lambda-expressions.&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; This difference, although not essential is very confusing one. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff7f00; font-size: 150%;"&gt;2. Evaluation vs. reduction&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; In &lt;b&gt;Lisp&lt;/b&gt;, expressions are "evaluated." For instance,&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((lambda(x)x) y) =&amp;gt; value of y.&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; In &lt;b&gt;lambda-calculus&lt;/b&gt;, expressions are "reduced". Reduction &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; doesn't require replacement of the variables with values, so&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((^ &lt;i&gt;x&lt;/i&gt; . &lt;i&gt;x&lt;/i&gt;) &lt;i&gt;y&lt;/i&gt;) =&amp;gt; &lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; and not &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((^ &lt;i&gt;x&lt;/i&gt; . &lt;i&gt;x&lt;/i&gt;) &lt;i&gt;y&lt;/i&gt;) =&amp;gt; value of &lt;i&gt;y&lt;/i&gt;. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; If we remember high school math, some of the exercises were of &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; the form "simplify" or "expand", and didn't required knowledge &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; about value of the variables to be solved.&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;i&gt;x&lt;/i&gt;+1)^2 -1 ==&amp;gt; (&lt;i&gt;x&lt;/i&gt;^2+2&lt;i&gt;x&lt;/i&gt;+1) -1 =&lt;i&gt; x&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;+2)&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; Other group of exercises clearly required evaluation:&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"Find the area of the rhomboid with sides &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;a&lt;/i&gt;=4, &lt;i&gt;b&lt;/i&gt;=3, and angle of 30° between them." &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff7f00; font-size: 150%;"&gt;3. Recursiveness of evaluation in Lisp&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff7f00; font-size: 150%;"&gt;vs.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff7f00; font-size: 150%;"&gt;non-recursiveness of beta-reduction &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff7f00; font-size: 150%;"&gt;in lambda-calculus&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; There are three reductions in &lt;b&gt;lambda-calculus&lt;/b&gt;; only short&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; resume here - formal definition find somewhere else. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. &lt;b&gt;Beta-reduction&lt;/b&gt;: the application of the function&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((^&lt;i&gt;x&lt;/i&gt;.&lt;i&gt;x&lt;/i&gt;) &lt;i&gt;a&lt;/i&gt;) =&amp;gt; &lt;i&gt;a,&lt;/i&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((^&lt;i&gt;x&lt;/i&gt;.(&lt;i&gt;x&lt;/i&gt; &lt;i&gt;x&lt;/i&gt;)) &lt;i&gt;a&lt;/i&gt;) =&amp;gt; (&lt;i&gt;a&lt;/i&gt; &lt;i&gt;a&lt;/i&gt;).&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. &lt;b&gt;Alpha-reduction&lt;/b&gt;: renaming of the bounded variables&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(^&lt;i&gt;x&lt;/i&gt;.&lt;i&gt;x&lt;/i&gt;) =&amp;gt; (^&lt;i&gt;y&lt;/i&gt;.&lt;i&gt;y&lt;/i&gt;).&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. &lt;b&gt;Eta-reduction&lt;/b&gt;: elimination of the redundant function&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(^&lt;i&gt;x&lt;/i&gt;.((^&lt;i&gt;y&lt;/i&gt;.&lt;i&gt;y&lt;/i&gt;)&lt;i&gt;x&lt;/i&gt;)) =&amp;gt; (^&lt;i&gt;y&lt;/i&gt;.&lt;i&gt;y&lt;/i&gt;).&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(eta-reduction is not essential; it can be replaced&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with other two.)&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; Beta-reduction is very similar to function application&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; in &lt;b&gt;Lisp&lt;/b&gt;. However, there are significant differences.&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; In &lt;b&gt;Lisp&lt;/b&gt;, evaluation of the function application, for instance,&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((lambda(x)(x x)) (a b))&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; is performed on the following way:&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;- argument (here (a b)) is evaluated;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;- result is assigned to the parameter (here x), and &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;- body of the function, (here (x x)) is evaluated. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;- the result is returned as the result of &amp;nbsp;evaluation of &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;whole expression. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; In &lt;b&gt;lambda-calculus&lt;/b&gt;, beta-reduction of the application,&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; for instance,&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((^&lt;i&gt;x&lt;/i&gt;.(&lt;i&gt;x&lt;/i&gt; &lt;i&gt;x&lt;/i&gt;)) (&lt;i&gt;a&lt;/i&gt; &lt;i&gt;b&lt;/i&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; is performed on a following way: &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- argument (here (&lt;i&gt;a b&lt;/i&gt;)) is substituted for parameter (here &lt;i&gt;x&lt;/i&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;in the body of the function (here (&lt;i&gt;x x&lt;/i&gt;)).&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- the result of the substitution is result of beta-reduction. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; The result of the two is significantly different. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Note that beta reduction does significantly less than&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;evaluation. Beta-reduction doesn't apply itself recursively&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;on y and on (&lt;i&gt;x x&lt;/i&gt;), while evaluation in &lt;b&gt;Lisp&lt;/b&gt; does - it requires&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;evaluation of &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff7f00; font-size: 125%;"&gt;3.1. Example: &lt;b&gt;Church&lt;/b&gt;'s lambda in Newlisp&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; I'll use previous discussion to define &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lambda-Church &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; in Newlisp, so expressions using it are evaluated just like&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; lambda-expressions are beta reduced in &lt;b&gt;lambda-calculus&lt;/b&gt;. For &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; instance, I want&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((lambda-Church (x) (x x)) (a b))&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; to evalute to &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((a b)(a b)).&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; What should I do? In Newlisp, because it has fexprs, its easy. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; Expression&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(lambda-Church (x) (x x)) &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; should be evaluated to &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(lambda-macro(x)(expand (quote (x x))&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(quote x)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; and that's all. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;define-macro&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lambda-Church&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;head&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;body&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;let&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;var&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;first&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;head&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;expand&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;lambda-macro&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;var&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S3"&gt;expand&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;quote&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;body&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;quote&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;var&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;quote&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;body&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;quote&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;var&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; Let's test it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;lambda-Church&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;==&amp;gt; (lambda-macro (x) (expand (quote (x x)) (quote x)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;((&lt;/span&gt;&lt;span class="S9"&gt;lambda-Church&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;a&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;b&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;==&amp;gt; ((a b) (a b))&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; It works. In future, lambda-Church expressions can&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; be freely mixed with other Newlisp expressions. &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt; To be &lt;a href="http://kazimirmajorinc.blogspot.com/2011/01/some-differences-between-lambda_31.html"&gt;&amp;nbsp;continued&amp;nbsp;&lt;/a&gt; ...&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;&lt;span style="color: #3f3f3f;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&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/5894839-7418279989882431557?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/7418279989882431557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=7418279989882431557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/7418279989882431557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/7418279989882431557'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/01/some-differences-between-lambda.html' title='Some differences between lambda-calculus and Lisp (1).'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-5226751661975985149</id><published>2011-01-25T14:28:00.003+01:00</published><updated>2011-01-26T06:40:17.494+01:00</updated><title type='text'>Find Your Way Through Lisp Labyrinth.</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;table width='760' style="text-align:left;"&gt;&lt;tr&gt;&lt;td style="text-align:left;"&gt;&lt;br /&gt;The programmer who wants to start using Lisp -- not because of practical reasons, but because he is intrigued with language itself -- is frequently in doubt where to start. I made one proposal he might follow; that proposal reflects my values - other Lisp users might make different proposals. I'd like to hear your comments. &lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instprog.com//blogposts/find-your-way-through-Lisp-labyrinth/pic.png" /&gt;&lt;br /&gt;&lt;/table&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/center&gt;If you like this post, you might be interested in&lt;br&gt;&lt;br&gt;&lt;a href="http://kazimirmajorinc.blogspot.com/2011/01/when-were-best-days-for-lisp.html"&gt;&amp;nbsp;When were the best days for Lisp&amp;nbsp;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-5226751661975985149?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/5226751661975985149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=5226751661975985149' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/5226751661975985149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/5226751661975985149'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/01/find-your-way-through-lisp-labyrinth.html' title='Find Your Way Through Lisp Labyrinth.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-4567937212540130578</id><published>2011-01-24T10:51:00.001+01:00</published><updated>2011-01-24T10:53:10.659+01:00</updated><title type='text'>Why they say this is the most important metacircular blog post?</title><content type='html'>&lt;center&gt;&lt;table width='50%'&gt;&lt;tr&gt;&lt;td&gt;What? &lt;b&gt;Why they say this is the most important metacircular blog post?&lt;/b&gt; I have not the slightest clue. Let us &lt;a href="http://www.google.com/search?q=Why%20they%20say%20this%20is%20the%20most%20important%20metacircular%20blog%20post?"&gt;ask Google!&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-4567937212540130578?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/4567937212540130578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=4567937212540130578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/4567937212540130578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/4567937212540130578'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/01/why-they-say-this-is-most-important.html' title='Why they say this is the most important metacircular blog post?'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-2229283943607310970</id><published>2011-01-23T14:34:00.002+01:00</published><updated>2011-01-24T04:55:59.300+01:00</updated><title type='text'>When Were The Best Days for Lisp?</title><content type='html'>&lt;center&gt;&lt;br /&gt;Another question that can be answered by some Google graphs. &lt;br /&gt;According to Google Ngrams, for &lt;b&gt;Lisp&lt;/b&gt; (whole family) in late 1980's; &lt;br /&gt;for &lt;b&gt;Scheme&lt;/b&gt; alone quite a bit later. &lt;br /&gt;I'm surprised that the loss of the popularity is so great. &lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.instprog.com//blogposts/when-were-the-best-days-for-Lisp/when-were-the-best-days-for-Lisp.png" alt="Google ngram"&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;if you like this post, you might be interested in following posts:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kazimirmajorinc.blogspot.com/2009/10/why-you-do-not-use-lisp-results-of-poll.html"&gt;&amp;nbsp; Why you do not use Lisp? The results of the poll. &amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kazimirmajorinc.blogspot.com/2011/01/relative-popularity-of-lisp-dialects.html"&gt;&amp;nbsp; Relative popularity of Lisp dialects. &amp;nbsp;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-2229283943607310970?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/2229283943607310970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=2229283943607310970' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/2229283943607310970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/2229283943607310970'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/01/when-were-best-days-for-lisp.html' title='When Were The Best Days for Lisp?'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-7886249056200045991</id><published>2011-01-22T04:36:00.016+01:00</published><updated>2011-01-23T14:36:38.371+01:00</updated><title type='text'>Relative Popularity of Lisp Dialects and Some Trends, According to Google.</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;table width='60%' style="text-align:left;"&gt;&lt;tr&gt;&lt;td style="text-align:left;"&gt;Following graphs show relative popularity of some &lt;b&gt;Lisp&lt;/b&gt; dialects, according to Google, on the base of counting Google searches. I had to play for some time to find suitable graphs; some of the programming languages have names related to other notions as well - and it includes generic &lt;b&gt;Lisp&lt;/b&gt; and Scheme, but also popular Java, while C++ contains unacceptable characters. Cobol and Fortran are useful, because C# alone is so popular than it cannot be compared directly with any &lt;b&gt;Lisp&lt;/b&gt; dialect. Also, Cobol and Fortran are about as old as &lt;b&gt;Lisp&lt;/b&gt; . &lt;br /&gt;&lt;br /&gt;Although all these programming languages -- except Clojure and perhaps &lt;a href="http://kazimirmajorinc.blogspot.com/2008/12/speed-of-newlisp-eval-test-v100.html"&gt;Picolisp&lt;/a&gt; -- appear to lose popularity, note that popularity is relative to the total number of Google searches, so graph is influenced by increasing ratio of non-programmers vs. programmers among Google users. However, the comparison between different programming languages and dialects should be still valid. &lt;br /&gt;&lt;br /&gt;These graphs should be "alive" when you click; it doesn't always work, but usually it does.&lt;br /&gt;&lt;br /&gt;Make your own conclusions!&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border='1' cellpadding='10' cellspacing='10'&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;amp;up__property=empty&amp;amp;up__search_terms=c%23%7Cfortran%7Ccobol&amp;amp;up__location=empty&amp;amp;up__category=0&amp;amp;up__time_range=empty&amp;amp;up__compare_to_category=false&amp;amp;synd=open&amp;amp;w=320&amp;amp;h=350&amp;amp;lang=hr&amp;amp;title=Statistika+Google+pretraga&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border='1' cellpadding='10' cellspacing='10'&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;amp;up__property=empty&amp;amp;up__search_terms=fortran%7Ccobol%7Cclojure%7Ccommon+lisp&amp;amp;up__location=empty&amp;amp;up__category=0&amp;amp;up__time_range=empty&amp;amp;up__compare_to_category=false&amp;amp;synd=open&amp;amp;w=320&amp;amp;h=350&amp;amp;lang=hr&amp;amp;title=Statistika+Google+pretraga&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;table border='1' cellpadding='10' cellspacing='10'&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;amp;up__property=empty&amp;amp;up__search_terms=newlisp%7Cpicolisp%7Cclojure%7Ccommon+lisp&amp;amp;up__location=empty&amp;amp;up__category=0&amp;amp;up__time_range=empty&amp;amp;up__compare_to_category=false&amp;amp;synd=open&amp;amp;w=320&amp;amp;h=350&amp;amp;lang=hr&amp;amp;title=Statistika+Google+pretraga&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;table border='1' cellpadding='10' cellspacing='10'&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;amp;up__property=empty&amp;amp;up__search_terms=computer+programming&amp;amp;up__location=empty&amp;amp;up__category=0&amp;amp;up__time_range=empty&amp;amp;up__compare_to_category=false&amp;amp;synd=open&amp;amp;w=320&amp;amp;h=350&amp;amp;lang=hr&amp;amp;title=Statistika+Google+pretraga&amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;output=js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;If you like this post, maybe you'll like &lt;a href="http://kazimirmajorinc.blogspot.com/2010/03/another-difference-between-c-and-c.html"&gt;&amp;nbsp;Another difference between C++ and C#&amp;nbsp;&lt;/a&gt; or &lt;a href="http://kazimirmajorinc.blogspot.com/2009/10/why-you-do-not-use-lisp-results-of-poll.html"&gt;&amp;nbsp;Why you do not use Lisp - the results of the poll&amp;nbsp;&lt;/a&gt;.&lt;br /&gt;--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5894839-7886249056200045991?l=kazimirmajorinc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazimirmajorinc.blogspot.com/feeds/7886249056200045991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5894839&amp;postID=7886249056200045991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/7886249056200045991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5894839/posts/default/7886249056200045991'/><link rel='alternate' type='text/html' href='http://kazimirmajorinc.blogspot.com/2011/01/relative-popularity-of-lisp-dialects.html' title='Relative Popularity of Lisp Dialects and Some Trends, According to Google.'/><author><name>Kazimir Majorinc</name><uri>http://www.blogger.com/profile/03407339997157446200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/-p0kIINmIp0k/TpJmRR_vinI/AAAAAAAAAMc/8OuX_0BEomI/s220/IMG_1066.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5894839.post-9027083945805543405</id><published>2011-01-18T12:26:00.013+01:00</published><updated>2011-01-20T10:45:58.963+01:00</updated><title type='text'>Lambda Calculus Interpreter (2).</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;table style="text-align:left;"&gt;&lt;tr&gt; &lt;td style="text-align:left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;center style="font-size:90%;"&gt;&lt;br /&gt;&lt;img src="http://www.instprog.com//blogposts/lambda-calculus-interpreter-2/command-line-16.png"&gt;&lt;br /&gt;Use of &lt;i&gt;"reduce^"&lt;/i&gt; from Newlisp REPL&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;setf&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;[&lt;/span&gt;&lt;span class="S9"&gt;println.supressed&lt;/span&gt;&lt;span class="S10"&gt;]&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;[&lt;/span&gt;&lt;span class="S9"&gt;print.supressed&lt;/span&gt;&lt;span class="S10"&gt;]&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;load&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S6"&gt;"http://instprog.com/Instprog.default-library.lsp"&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;setf&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;[&lt;/span&gt;&lt;span class="S9"&gt;println.supressed&lt;/span&gt;&lt;span class="S10"&gt;]&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S3"&gt;nil&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;[&lt;/span&gt;&lt;span class="S9"&gt;print.supressed&lt;/span&gt;&lt;span class="S10"&gt;]&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S3"&gt;nil&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S1"&gt;;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;; Interpreter for lambda-calculus, described in recent posts is now &lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;; integrated in my library for Newlisp, as function "reduce^".&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;; Here is example demonstrating how it works. If you want to see&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;; implementatition details, check the library. Check the previous&lt;/span&gt;&lt;br /&gt;&lt;span class="S1"&gt;; posts also. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;reduce^&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'((&lt;/span&gt;&lt;span class="S9"&gt;^&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S2"&gt;.&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)))&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;^&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S2"&gt;.&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;y&lt;/span&gt;&lt;span class="S10"&gt;))))&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S1"&gt;;lambda-expression&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;10&lt;/span&gt;&lt;span class="S0"&gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;;maximal number of reductions,&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;;useful for non-terminating lambda-expressions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S3"&gt;true&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S1"&gt;;true if you want reduction steps are printed on screen&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S1"&gt;;nil if you want "silent" interpretation&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S3"&gt;println&lt;/span&gt;&lt;span class="S0"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;reduce^&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;'((&lt;/span&gt;&lt;span class="S9"&gt;^&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S2"&gt;.&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;)&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S10"&gt;(&lt;/span&gt;&lt;span class="S9"&gt;^&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S2"&gt;.&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S9"&gt;x&lt;/span&gt;&lt;span class="S10"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="S2"&gt;10&lt;/span&gt;&lt;span class="S0"&gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="S0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp
