You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A raw polymorphic `Array.init` (e.g. from `subarray256 x i =
Array256.init (fun k => x.[256*i+k])`) had no circuit binding: only the
monomorphic `ainit` wrapper is bindable, since `bind op`/`ainit` fixes the
element width at bind time. So a spec built on `Array.init` fell into the
reduce-on-demand fallback -- full reduction per element access -- which
could take minutes to translate a single postcondition.
Add a `painit` bv-operator kind that binds an array `init` BY PATH while
leaving the element lane-width polymorphic; the width is resolved from the
concrete components when the operator is translated at a concrete element
type.
0 commit comments