# Preliminaries

Here we want to highlight knowledge we expect you to have in order to effectively make use of this book, with the core learning outcome of being able to create circuits in Halo2 (given the implementation by the Ethereum Foundation's PSE team).

Firstly we want to highlight that the amount of maths needed to actually make circuits and debug them is a fraction of that required for doing proof system research and improvements - more importantly, the level of maths required is something essentially anybody can learn with a modest amount of effort.

You should:

1. know that a ZKP is some data that shows that a specific computation was carried out in a valid way, and that the associated public inputs represent certain values within that computation
2. know that the value of a ZKP is determined by how the computation and revealed values relate to things in the real world
3. know that making circuits is about deciding what computation and public input would prove the claim we would want to prove (e.g. what circuit and public inputs would prove that we are the owner of Satoshi's private key)
4. have some mathematical maturity, sufficient that basic questions about fields could be solved by you without too much angst (using the internet to look things up as much as you please)
5. most importantly have a basic idea about how the Halo2 proof system works

### Not ready?

If you don't feel ready yet, then perhaps check out our non-mathematical introduction to zero knowledge [proofs](https://node101.io/blog/a_non_mathematical_introduction_to_zero_knowledge_proofs)!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://erroldrummond.gitbook.io/halo2-tutorial/section-1/preliminaries.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
