Take a surprising idea. Try to prove yourself wrong.

A beginner-friendly six-stage research process with copyable worksheets, adversarial review questions, a claim ledger and a completion checklist.

A practical six-stage guide to framing, testing, criticising and reporting computational research, with reusable worksheets and evidence checklists.

Take a surprising idea. Try to prove yourself wrong.

One investigation, six disciplined stages.

Start with a question that can lose.

The starter worksheet

Give your critic enough context to challenge the work.

Adversarial questions

Teaching · Practical methodology

This is the research method we used across three computational investigations, translated into a process you can follow. You do not need to be a mathematician to begin, only precise, curious and willing to keep an honest record.

Choose a stage. Each one tells you what to do, what to save and which trap to avoid.

Complete this before writing the experiment. The most important line is the falsifier: what result would make you change your mind?

Do not paste an isolated result and ask, “Is this correct?” Give a separate reviewer the question, frozen rules, implementation, evidence and known limitations.

  • State exactly what you are testing.
  • Record the object, state space, parameters, observable, exceptional event, proposed explanation and falsifier.
  • Instead of ‘find cases where this matrix wins’, ask ‘under this fixed rule, how are all outcomes classified?’
  • Starting with the answer you hope to find and collecting only favourable examples.
  • Find the exact structure first.
  • Record definitions, indexing, normalisation, basis choices, denominators and low-order checks against known answers.
  • Ask whether a large matrix is really just multiplication by one fixed element, or whether a long sequence obeys a simpler recurrence.
  • Treating a bigger representation as proof of a more powerful mechanism.
  • Decide the rules before seeing results.
  • Save the protocol version, code version, test cases, planned outputs and an explicit statement that the main observations do not yet exist.