<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Formalized Mathematics</title>
	<atom:link href="http://slawekk.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://slawekk.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 20 Oct 2009 05:31:17 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Formalpedia by Jeremy</title>
		<link>http://slawekk.wordpress.com/2009/06/15/formalpedia/#comment-197</link>
		<dc:creator>Jeremy</dc:creator>
		<pubDate>Tue, 20 Oct 2009 05:31:17 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=362#comment-197</guid>
		<description>Hi - thanks for the interest!  I&#039;ve just resumed work on Formalpedia after a several month hiatus.  The &quot;Arith.fact&quot; noise has been cleaned up and a discussion forum has been added, among other improvements; many more are on the way.  Feedback is welcome and appreciated.  ~Jeremy</description>
		<content:encoded><![CDATA[<p>Hi &#8211; thanks for the interest!  I&#8217;ve just resumed work on Formalpedia after a several month hiatus.  The &#8220;Arith.fact&#8221; noise has been cleaned up and a discussion forum has been added, among other improvements; many more are on the way.  Feedback is welcome and appreciated.  ~Jeremy</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Markov chains by Markov chains &#8211; simulation &#171; Formalized Mathematics</title>
		<link>http://slawekk.wordpress.com/2009/06/05/markov-chains/#comment-186</link>
		<dc:creator>Markov chains &#8211; simulation &#171; Formalized Mathematics</dc:creator>
		<pubDate>Sat, 01 Aug 2009 01:35:56 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=335#comment-186</guid>
		<description>[...] my post on Markov chains I defined a transition function on paths for a simple random walk that goes up or down by one with [...]</description>
		<content:encoded><![CDATA[<p>[...] my post on Markov chains I defined a transition function on paths for a simple random walk that goes up or down by one with [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Haskell in Q by slawekk</title>
		<link>http://slawekk.wordpress.com/2009/07/24/haskell-in-q/#comment-184</link>
		<dc:creator>slawekk</dc:creator>
		<pubDate>Sun, 26 Jul 2009 13:45:02 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=391#comment-184</guid>
		<description>&lt;blockquote&gt;
Intersperse can be more succinctly written as:

intersperse:{raze ((-1 _ y),\:x),-1#y}
&lt;/blockquote&gt;

This works only of you intersperse an atom into a list. If you intersperse a list into a list of lists it doesn&#039;t do the right thing:
&lt;pre&gt;
q)intersperse [(0;0);((1;1);(2;2);(3;3))]
1 1 0 0 2 2 0 0 3 3
&lt;/pre&gt;

Also &lt;code&gt;zip:(,’)&lt;/code&gt; zips correctly only lists of atoms. 

&lt;pre&gt;
q)zip:(,&#039;)
q)first first zip [((1;1);(2;2);(3;3)); ((4;4);(5;5);(6;6))] 
1
q)zip: { x {(x;y)}&#039; y }
q)first first zip [((1;1);(2;2);(3;3)); ((4;4);(5;5);(6;6))] 
1 1
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<blockquote><p>
Intersperse can be more succinctly written as:</p>
<p>intersperse:{raze ((-1 _ y),\:x),-1#y}
</p></blockquote>
<p>This works only of you intersperse an atom into a list. If you intersperse a list into a list of lists it doesn&#8217;t do the right thing:</p>
<pre>
q)intersperse [(0;0);((1;1);(2;2);(3;3))]
1 1 0 0 2 2 0 0 3 3
</pre>
<p>Also <code>zip:(,’)</code> zips correctly only lists of atoms. </p>
<pre>
q)zip:(,')
q)first first zip [((1;1);(2;2);(3;3)); ((4;4);(5;5);(6;6))]
1
q)zip: { x {(x;y)}' y }
q)first first zip [((1;1);(2;2);(3;3)); ((4;4);(5;5);(6;6))]
1 1
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Haskell in Q by Danno</title>
		<link>http://slawekk.wordpress.com/2009/07/24/haskell-in-q/#comment-183</link>
		<dc:creator>Danno</dc:creator>
		<pubDate>Fri, 24 Jul 2009 22:17:52 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=391#comment-183</guid>
		<description>Hi there!  Good to see the ranks of Q are getting more programmers oriented functionally.

I&#039;m more of a Haskell enthusiast than serious practitioner, but I have been programming in Q for a while.  Thought I&#039;d comment a little on the translations you&#039;ve provided.

There are built in functions for head and tail (first and last).

Intersperse can be more succinctly written as:

intersperse:{raze ((-1 _ y),\:x),-1#y}

This uses the each-left, which works like the apostrophe each adverb, but only across the left join element.

If you&#039;d like to turn a function composition into a function itself, you need only surround it with parentheses.  So, for example, zip becomes:

zip:(,&#039;)

Also, there is a built in map function: each

q)enlist each 1 2 3
1
2
3
q)enlist each 1
,1

If you haven&#039;t already, you should email Simon or Charlie about getting access to the K4 list box.</description>
		<content:encoded><![CDATA[<p>Hi there!  Good to see the ranks of Q are getting more programmers oriented functionally.</p>
<p>I&#8217;m more of a Haskell enthusiast than serious practitioner, but I have been programming in Q for a while.  Thought I&#8217;d comment a little on the translations you&#8217;ve provided.</p>
<p>There are built in functions for head and tail (first and last).</p>
<p>Intersperse can be more succinctly written as:</p>
<p>intersperse:{raze ((-1 _ y),\:x),-1#y}</p>
<p>This uses the each-left, which works like the apostrophe each adverb, but only across the left join element.</p>
<p>If you&#8217;d like to turn a function composition into a function itself, you need only surround it with parentheses.  So, for example, zip becomes:</p>
<p>zip:(,&#8217;)</p>
<p>Also, there is a built in map function: each</p>
<p>q)enlist each 1 2 3<br />
1<br />
2<br />
3<br />
q)enlist each 1<br />
,1</p>
<p>If you haven&#8217;t already, you should email Simon or Charlie about getting access to the K4 list box.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Formalpedia by anon</title>
		<link>http://slawekk.wordpress.com/2009/06/15/formalpedia/#comment-169</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Thu, 18 Jun 2009 16:25:09 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=362#comment-169</guid>
		<description>A little bit of research shows that the Formalpedia project was started by Jeremy Bem @ http://jeremy-bem.org/ . The project seems to be in its early stages, but I agree with you about the lack of any venuee for feedback.</description>
		<content:encoded><![CDATA[<p>A little bit of research shows that the Formalpedia project was started by Jeremy Bem @ <a href="http://jeremy-bem.org/" rel="nofollow">http://jeremy-bem.org/</a> . The project seems to be in its early stages, but I agree with you about the lack of any venuee for feedback.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Probability monad by anon</title>
		<link>http://slawekk.wordpress.com/2009/05/31/probability-monad/#comment-166</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Tue, 09 Jun 2009 15:11:23 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=295#comment-166</guid>
		<description>From what I can tell, SETL is a dinamically typed language with sets and tuples as its basic data types.  It may be more powerful than Haskell in some sense, but we already tried that kind of thing with LISP and look whay happened...

In my view, the best candidates for &quot;very high level&quot; languages with a mathematical foundation are dependently typed languages--such as Coq, Agda and Epigram.  These are conceptually very similar to Haskell, and Coq programs can be trivially translated to Haskell or ML code.</description>
		<content:encoded><![CDATA[<p>From what I can tell, SETL is a dinamically typed language with sets and tuples as its basic data types.  It may be more powerful than Haskell in some sense, but we already tried that kind of thing with LISP and look whay happened&#8230;</p>
<p>In my view, the best candidates for &#8220;very high level&#8221; languages with a mathematical foundation are dependently typed languages&#8211;such as Coq, Agda and Epigram.  These are conceptually very similar to Haskell, and Coq programs can be trivially translated to Haskell or ML code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Probability monad by slawekk</title>
		<link>http://slawekk.wordpress.com/2009/05/31/probability-monad/#comment-165</link>
		<dc:creator>slawekk</dc:creator>
		<pubDate>Mon, 08 Jun 2009 15:36:35 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=295#comment-165</guid>
		<description>Very interesting.  I was always wandering why there is no programming language based on set theory and it turns out there is one! Please let me know when the compiler is ready for beta testing.</description>
		<content:encoded><![CDATA[<p>Very interesting.  I was always wandering why there is no programming language based on set theory and it turns out there is one! Please let me know when the compiler is ready for beta testing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Probability monad by Markov chains &#171; Formalized Mathematics</title>
		<link>http://slawekk.wordpress.com/2009/05/31/probability-monad/#comment-163</link>
		<dc:creator>Markov chains &#171; Formalized Mathematics</dc:creator>
		<pubDate>Fri, 05 Jun 2009 02:00:55 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=295#comment-163</guid>
		<description>[...] Formalized Mathematics Just another WordPress.com weblog      &#171; Probability&#160;monad [...]</description>
		<content:encoded><![CDATA[<p>[...] Formalized Mathematics Just another WordPress.com weblog      &laquo; Probability&nbsp;monad [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Probability monad by daveshields</title>
		<link>http://slawekk.wordpress.com/2009/05/31/probability-monad/#comment-160</link>
		<dc:creator>daveshields</dc:creator>
		<pubDate>Wed, 03 Jun 2009 11:56:09 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=295#comment-160</guid>
		<description>While Haskell is powerful, SETL, which has finite sets as the fundamental date type, is of course more powerful.

I&#039;m writing a new SETL compiler now. When done, it will have even more expressive power than Haskell.

It will also, I promise, be *much* faster.

You can learn more about this work at my blog:

http://daveshields.wordpress.com

See especially the post on Moore&#039;s Law and Software. All the rest is detail.

thanks,dave</description>
		<content:encoded><![CDATA[<p>While Haskell is powerful, SETL, which has finite sets as the fundamental date type, is of course more powerful.</p>
<p>I&#8217;m writing a new SETL compiler now. When done, it will have even more expressive power than Haskell.</p>
<p>It will also, I promise, be *much* faster.</p>
<p>You can learn more about this work at my blog:</p>
<p><a href="http://daveshields.wordpress.com" rel="nofollow">http://daveshields.wordpress.com</a></p>
<p>See especially the post on Moore&#8217;s Law and Software. All the rest is detail.</p>
<p>thanks,dave</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Probability monad by wren ng thornton</title>
		<link>http://slawekk.wordpress.com/2009/05/31/probability-monad/#comment-159</link>
		<dc:creator>wren ng thornton</dc:creator>
		<pubDate>Wed, 03 Jun 2009 10:11:20 +0000</pubDate>
		<guid isPermaLink="false">http://slawekk.wordpress.com/?p=295#comment-159</guid>
		<description>You don&#039;t really need a notion of types. In ZFC (or even CT) all you need to say is that you have a set (or category) of thingees. As far as the theory goes, we don&#039;t care what a thingee really is. The only time it matters is when we want to ascribe a certain interpretation to the set/category, such as when we want to prove that it does indeed have the structure we&#039;re imputing to it.

But this is run of the mill stuff in ZFC. Consider how one would define a relation on a set. Theoretically we can describe relations in ZFC terminology, and we can certainly discuss the properties of one if we have it, but in order to actually have a real live relation on a real live set we need to appeal to some oracle which knows what thingees actually are (unless we&#039;re dealing with simple relations that never inspect their arguments). Only these implementation oracles need to know about &quot;types&quot;, but even then we can usually get away without it. In my example we don&#039;t actually have to know what a type is, we only need to know enough to be able to discuss that a thingee happens to be a function (from some carrier back to the same). Set theory has functions, it just describes them as being from one set into another. Functions can be elements in a set or a model just like anything else, nothing to see here.

Indeed, category theory &lt;i&gt;is&lt;/i&gt; foundational just as much as ZFC is. It&#039;s just that when CT discusses &quot;sets with additional structure&quot; it&#039;s interested in that structure rather than in what&#039;s beneath it. Given the focus on structure-preserving transformations, what&#039;s actually beneath frequently doesn&#039;t matter anyhow. For someone steeped in set theory it feels like everything is turned on its ear because set theory is so very concrete and so very interested in the little elements rather than in the big structure. But it&#039;s in focusing on the big structure irrespective of the particular elements where all the revelations of CT come from.

As far as proof libraries go, I&#039;m not familiar enough with the libraries for theorem provers to offer any suggestions. However, there are things like the &lt;a href=&quot;http://hackage.haskell.org/cgi-bin/hackage-scripts/package/category-extras&quot; rel=&quot;nofollow&quot;&gt;category-extras&lt;/a&gt; package in Haskell which implements a great deal of theory, including features like passing around proofs of properties on a type. Perhaps that&#039;s too far across the Curry--Howard isomorphism for what you&#039;re interested in, but it&#039;s out there. (Much of the attendant documentation was on the developer&#039;s blog which crashed a while back.) There&#039;s also various work on &lt;a href=&quot;http://linux.tcs.inf.tu-dresden.de/~voigt/ft/&quot; rel=&quot;nofollow&quot;&gt;generating free theorems&lt;/a&gt;, which is more type theory than category theory proper, though there&#039;re deep connections between them.</description>
		<content:encoded><![CDATA[<p>You don&#8217;t really need a notion of types. In ZFC (or even CT) all you need to say is that you have a set (or category) of thingees. As far as the theory goes, we don&#8217;t care what a thingee really is. The only time it matters is when we want to ascribe a certain interpretation to the set/category, such as when we want to prove that it does indeed have the structure we&#8217;re imputing to it.</p>
<p>But this is run of the mill stuff in ZFC. Consider how one would define a relation on a set. Theoretically we can describe relations in ZFC terminology, and we can certainly discuss the properties of one if we have it, but in order to actually have a real live relation on a real live set we need to appeal to some oracle which knows what thingees actually are (unless we&#8217;re dealing with simple relations that never inspect their arguments). Only these implementation oracles need to know about &#8220;types&#8221;, but even then we can usually get away without it. In my example we don&#8217;t actually have to know what a type is, we only need to know enough to be able to discuss that a thingee happens to be a function (from some carrier back to the same). Set theory has functions, it just describes them as being from one set into another. Functions can be elements in a set or a model just like anything else, nothing to see here.</p>
<p>Indeed, category theory <i>is</i> foundational just as much as ZFC is. It&#8217;s just that when CT discusses &#8220;sets with additional structure&#8221; it&#8217;s interested in that structure rather than in what&#8217;s beneath it. Given the focus on structure-preserving transformations, what&#8217;s actually beneath frequently doesn&#8217;t matter anyhow. For someone steeped in set theory it feels like everything is turned on its ear because set theory is so very concrete and so very interested in the little elements rather than in the big structure. But it&#8217;s in focusing on the big structure irrespective of the particular elements where all the revelations of CT come from.</p>
<p>As far as proof libraries go, I&#8217;m not familiar enough with the libraries for theorem provers to offer any suggestions. However, there are things like the <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/category-extras" rel="nofollow">category-extras</a> package in Haskell which implements a great deal of theory, including features like passing around proofs of properties on a type. Perhaps that&#8217;s too far across the Curry&#8211;Howard isomorphism for what you&#8217;re interested in, but it&#8217;s out there. (Much of the attendant documentation was on the developer&#8217;s blog which crashed a while back.) There&#8217;s also various work on <a href="http://linux.tcs.inf.tu-dresden.de/~voigt/ft/" rel="nofollow">generating free theorems</a>, which is more type theory than category theory proper, though there&#8217;re deep connections between them.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
