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.
It doesn’t matter much for the interpretation because this is all proof-irrelevant, but what are we making admissible vs primitive rules of equality? For instance there’s no need to make reflexivity a primitive rule since it’s directly provable from the congruence rules that we have to add for every rule anyway. In addition, there should also be a principle that substitution preserves judgmental equality.
I propose we make reflexivity and substitution principles admissible.
The only benefit to taking the substitution principle as primitive I know of is it can simplify the presentation of the principles because then we just have to state them for variables, like for which directly corresponds to the universal property, which then implies the presentation we currently have using the substitution principle.
I agree that substitution into all judgment forms should definitely be admissible.
For reflexivity, I suppose we could make it admissible, but I think we would still need a “base case” rule that every variable is equal to itself, no? I’m not sure what the benefit would be of this.
Yes you need reflexivity for variables, which I was including as a kind of congruence rule. I agree that it is a small difference but I also think it’s silly to include unnecessary rules.
For the purposes of this project, there’s a good reason to reduce the number of rules, since each rule involves its own clauses in the various inductions we have to do. And we should also choose rules whose corresponding inductive clauses will be simpler. But I don’t see any reason that the inductive clauses for a general reflexivity rule would be any more complicated than that for a variable; both of them are essentially trivial since equality in the semantics is reflexive.
I generally agree with @maxsnew that minimizing the set of primitive rules usually allow to have more canonical derivations. However in the case of type equality (here), we cannot expect to have any form of canonical equality derivation, and restricting the reflexivity rule to variables makes it (ever so slightly) more complicated.
1 to 8 of 8