-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate feature algebra composition order #39
base: develop
Are you sure you want to change the base?
Conversation
Hi @ibbem , One thing I wonder is, what the following is used for and what it actually does. It seems to do some Agda compiler magic? Why is it necessary? open import Relation.Binary.PropositionalEquality.WithK using (≡-irrelevant) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See TODO commit
There is no magic in this module whatsoever. The K axiom (aka. uniqueness of identity proofs, short UIP) is just the following: ≡-irrelevant : ∀ {ℓ} {A : Set ℓ} → {a b : A} → (p q : a ≡ b) → p ≡ q
≡-irrelevant refl refl = refl Indeed, this is the (simplified) proof implemented in The point of the separation into By importing this module, similar to importing See Pattern Matching Without K if you want to learn more about how pattern matching implies the K axiom and how to avoid that. |
Ah ok, thanks for the explanation! When I looked up the definition Explicitly documenting the dependency on axiom K via this dependency is a good idea. 👍 I would be great if you could document why we need the axiom. |
Also, I will have a look at that paper. Thanks for the link. :) |
Ah, I was accidentally looking at primitive primEraseEquality : ∀ {a} {A : Set a} {x y : A} → x ≡ y → x ≡ y and was left confused. So it was a "misclick". 😓 |
I recommend proceeding this line of research in a fork? What do you think? (We should only fork once we settled for a name of this library.) |
I'm not quite sure if
LeftAdditive
andRightAdditive
are particular good names. Do you have any ideas for naming them?