Fixtype of Poseidon parameters.
This is a product type introduced by fty::defprod.
The following invariant is enforced on the fields:
(and (fe-list-listp constants prime) (all-len-equal-p constants (+ rate capacity)) (equal (len constants) (+ (* 2 full-rounds-half) partial-rounds)) (fe-list-listp mds prime) (all-len-equal-p mds (+ rate capacity)) (equal (len mds) (+ rate capacity)))
Our definition of Poseidon is parameterized over the following aspects:
+------------------+--------------+| r elements | c elements |+------------------+--------------++--------------+------------------+| c elements | r elements |+--------------+------------------+So we include a boolean parameter that says whether, in the ACL2 list, the rate elements come before the capacity elements or vice versa.