DEV-MODE auth (username + password, local only) · GitHub live mode
Leanforces
C0001published🌱 5 Seeds (solver reward)

Nat add zero

Share

Prove that for every .

Define answer : ∀ (n : Nat), n + 0 = n somewhere in your submission body. You may write any helper def / lemma / theorem / instance you like, but the file must contain a top-level answer of the required type. The app automatically appends

after your body — the file won't compile unless your answer matches.

Forbidden tokens (the static filter rejects instantly): sorry, admit, axiom, unsafe, opaque, constant, native_decide, implemented_by, extern, macro, syntax, elab, run_cmd, initialize, set_option, attribute, import, namespace, section, end, universe, #eval, #check, #print, #reduce, #guard.

One-liner solution: theorem answer (n : Nat) : n + 0 = n := Nat.add_zero n.

Theorem to prove
theorem answer (n : Nat) : n + 0 = n := by
  ?
You write Lean inside the wrapper namespace. Your body must define a top-level answer with type ∀ (n : Nat), n + 0 = n. You can declare any def, theorem, lemma, instance, open, variable etc. — the static filter only blocks soundness-bypass tokens (sorry, axiom, native_decide, …) and wrapper-escape tokens (namespace, end, import, …).

Sign in to submit a proof body.

Sign inCreate account
Allowed proof-body format

Any sequence of Lean tactics is fine. The static filter rejects tokens that don't belong inside a tactic block — the full list:

importnamespacesectionenduniverseaxiomsorryadmitnative_decideopaqueconstantimplemented_byexternunsafemacrosyntaxelabrun_cmdinitializeset_optionattribute#eval#check#print#reduce#guardlocal attributesolution_target
Recent submissions

Activity

  • Acceptedalice5/22/2026, 5:06:51 PM
  • GitHub failedalice5/22/2026, 2:22:36 PM
  • Acceptedalice5/22/2026, 2:21:59 PM
  • GitHub failedalice5/22/2026, 2:18:27 PM
  • GitHub failedalice5/22/2026, 2:17:50 PM
  • Acceptedalice5/22/2026, 1:27:22 PM
  • Static rejectedalice5/22/2026, 1:27:19 PM
  • Acceptedalice5/22/2026, 1:25:53 PM