Skip to content
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

Not-irrelevant proofs? #253

Open
goens opened this issue Apr 23, 2024 · 1 comment
Open

Not-irrelevant proofs? #253

goens opened this issue Apr 23, 2024 · 1 comment

Comments

@goens
Copy link
Collaborator

goens commented Apr 23, 2024

In EffectKind.lean we have a bunch of lemmata that take proofs of known theorems as statements, e.g.

@[simp] theorem liftEffect_pure_impure [Monad m] (hle : pure ≤ impure) :
    liftEffect hle (α := α) (m := m) = Pure.pure 

Can we get rid of these argument like hle which is a theorem (pure_le impure)? @bollu suggests making them default arguments, we can also look into that option.

@bollu
Copy link
Collaborator

bollu commented Apr 23, 2024

@hargoniX gave me an explanation of how something similar bit him:

It's because of the type of the proof, the type of the proof itself contains an occurence of the term that we generalize over, let's call this term t when we generalize t into t' the generalize tactic does of course not see that it has to fix this proof term so we end up with a proof about t where now a proof about t' is expected. In an extensional type theory this would of course be no problem but we are not extensional^^

If we s/generalize/rewrite, this explains the folklore that @alexkeizer was told.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants