Want to take part in these discussions? Sign in if you have an account, or apply for one below
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
Started a general page about beta reduction, and a stub for eta reduction but I have to run now.
Now a bit more at eta reduction.
Since the version with symbols is definitely ‘-reduction’, I’ve moved the name without symbols to beta-reduction (with a hyphen). This triggers the cache bug, so I mention it here. The same with eta-reduction … but can I try to convince you that -reduction is wrong and -expansion is correct? ETA: No, the cache bug did not appear!
I put in a stub for alpha-equivalence.
Thanks. I’m glad you brought up the reduction/expansion issue. What about calling the page eta-equivalence or eta-conversion? I know there are situations in which -expansion seems to match better with -reduction than -reduction does (looking like the unit and multiplication of a monad or something, I don’t recall the details), but I don’t recall being convinced that that is a universal phenomenon. Is there a reason to believe that -conversion has a well-defined “correct” directionality at all?
Also, by the “trivial type” do you mean the unit type? If so, I don’t understand your remark about it. Are you thinking of a positive or a negative definition of the trivial type?
I like eta-conversion so moved the page. However, I understand that term a bit differently from you; see my edits.
Yes, I meant the unit type, defined negatively. I altered your material on the product type to produce material on the unit type, so you can see for yourself.
Thanks; your meaning of -conversion is better. And I see what you mean about the unit type. Interestingly, the positive definition of the unit type does have a well-defined -reduction; I added some details to unit type.
Now I’m wondering about the empty type. Its positive presentation is “dual” to the negative unit type in that there are no constructors, and a single eliminator
So there can again be no -reduction, but it seems like the -conversion should be , which makes sense both as an expansion and as a reduction. Am I wrong? If not, why the asymmetry, I wonder? Is it because we’ve already broken the symmetry by formulating everything with variables and terms instead of covariables and coterms?
Ah, no, I’m wrong. The -conversion for the positive empty type says that (in the context of a term ), any term of any type is convertible to . This also only makes sense as an expansion.
I’ve updated empty type with this, and also corrected the -rule at sum type in the corresponding way.
I added some comments to eta-conversion about propositional -conversions and how they are related to dependent eliminators. I also expanded function type and dependent product type to describe not only the usual negative presentations, but also the “higher-order” positive presentations and their relationship.
I’ve never seen the positive approach to dependent product types seriously considered, although it’s implicit (in my opinion) in Martin-Löf’s earliest work. So I’m glad to see that people have worked it out (even though I don’t really like it for requiring a stronger metatheory).
Yeah, the stronger metatheory is a shame. But as Richard’s paper shows, the resulting dependent eliminator sheds a useful light on the propositional eta conversion rule.
I added a couple paragraphs to beta-reduction about its informal usage for proofs.
1 to 13 of 13