Zulip Chat Archive
Stream: lean4
Topic: strange proof with ge_iff_le found by exact?
Ted Hwa (May 07 2024 at 16:27):
-- returns exact ge_iff_le
example (n k: Nat)(m: Fin n)(hk: k < n): ⟨k, hk⟩ ≤ m ↔ k ≤ m := by exact?
It's strange because there are no ≥ anywhere in the statement. In fact, just using rfl works.
Kyle Miller (May 07 2024 at 17:45):
a ≥ b is an abbreviation for b ≤ a, so it's not surprising a lemma about ≥ would appear, but this does amount to an indirect way to write Iff.rfl
Kyle Miller (May 07 2024 at 17:46):
It's too bad that ge_iff_le is necessary as a lemma. The issue is that, for example, you need to do rw [ge_iff_le] first if you want to rw using a lemma that's in terms of ≤.
Ted Hwa (May 07 2024 at 18:23):
But in the lemma statement, both sides of the iff were ≤ to begin with. There was no ≥.
Yaël Dillies (May 07 2024 at 18:25):
Yes, but exact ge_iff_le does work as a proof, which is all exact? cares about
Kyle Miller (May 07 2024 at 18:35):
It care a bit more than that. The deal is that when it searches for proofs, it peeks through abbreviations. To exact?, a ≥ b looks exactly like b ≤ a.
Last updated: May 02 2025 at 03:31 UTC