<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>my intuition was there is nothing special about system F, and all terms and types should be just able to fit into Set along. and indeed, someone has done the work:
<a href="https://github.com/sstucki/system-f-agda" class="OWAAutoLink" id="LPlnk61793" previewremoved="true">
https://github.com/sstucki/system-f-agda</a><br>
</p>
<p><br>
</p>
<p>regarding stronger calculus, i do not see why they are not possible, except for dependent type itself(i.e. the strongest calculus of the cube). For example, it's straightforward to formalize Fsub in Coq:
<a href="https://github.com/plclub/metalib/tree/master/Fsub" class="OWAAutoLink" id="LPlnk708107" previewremoved="true">
https://github.com/plclub/metalib/tree/master/Fsub</a></p>
<p><br>
</p>
<p>The modelling calculus of Scala, (dependent object types, DOT), for example, has type dependent types, type dependent values, and a weak form of value dependent types, which can also be proved with terms and types in Set:
<a href="https://github.com/samuelgruetter/dot-calculus" class="OWAAutoLink" id="LPlnk43114" previewremoved="true">
https://github.com/samuelgruetter/dot-calculus</a> <a href="https://github.com/amaurremi/dot-calculus" class="OWAAutoLink" id="LPlnk586999" previewremoved="true">https://github.com/amaurremi/dot-calculus</a><br>
</p>
<p><br>
</p>
<p>Though in Coq, the terms and types are defined in Set, which roughly corresponds to Set in Agda, and that hopefully means you won't need to go above Set 2 to prove it's sound.</p>
<p><br>
</p>
<p>For dependent type itself, I do not think it's possible, due to Goedel's incompleteness theorem. However, someone did it in Coq (which i've not checked, but, well, it's there)
<a href="https://github.com/coq-contribs/coq-in-coq" class="OWAAutoLink" id="LPlnk842179" previewremoved="true">
https://github.com/coq-contribs/coq-in-coq</a> . The reason why it might be doable in Coq, is Prop type in Coq is impredicative, and therefore the calculus underneath (caculus of inductive constructions, CIC) is stronger than calculus of constructions(CoC).
 Indeed, the author represents typ to be Prop because he had no choice. <a href="https://github.com/coq-contribs/coq-in-coq/blob/master/Types.v" class="OWAAutoLink" id="LPlnk584766" previewremoved="true">https://github.com/coq-contribs/coq-in-coq/blob/master/Types.v</a></p>
<p><br>
</p>
<p>Hope that helps.<br>
</p>
<p><br>
</p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif, "EmojiFont", "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div><font style="font-size:12pt" size="3"><span style="color:rgb(69,129,142)"><span style="font-family:trebuchet ms,sans-serif"><b>Sincerely Yours,<br>
</b></span></span></font></div>
<font style="font-size:12pt" size="3"><span style="color:rgb(69,129,142)"><span style="font-family:trebuchet ms,sans-serif"><b><br>
Jason Hu<a target="_blank" id="LPNoLP"></a></b></span></span></font> </div>
</div>
</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 How Si Yu <howseeu@gmail.com><br>
<b>Sent:</b> April 4, 2018 10:36:21 PM<br>
<b>To:</b> agda@lists.chalmers.se<br>
<b>Subject:</b> [Agda] Encoding higher lambda calculus in agda</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hi,<br>
<br>
There are numerous implementations of untyped lambda calculus and<br>
simply typed lambda calculus in Agda online. However, I can't find any<br>
mention of encoding of other "higher" lambda calculus in the lambda<br>
cube like ë2 or ëP in Agda. Is it because they are inherently<br>
impredicative and can't be represented in Agda?<br>
<br>
Thanks,<br>
Si Yu<br>
_______________________________________________<br>
Agda mailing list<br>
Agda@lists.chalmers.se<br>
<a href="https://lists.chalmers.se/mailman/listinfo/agda">https://lists.chalmers.se/mailman/listinfo/agda</a><br>
</div>
</span></font></div>
</body>
</html>