<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
I once saw someone else's code where termination checker also failed with no good reason. the author worked around it by turning on K. could you see if K works around it for you?<br>
</div>
<div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="Signature">
<div>
<div></div>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif;">
<font size="3"><b>Thanks,</b></font></div>
<div dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif;">
<font size="3"><b>Jason Hu</b></font></div>
<div dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif;">
<font size="3"><b><a href="https://hustmphrrr.github.io/">https://hustmphrrr.github.io/</a></b></font><br>
<font size="3"><b></b></font><font style="font-size:12pt" size="3"><span style="color: rgb(69, 129, 142);"><span style="font-family:trebuchet ms,sans-serif"><b><a target="_blank"></a></b></span></span></font></div>
</div>
</div>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Agda <agda-bounces@lists.chalmers.se> on behalf of Thorsten Altenkirch <Thorsten.Altenkirch@nottingham.ac.uk><br>
<b>Sent:</b> August 15, 2020 9:25 AM<br>
<b>To:</b> agda@lists.chalmers.se <agda@lists.chalmers.se><br>
<b>Subject:</b> [Agda] Weird termination problem</font>
<div> </div>
</div>
<style>
<!--
@font-face
{font-family:"Cambria Math"}
@font-face
{font-family:Calibri}
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Calibri",sans-serif}
span.x_EmailStyle17
{font-family:"Calibri",sans-serif;
color:windowtext}
.x_MsoChpDefault
{font-size:12.0pt;
font-family:"Calibri",sans-serif}
@page WordSection1
{margin:72.0pt 72.0pt 72.0pt 72.0pt}
div.x_WordSection1
{}
-->
</style>
<div lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="x_WordSection1">
<p class="x_MsoNormal"><span style="font-size:11.0pt">Hi,</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">I just transferred some code form my lecture notes to my book draft and now the termination checker complains where there was no problem before:</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">thm : {P : Form} → ([] </span>
<span style="font-size:11.0pt; font-family:"Cambria Math",serif">⊢</span><span style="font-size:11.0pt"> P)
</span><span style="font-size:11.0pt; font-family:"Cambria Math",serif">⇔</span><span style="font-size:11.0pt">
</span><span style="font-size:11.0pt; font-family:"Cambria Math",serif">⊢</span><span style="font-size:11.0pt">sk P</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">proj₁ thm d = skC→sk (</span><span style="font-size:11.0pt; font-family:"Cambria Math",serif">⊢</span><span style="font-size:11.0pt">→</span><span style="font-size:11.0pt; font-family:"Cambria Math",serif">⊢</span><span style="font-size:11.0pt">skC
d)</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">proj₂ thm SS = S-d</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">proj₂ thm KK = K-d</span></p>
<p class="x_MsoNormal"><span lang="DE" style="font-size:11.0pt">proj₂ thm (app d e) = app (proj₂ thm d) (proj₂ thm e)</span></p>
<p class="x_MsoNormal"><span lang="DE" style="font-size:11.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">so here </span><span style="font-size:11.0pt; font-family:"Cambria Math",serif">⊢</span><span style="font-size:11.0pt">sk P is inductively defined and there should be no problem – and indeed there wasn’t
before. But now</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">Termination checking failed for the following functions:</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt"> thm</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">Problematic calls:</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt"> proj₂ thm e</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">I can’t make any sense out of it. Has anybody an inkling what could have happened or any advice what I could do to fix it.</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">I can prove the <= direction on its own with no problems. The definition of
</span><span style="font-size:11.0pt; font-family:"Cambria Math",serif">⇔ is exactly the same as before and it doesn’t help if I expand it. Also the definition of products is the same as before.
</span><span style="font-size:11.0pt"></span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">If you want to have a look at the code please let me know – I will give you access to the repo.</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">Cheers,</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">Thorsten</span></p>
</div>
<pre>
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 contact the sender and delete the email and
attachment.
Any views or opinions expressed by the author of this email do not
necessarily reflect the views of the University of Nottingham. Email
communications with the University of Nottingham may be monitored
where permitted by law.
</pre>
</div>
</body>
</html>