Theorems / novel_cat_03
Authored
Category theory · medium
open CategoryTheory in
theorem lg_target {C : Type*} [Category C] {X Y Z : C} (f : X ⟶ Y) [Mono f] (g h : Z ⟶ X) (w : 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) 5:2: error: Tactic `rfl` failed: The left-hand side g is not definitionally equal to the right-hand side h C : Type u_1 inst✝¹ : Category.{u_2, u_1} C X Y Z : C f : X ⟶ Y inst✝ : Mono f g h : Z ⟶ X w : g ≫ f = h ≫ f ⊢ g = h - attempt 2Other
Proof decide
What Lean printed (this is all the model sees on repair) 5: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) 4:121: error: unsolved goals C : Type u_1 inst✝¹ : Category.{u_2, u_1} C X Y Z : C f : X ⟶ Y inst✝ : Mono f g h : Z ⟶ X w : g ≫ f = h ≫ f ⊢ g = h - attempt 4Wrong tactic
Proof simp
What Lean printed (this is all the model sees on repair) 5:2: error: `simp` made no progress
- attempt 5Wrong tactic
Proof ring
What Lean printed (this is all the model sees on repair) 5: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) 5:2: error: linarith failed to find a contradiction C : Type u_1 inst✝¹ : Category.{u_2, u_1} C X Y Z : C f : X ⟶ Y inst✝ : Mono f g h : Z ⟶ X w : g ≫ f = h ≫ f ⊢ False failed - attempt 7Wrong tactic
Proof nlinarith
What Lean printed (this is all the model sees on repair) 5:2: error: linarith failed to find a contradiction C : Type u_1 inst✝¹ : Category.{u_2, u_1} C X Y Z : C f : X ⟶ Y inst✝ : Mono f g h : Z ⟶ X w : g ≫ f = h ≫ f ⊢ False failed - attempt 8Wrong tactic
Proof positivity
What Lean printed (this is all the model sees on repair) 5:2: error: not a positivity goal
- attempt 9Wrong tactic
Proof omega
What Lean printed (this is all the model sees on repair) 5: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) 5: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) 5:2: error: Tactic `tauto` failed C : Type u_1 inst✝¹ : Category.{u_2, u_1} C X Y Z : C f : X ⟶ Y inst✝ : Mono f g h : Z ⟶ X w : g ≫ f = h ≫ f ⊢ g = h - attempt 12Wrong tactic
Proof simp_all
What Lean printed (this is all the model sees on repair) 5:2: error: simp_all made no progress
- attempt 13Wrong tactic
Proof aesop
What Lean printed (this is all the model sees on repair) 5:2: error: Tactic `aesop` failed, made no progress Initial goal: C : Type u_1 inst✝¹ : Category.{u_2, u_1} C X Y Z : C f : X ⟶ Y inst✝ : Mono f g h : Z ⟶ X w : g ≫ f = h ≫ f ⊢ g = h - attempt 14Other
Proof grind
What Lean printed (this is all the model sees on repair) 5:2: error: `grind` failed case grind C : Type u_1 inst : Category.{u_2, u_1} C X Y Z : C f : X ⟶ Y inst_1 : Mono f g h : Z ⟶ X w : g ≫ f = h ≫ f h_1 : ¬g = h ⊢ False [grind] Goal diagnostics [facts] Asserted facts [prop] Mono f [prop] g ≫ f = h ≫ f [prop] ¬g = h [eqc] True propositions [prop] Mono f [eqc] False propositions [prop] g = h [eqc] Equivalence classes [eqc] {g ≫ f, h ≫ f} [ematch] E-matching patterns [thm] Category.assoc: [@CategoryStruct.comp #8 _ #6 #5 #3 #2 (@CategoryStruct.comp _ _ #5 #4 #3 #1 #0)] [thm] Category.assoc: [@CategoryStruct - attempt 15Wrong tactic
Proof norm_num <;> linarith
What Lean printed (this is all the model sees on repair) 5:15: error: linarith failed to find a contradiction C : Type u_1 inst✝¹ : Category.{u_2, u_1} C X Y Z : C f : X ⟶ Y inst✝ : Mono f g h : Z ⟶ X w : g ≫ f = h ≫ f ⊢ False failed - attempt 16Verified
Proof exact?
Verified proof
open CategoryTheory in
theorem lg_target {C : Type*} [Category C] {X Y Z : C} (f : X ⟶ Y) [Mono f] (g h : Z ⟶ X) (w : g ≫ f = h ≫ f) : g = h := by
exact?Axioms used: none
Reference proof
The proof we wrote and certified before any model ran.
exact (cancel_mono f).mp w