Theorems / mh_sets_80248a
Mathlib held-out
Sets · medium
theorem lg_target {α : Type u_1} {β : Type u_2} [Preorder β] {f : Finset α → β} [DecidableEq α] : StrictMono f ↔ ∀ (s : Finset α) ⦃a : α⦄, a ∉ s → f s < f (insert a s) := by- Mathlib declaration
- Finset.strictMono_iff_forall_lt_insert
- Held-out module
- Mathlib.Data.Finset.Interval
- Banned modules (itself + downstream)
- 2
- Reference proof premises (reachable / held-out)
- 1 / 1
Traces
Each configuration's full record: what was retrieved, what the model wrote, what Lean said back.
Not verified1 model calls · 1 Lean checks · $0.00009
Attempts
- sample 0 · round 0Wrong tactic3.7 s model time
Proof intro h split · intro s a ha have : a ∉ s := ha exact h s a this · intro h' intros s t hst apply le_antisymm · intro x rw [finsupp.insert_le_iff] apply h' exact hst · intro x rw [finsupp.insert_le_iff] apply h' exact hst.symm exact le_refl _What Lean printed (this is all the model sees on repair) 4:8: error: Tactic `introN` failed: There are no additional binders or `let` bindings in the goal to introduce α : Type u_1 β : Type u_2 inst✝¹ : Preorder β f : Finset α → β inst✝ : DecidableEq α ⊢ StrictMono f ↔ ∀ (s : Finset α) ⦃a : α⦄, a ∉ s → f s < f (insert a s)
Reference proof
Mathlib's own source for this declaration, shown for comparison. It may use lemmas the prover is not allowed to use.
/-- A function `f` from `Finset α` is strictly monotone if and only if `f s < f (insert a s)` for all `s` and `a ∉ s`. -/ lemma strictMono_iff_forall_lt_insert : StrictMono f ↔ ∀ s ⦃a⦄, a ∉ s → f s < f (insert a s) := by simp [strictMono_iff_forall_lt_cons]