Let $ X $ be a scheme of finite type over $ \mathbb{Z} $. We denote by $ X_{\mathbb{Q}} $ the generic fiber of $ X\to \text{Spec}(\mathbb{Z}) $. The fiber $ X_{p} $ of $ X\to \text{Spec}(\mathbb{Z}) $ at a prime $ p $ is a scheme over $ \mathbb{F}_{p} $. We denote by $ N_{X}(p) $ the number of its $ \mathbb{F}_{p} $-points. If $ q=p^{e} $ is power of $ p $ with $ e\geq 1 $, we define similarly $ N_{X}(q) $ as the cardinality of the set $ X(\mathbb{F}_{q}) $ of the $ \mathbb{F}_{q} $-points of $ X $ (or of $ X_{p} $, that amounts to the same). The goal of reciprocity law is to describe how $ N_{X}(p) $ varies with $ p $. ![image](https://user-images.githubusercontent.com/97021686/182017530-0e404ea3-e5ca-4e4a-8e10-dc1d9e4424b7.png)