[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PVS-Help] Equivalence through XOR
Nikhil:
You need to use (apply-extensionality) on the consequent
and (decompose-equality) on the antecedent, and then (grind)
completes the proof.
-Shankar
> Hi--
>
> It is shown in the bitvector library that for bitvectors bv1 and bv2 of length
> n
>
> (bv1 = bv2) => (bv1 XOR bv2 = fill[n](FALSE))
>
> But the reverse is true as well,
>
> (bv1 XOR bv2 = fill[n](FALSE)) => (bv1 = bv2)
>
> So it really should be,
>
> (bv1 = bv2) IFF (bv1 XOR bv2 = fill[n](FALSE))
>
> because this is how I would check if two strings were equal. So why is proving
> the reverse turning to be tricky (assuming that I am correct) ?
>
> Thank you,
>
> Best regards
> Nikhil