Theorems / mh_cate_ea624f
Mathlib held-out
Category theory · easy
theorem lg_target {α : Type u_1} [Preorder α] {i j : α} (h : i ≤ j) : Set.initialSegIicIicOfLE h = Set.initialSegIicIicOfLE h := by- Mathlib declaration
- Set.initialSegIicIicOfLE.congr_simp
- Held-out module
- Mathlib.CategoryTheory.SmallObject.Iteration.Basic
- Banned modules (itself + downstream)
- 19
- Reference proof premises (reachable / held-out)
- 0 / 0
Traces
Each configuration's full record: what was retrieved, what the model wrote, what Lean said back.
Retrieved lemmas
- 1. Set.principalSegIioIicOfLE_top
- 2. Set.initialSegIicIicOfLE_toFun_coe
- 3. Set.principalSegIioIicOfLE_apply
- 4. Set.initialSegIic_toFun
- 5. Set.Iic_def
- 6. LowerSet.Iic_le
- 7. Set.mem_Iic
- 8. Set.Iio_def
Plan
The theorem you're trying to prove is trivial because it asserts that a function is equal to itself. In other words, it's an identity statement: `Set.initialSegIicIicOfLE h = Set.initialSegIicIicOfLE h`. Since both sides are the same expression, this equality holds by reflexivity. ### Proof Strategy: This is a tautology and can be proved using `rfl` (reflexivity). However, since the theorem is presented in a way that suggests it might be part of a larger proof or has some hidden context, we can also approach it by unfolding definitions and verifying that both sides are indeed identical. But in this case, no unfolding or lemmas are needed—just reflexivity. --- ### Lean Proof Skeleton: This is the simplest possible proof for this identity. If you were to expand this into a more complex proof with intermediate steps (e.g., for educational purposes), you could use `have` statements to unfold definitions, but in this case, they are unnecessary.
import Mathlib.Order.LowerSet
import Mathlib.Data.Set.Iic
open Set
theorem lg_target {α : Type u_1} [Preorder α] {i j : α} (h : i ≤ j) :
initialSegIicIicOfLE h = initialSegIicIicOfLE h :=
by
rflAttempts
- sample 0 · round 0Verified1.5 s model time
Proof rfl
Verified proof
theorem lg_target {α : Type u_1} [Preorder α] {i j : α} (h : i ≤ j) : Set.initialSegIicIicOfLE h = Set.initialSegIicIicOfLE h := by
rflAxioms used: propext
Reference proof
Mathlib's own source for this declaration, shown for comparison. It may use lemmas the prover is not allowed to use.