I had earlier asked the question What is a witness string? I unable to understand the concept
From the answers I got, it seems that a witness is more or less the answer. For e.g. in the padlock example given in the accepted answer, the witness is the padlock combination which can be easily verified to be true or false.
I assume it (witness == answer) is not the same in Zero Knowledge proof systems because then it wouldn't be a zero knowledge system. Can someone explain witnesses in the context of Zero Knowledge Proof systems?
In the padlock example, if we had to provide a zero knowledge proof, what would be a witness string? Alternately is there some other simple example of ZK proof, where we can understand what a witness string is?