LinearCodePCS::check, which can Err when there is a genuine runtime error during verification OR when no runtime errors occur but the proof is rejected; and, in the latter case, sometimes Ok(false) is returned instead.
In order to fix this, check must return Ok(false) when the proof is rejected due to cryptographic checks, and Err only when there is a genuine runtime error during verification.