Basic idea: if and everyone follows the protocol, then the verifier will accept. Usually called “completeness” for historical reasons, but can also be called “correctness”.
Definition
Formally: If , then This property just makes sure that the protocol actually works day-to-day in the absence of any attacks. It serves as a nontriviality condition (e.g., a protocol that has the prover send nothing and the verifier just output every time would be considered ZK and sound.).
Completeness says nothing about security. A protocol where the verifier always just outputs 1 every time is complete but not sound.