<div dir="ltr"><div>Dear Wojtek,<br></div><div><br></div><div>Yes, I know about this example for recursive types which contain negative occurrences of the recursively defined type.  But I am asking about positive but not strictly positive recursive types.  An example is a type like the one Nils mentioned:</div>
<div><br></div><div>μA.∀R. (μX. (A → R) + X) → R</div><div><br></div><div>Here, the type variable A occurs to the left of an even number of arrows.  This makes it positive (the even number of negations cancel out), but not strictly positive.</div>
<div><br></div><div>Cheers,</div><div>Aaron</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Dec 18, 2013 at 11:14 AM, Wojciech Jedynak <span dir="ltr">&lt;<a href="mailto:wjedynak@gmail.com" target="_blank">wjedynak@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<div class="im"><br>
&gt; Ok, I see.  Is it known that supporting non-strictly positive types would<br>
&gt; have bad consequences in Agda?  Not that I am suggesting it -- I am just<br>
&gt; curious about what might be possible.<br>
<br>
</div>Yes, it&#39;s possible to write a non-terminating expression using such a<br>
type. For instance, take a look here:<br>
&lt;<a href="http://wiki.portal.chalmers.se/agda/pmwiki.php?n=ReferenceManual.BadInHaskell" target="_blank">http://wiki.portal.chalmers.se/agda/pmwiki.php?n=ReferenceManual.BadInHaskell</a>&gt;<br>
<br>
Best,<br>
Wojtek<br>
</blockquote></div><br></div>