# Circom Authors - Constraint Generation (Highlights)

## Metadata
**Review**:: [readwise.io](https://readwise.io/bookreview/38739600)
**Source**:: #from/readwise #from/reader
**Zettel**:: #zettel/fleeting
**Status**:: #x
**Authors**:: [[Circom Authors]]
**Full Title**:: Constraint Generation
**Category**:: #articles #readwise/articles
**Category Icon**:: 📰
**URL**:: [docs.circom.io](https://docs.circom.io/circom-language/constraint-generation/)
**Host**:: [[docs.circom.io]]
**Highlighted**:: [[2024-03-16]]
**Created**:: [[2024-03-21]]
## Highlights
- All constraints must be quadratic of the form A*B + C = 0, where A, B and C are linear combinations of signals. ([View Highlight](https://read.readwise.io/read/01hs4eehzcv9jncpdnbzxer6xw)) ^693692767
- As mentioned before, assigning a value to a signal using `<--` and `-->` is considered dangerous and should, in general, be combined with adding constraints with `===`, which describe by means of constraints which the assigned values are. ([View Highlight](https://read.readwise.io/read/01hs4ehs51cbd7efzgc8ak8p61)) ^693692975
- Other arithmetic expressions beyond quadratic or using other arithmetic operators like division or power are not allowed as constraints. ([View Highlight](https://read.readwise.io/read/01hs4ejtb4f0ak60yf047x1twt)) ^693693062