Theorems / novel_fun_07
Authored
Functions · medium
theorem lg_target {α β : Type*} (f : α → β) (hf : Function.Surjective f) (g h : β → α) (hg : g ∘ f = h ∘ f) : g = h := by- Source
- Written for LeanGraph, reference proof certified
- Premises used by the reference proof
- 1
Traces
Each configuration's full record: what was retrieved, what the model wrote, what Lean said back.
Verified0 model calls · 16 Lean checks · $0.00000
Attempts
- attempt 1Wrong tactic
Proof rfl
What Lean printed (this is all the model sees on repair) 4:2: error: Tactic `rfl` failed: The left-hand side g is not definitionally equal to the right-hand side h α : Type u_1 β : Type u_2 f : α → β hf : Function.Surjective f g h : β → α hg : g ∘ f = h ∘ f ⊢ g = h
- attempt 2Other
Proof decide
What Lean printed (this is all the model sees on repair) 4:2: error: Expected type must not contain free variables g = h Hint: Use the `+revert` option to automatically clean up and revert free variables
- attempt 3Valid but mathematically wrong
Proof norm_num
What Lean printed (this is all the model sees on repair) 3:119: error: unsolved goals α : Type u_1 β : Type u_2 f : α → β hf : Function.Surjective f g h : β → α hg : g ∘ f = h ∘ f ⊢ g = h
- attempt 4Wrong tactic
Proof simp
What Lean printed (this is all the model sees on repair) 4:2: error: `simp` made no progress
- attempt 5Wrong tactic
Proof ring
What Lean printed (this is all the model sees on repair) 4:2: error: `ring_nf` made no progress on the goal
- attempt 6Wrong tactic
Proof linarith
What Lean printed (this is all the model sees on repair) 4:2: error: linarith failed to find a contradiction α : Type u_1 β : Type u_2 f : α → β hf : Function.Surjective f g h : β → α hg : g ∘ f = h ∘ f ⊢ False failed
- attempt 7Wrong tactic
Proof nlinarith
What Lean printed (this is all the model sees on repair) 4:2: error: linarith failed to find a contradiction α : Type u_1 β : Type u_2 f : α → β hf : Function.Surjective f g h : β → α hg : g ∘ f = h ∘ f ⊢ False failed
- attempt 8Wrong tactic
Proof positivity
What Lean printed (this is all the model sees on repair) 4:2: error: not a positivity goal
- attempt 9Wrong tactic
Proof omega
What Lean printed (this is all the model sees on repair) 4:2: error: omega could not prove the goal: No usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.
- attempt 10Wrong tactic
Proof field_simp
What Lean printed (this is all the model sees on repair) 4:2: error: `field_simp` made no progress on the goal
- attempt 11Wrong tactic
Proof tauto
What Lean printed (this is all the model sees on repair) 4:2: error: Tactic `tauto` failed α : Type u_1 β : Type u_2 f : α → β hf : Function.Surjective f g h : β → α hg : g ∘ f = h ∘ f ⊢ g = h
- attempt 12Wrong tactic
Proof simp_all
What Lean printed (this is all the model sees on repair) 4:2: error: simp_all made no progress
- attempt 13Wrong tactic
Proof aesop
What Lean printed (this is all the model sees on repair) 4:2: error: Tactic `aesop` failed, made no progress Initial goal: α : Type u_1 β : Type u_2 f : α → β hf : Function.Surjective f g h : β → α hg : g ∘ f = h ∘ f ⊢ g = h
- attempt 14Other
Proof grind
What Lean printed (this is all the model sees on repair) 4:2: error: `grind` failed case grind α : Type u_1 β : Type u_2 f : α → β hf : Function.Surjective f g h : β → α hg : g ∘ f = h ∘ f h_1 : ¬g = h w : β h_2 : ¬g w = h w ⊢ False [grind] Goal diagnostics [facts] Asserted facts [prop] Function.Surjective f [prop] g ∘ f = h ∘ f [prop] ¬g = h [prop] ∃ x, ¬g x = h x [prop] ¬g w = h w [eqc] True propositions [prop] Function.Surjective f [prop] ∃ x, ¬g x = h x [eqc] False propositions [prop] g = h [prop] g w = h w [eqc] Equivalence classes [eqc] {g ∘ f, h ∘ f} [cases] Case analyses [cases] [1/1]: ∃ - attempt 15Wrong tactic
Proof norm_num <;> linarith
What Lean printed (this is all the model sees on repair) 4:15: error: linarith failed to find a contradiction α : Type u_1 β : Type u_2 f : α → β hf : Function.Surjective f g h : β → α hg : g ∘ f = h ∘ f ⊢ False failed
- attempt 16Verified
Proof exact?
Verified proof
theorem lg_target {α β : Type*} (f : α → β) (hf : Function.Surjective f) (g h : β → α) (hg : g ∘ f = h ∘ f) : g = h := by
exact?Axioms used: Quot.sound
Reference proof
The proof we wrote and certified before any model ran.
exact hf.injective_comp_right hg