<div dir="ltr">We have a discussion on pattern matching without K in the book:<br><div><div><br><a href="http://books.google.nl/books?id=LkDUKMv3yp0C&amp;pg=PA163">http://books.google.nl/books?id=LkDUKMv3yp0C&amp;pg=PA163</a><br>

</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Dec 1, 2013 at 9:58 PM, Martin Escardo <span dir="ltr">&lt;<a href="mailto:m.escardo@cs.bham.ac.uk" target="_blank">m.escardo@cs.bham.ac.uk</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 29/11/13 19:01, Altenkirch Thorsten wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Shouldn&#39;t the semantics simply be that you can only prove things you can<br>
prove using only J but not K?<br>
</blockquote>
<br>
I like this specification. But is it complete?<br>
<br>
Let me propose a possible elaboration of this specification.<br>
<br>
In MLTT, you don&#39;t have pattern matching: everything has to be defined<br>
in terms of predefined combinators, which include J but not K.<br>
<br>
We can imagine pattern matching as syntax sugar for definitions with<br>
combinators.<br>
<br>
So an ideal Agda compiler would translate Agda into MLTT combinators<br>
(perhaps for MLTT with various extensions for inductive definitions).<br>
<br>
In this case, the correctness criterion is simply that Streicher&#39;s<br>
combinator K is not needed for this (ideal) translation.<br>
<br>
Actually, it would be very good if Agda did work like the idealized<br>
Agda discussed above, by compilation to combinators. This would allow<br>
for proof terms that can be exported to other proof assistants, for<br>
instance, e.g. for checking that an Agda proof is a proof, without<br>
having to rely on Agda to be sure.<br>
<br>
Best,<br>
Martin<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thorsten<br>
<br>
On 29/11/2013 17:36, &quot;Andreas Abel&quot; &lt;<a href="mailto:andreas.abel@ifi.lmu.de" target="_blank">andreas.abel@ifi.lmu.de</a>&gt; wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 29.11.2013 18:11, Harley D. Eades III wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Nov 29, 2013, at 5:00 AM, Nils Anders Danielsson &lt;<a href="mailto:nad@cse.gu.se" target="_blank">nad@cse.gu.se</a>&gt;<br>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 2013-11-28 23:34, Andreas Abel wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yes, some of the fail test cases seem only to be there to document<br>
what *is* rejected.  I do not know what purpose this serves, since I<br>
would expect only stuff there that *must be* rejected.<br>
</blockquote>
<br>
The point is that the semantics of --without-K should not be changed by<br>
accident. These examples &quot;must&quot; be rejected until we make a conscious<br>
decision to change the semantics.<br>
</blockquote>
<br>
Where is the semantics of --without-K formally written down?<br>
</blockquote>
<br>
There is not much written.  The documentation of the --without-K<br>
variants is in the respective release notes.<br>
<br>
Cheers,<br>
Andreas<br>
<br>
<br>
--<br>
Andreas Abel  &lt;&gt;&lt;      Du bist der geliebte Mensch.<br>
<br>
Theoretical Computer Science, University of Munich<br>
Oettingenstr. 67, D-80538 Munich, GERMANY<br>
<br>
<a href="mailto:andreas.abel@ifi.lmu.de" target="_blank">andreas.abel@ifi.lmu.de</a><br>
<a href="http://www2.tcs.ifi.lmu.de/~abel/" target="_blank">http://www2.tcs.ifi.lmu.de/~<u></u>abel/</a><br>
______________________________<u></u>_________________<br>
Agda mailing list<br>
<a href="mailto:Agda@lists.chalmers.se" target="_blank">Agda@lists.chalmers.se</a><br>
<a href="https://lists.chalmers.se/mailman/listinfo/agda" target="_blank">https://lists.chalmers.se/<u></u>mailman/listinfo/agda</a><br>
</blockquote>
<br>
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.<br>


<br>
This message has been checked for viruses but the contents of an attachment<br>
may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.<br>


<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
Agda mailing list<br>
<a href="mailto:Agda@lists.chalmers.se" target="_blank">Agda@lists.chalmers.se</a><br>
<a href="https://lists.chalmers.se/mailman/listinfo/agda" target="_blank">https://lists.chalmers.se/<u></u>mailman/listinfo/agda</a><br>
<br>
</blockquote>
______________________________<u></u>_________________<br>
Agda mailing list<br>
<a href="mailto:Agda@lists.chalmers.se" target="_blank">Agda@lists.chalmers.se</a><br>
<a href="https://lists.chalmers.se/mailman/listinfo/agda" target="_blank">https://lists.chalmers.se/<u></u>mailman/listinfo/agda</a><br>
</blockquote></div><br></div>