HoldMyType<p>constructive - Why does it matter if canonicity holds for irrelevant types? - Proof Assistants Stack Exchange<br>"It is the untyped λ<br>-calculus with a proof-irrelevant “guard” type G<br>: in order to form any terms of type Λ<br> or to apply the β<br>-rule, we must first exhibit a proof-irrelevant term of type G<br>.</p><p>The theory has a model in which both G<br> and Λ<br> are interpreted as the empty set. Therefore, there are no closed terms of any type (the only types are G<br> and Λ<br> – we did not assume any extra structure). It is vacuously the case that every closed term is normalizing for any notion of normalization.</p><p>Observe also that in the non-empty context z:G<br> the untyped λ<br>-calculus springs to life because z<br> can be used to justify the construction of terms and applications of the β<br>-rule. Hence, as soon as we add a (proof-irrelevant!) constant</p><p>⊢g:G</p><p>all hell breaks loose in the empty context (of course the untyped λ<br>-calculus is not normalizing)."<br><a href="https://mathstodon.xyz/tags/logic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>logic</span></a> <br>/nbe <a href="https://proofassistants.stackexchange.com/questions/965/why-does-it-matter-if-canonicity-holds-for-irrelevant-types#:~:text=It%20is%20the,is%20not%20normalizing" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">proofassistants.stackexchange.</span><span class="invisible">com/questions/965/why-does-it-matter-if-canonicity-holds-for-irrelevant-types#:~:text=It%20is%20the,is%20not%20normalizing</span></a>).</p>