equation_text: rfl one

variables: rfl one

domain: unknown

theorem_statement: theorem t (n : Nat) : n = n := by rfl

proof_script: theorem t (n : Nat) : n = n := by rfl


equation_text: rfl add

variables: rfl add

theorem_statement: theorem t (n : Nat) : n + 0 = n := by rfl


equation_text: rfl succ

variables: rfl succ

theorem_statement: theorem t (n : Nat) : n.succ = n.succ := by rfl


equation_text: simp add zero

variables: add zero simp

theorem_statement: theorem t (n : Nat) : n + 0 = n := by simp


equation_text: simp mul one

variables: mul one simp

theorem_statement: theorem t (n : Nat) : n * 1 = n := by simp


equation_text: simp add comm

variables: add comm simp

theorem_statement: theorem t (a b : Nat) : a + b = b + a := by simp [add_comm]

status: failed


equation_text: simp add assoc

variables: assoc add simp

theorem_statement: theorem t (a b c : Nat) : (a + b) + c = a + (b + c) := by simp [add_assoc]


equation_text: simp mul comm

variables: mul comm simp

theorem_statement: theorem t (a b : Nat) : a * b = b * a := by simp [mul_comm]


equation_text: omega add

variables: add omega

theorem_statement: theorem t (a b c : Nat) : a + b + c = a + c + b := by omega


equation_text: omega mul

variables: mul omega

theorem_statement: theorem t (a b : Nat) : (a + b) * 2 = a*2 + b*2 := by omega


equation_text: omega ineq

variables: omega ineq

theorem_statement: theorem t (a b : Nat) (h : a ≤ b) : a + 1 ≤ b + 1 := by omega


equation_text: omega mod

variables: omega mod

theorem_statement: theorem t (a : Nat) : a % 2 < 2 := by omega


equation_text: omega double

variables: omega double

theorem_statement: theorem t (n : Nat) : n + n = 2 * n := by omega


equation_text: ring sq

variables: ring sq

theorem_statement: theorem t (x y : Nat) : (x + y)^2 = x^2 + 2*x*y + y^2 := by nlinarith


equation_text: ring cube

variables: ring cube

theorem_statement: theorem t (x : Nat) : (x+1)^3 = x^3 + 3*x^2 + 3*x + 1 := by nlinarith


equation_text: ring expand

variables: expand ring

theorem_statement: theorem t (a b : Nat) : (a + b) * (a - b) = a^2 - b^2 := by omega


equation_text: induct add zero

variables: add zero induct

theorem_statement: theorem t (n : Nat) : n + 0 = n := by induction n with k IH; rfl; simp [add_succ, IH]


equation_text: induct add succ

variables: add succ induct

theorem_statement: theorem t (n m : Nat) : n + m.succ = (n + m).succ := by induction n with k IH; rfl; simp [add_succ, IH]


equation_text: induct mul

variables: mul induct

theorem_statement: theorem t (n m : Nat) : n * m = m * n := by induction n with k IH; simp; simp [mul_add, IH, add_comm, add_left_comm, add_assoc]


equation_text: rw add comm

variables: add rw comm

theorem_statement: theorem t (a b : Nat) : a + b = b + a := by rw [add_comm a b]


equation_text: rw mul comm

variables: mul rw comm

theorem_statement: theorem t (a b : Nat) : a * b = b * a := by rw [mul_comm]


equation_text: rw add assoc

variables: assoc add rw

theorem_statement: theorem t (a b c : Nat) : a + b + c = c + b + a := by rw [add_comm a b, add_comm (a+b) c, add_comm b a]; rfl


equation_text: with import list

variables: list import with

theorem_statement:
import Mathlib.Data.List.Basic
theorem t (l : List Nat) : l.reverse.reverse = l := by simp

status: timeout


equation_text: with import nat

variables: import with nat

theorem_statement:
import Mathlib.Data.Nat.Basic
theorem t (a b : Nat) : a.gcd b = b.gcd a := Nat.gcd_comm a b


equation_text: with import int

variables: import with int

theorem_statement:
import Mathlib.Data.Int.Basic
theorem t (a b : ℤ) : a + b = b + a := by omega


equation_text: with import set

variables: import with set

theorem_statement:
import Mathlib.Data.Set.Basic
theorem t (s : Set Nat) : s ∪ s = s := Set.union_self s


equation_text: algebra id

variables: algebra id

theorem_statement: theorem t (x : Nat) : x * 1 = x := by simp


equation_text: algebra distrib

variables: algebra distrib

theorem_statement: theorem t (a b c : Nat) : a * (b + c) = a * b + a * c := by omega


equation_text: algebra sq diff

variables: algebra sq diff

theorem_statement: theorem t (x y : Nat) : x^2 - y^2 = (x - y) * (x + y) := by omega


equation_text: logic and

variables: logic and

theorem_statement: theorem t (A B : Prop) : A ∧ B → A := by intro h; exact h.1


equation_text: logic or

variables: logic or

theorem_statement: theorem t (A B : Prop) : A ∨ B → B ∨ A := by intro h; cases h; right; exact h; left; exact h


equation_text: logic not not

variables: logic not

theorem_statement: theorem t (P : Prop) : P → ¬¬P := by intro hp hnp; exact hnp hp


equation_text: logic impl trans

variables: logic trans impl

theorem_statement: theorem t (A B C : Prop) : (A → B) → (B → C) → (A → C) := by intro h1 h2 ha; exact h2 (h1 ha)


equation_text: order refl

variables: refl order

theorem_statement: theorem t (a : Nat) : a ≤ a := Nat.le_refl a


equation_text: order trans

variables: trans order

theorem_statement: theorem t (a b c : Nat) (h1 : a ≤ b) (h2 : b ≤ c) : a ≤ c := Nat.le_trans h1 h2


equation_text: order antisymm

variables: antisymm order

theorem_statement: theorem t (a b : Nat) (h1 : a ≤ b) (h2 : b ≤ a) : a = b := Nat.le_antisymm h1 h2


equation_text: expect fail type mismatch

variables: fail mismatch expect type

theorem_statement: theorem t : Nat → String := λ n => n

proof_script: theorem t : Nat → String := λ n => n


equation_text: expect fail unsat

variables: fail expect unsat

theorem_statement: theorem t (x : Nat) : x < x := by omega

proof_script: theorem t (x : Nat) : x < x := by omega


equation_text: expect fail axiom

variables: fail axiom expect

theorem_statement: theorem t : 1 = 0 := by native_decide

proof_script: theorem t : 1 = 0 := by native_decide


equation_text: expect fail timeout like

variables: fail timeout expect like

theorem_statement: theorem t (a b : Nat) : a^10 + b^10 = (a+b)^10 := by nlinarith


equation_text: complex fib

variables: fib complex

theorem_statement:
def fib : Nat → Nat | 0 => 0 | 1 => 1 | n+2 => fib (n+1) + fib n
theorem t (n : Nat) : fib (n+2) = fib (n+1) + fib n := by rfl


equation_text: complex sum

variables: complex sum

theorem_statement: theorem t (n : Nat) : ∑ k in Finset.range n, k = n*(n-1)/2 := by sorry