# Circom Authors - Constraint Generation (Highlights) ![rw-book-cover|256](https://readwise-assets.s3.amazonaws.com/static/images/article0.00998d930354.png) ## 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