-
Notifications
You must be signed in to change notification settings - Fork 298
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
[Merged by Bors] - fix(logic/{function}/basic): remove simp lemmas function.injective.eq_iff
and imp_iff_right
#6402
Conversation
function.injective.eq_iff
and imp_iff_right
Are any lemmas with statement |
But I think I'm missing something, what's being resolved with this change? It's fine to leave those as simp lemmas. |
I ask only because removing |
Right, the aliases are bors r+ |
…q_iff` and `imp_iff_right` (#6402) * `imp_iff_right` is a conditional simp lemma that matches a lot and should never successfully rewrite. * `function.injective.eq_iff` is a conditional simp lemma that matches a lot and is rarely used. Since you almost always need to give the proof `hf : function.injective f` as an argument to `simp`, you can replace it with `hf.eq_iff`. Co-authored-by: Rob Lewis <rob.y.lewis@gmail.com>
Build failed (retrying...): |
…q_iff` and `imp_iff_right` (#6402) * `imp_iff_right` is a conditional simp lemma that matches a lot and should never successfully rewrite. * `function.injective.eq_iff` is a conditional simp lemma that matches a lot and is rarely used. Since you almost always need to give the proof `hf : function.injective f` as an argument to `simp`, you can replace it with `hf.eq_iff`. Co-authored-by: Rob Lewis <rob.y.lewis@gmail.com>
Build failed (retrying...): |
bors r- |
Canceled. |
I just learned that constant R : ℕ → ℕ → Prop
@[refl] -- removing this cases the example to fail
lemma R_refl (a : ℕ) : R a a := sorry
@[simp]
lemma r_simp (a : ℕ) (ha : R a a) : id a = 0 := sorry
example : id 3 = 0 := by simp So my claim
is false, it can successfully rewrite. I still think it should go. |
bors r+ |
…q_iff` and `imp_iff_right` (#6402) * `imp_iff_right` is a conditional simp lemma that matches a lot and should never successfully rewrite. * `function.injective.eq_iff` is a conditional simp lemma that matches a lot and is rarely used. Since you almost always need to give the proof `hf : function.injective f` as an argument to `simp`, you can replace it with `hf.eq_iff`. Co-authored-by: Rob Lewis <rob.y.lewis@gmail.com>
Pull request successfully merged into master. Build succeeded: |
function.injective.eq_iff
and imp_iff_right
function.injective.eq_iff
and imp_iff_right
If the discharger tactic fails, simp calls simp to discharge hypotheses in conditional simp lemmas. |
…q_iff` and `imp_iff_right` (#6402) * `imp_iff_right` is a conditional simp lemma that matches a lot and should never successfully rewrite. * `function.injective.eq_iff` is a conditional simp lemma that matches a lot and is rarely used. Since you almost always need to give the proof `hf : function.injective f` as an argument to `simp`, you can replace it with `hf.eq_iff`. Co-authored-by: Rob Lewis <rob.y.lewis@gmail.com>
imp_iff_right
is a conditional simp lemma that matches a lot and should never successfully rewrite.function.injective.eq_iff
is a conditional simp lemma that matches a lot and is rarely used. Since you almost always need to give the proofhf : function.injective f
as an argument tosimp
, you can replace it withhf.eq_iff
.