I have the following basic set-up for my question, I am getting to learn about proxy re-encryption and so far what I have looked at in more detail is this re-encryption algorithm from IronCore Labs and their Rust library. It is a multi hop re-encryption scheme (re-encryption steps can be chained), but I do not care so much about this property.
Alice and Bob each have their own public-private key pair and a unidirectional re-encryption algorithm. Alice encrypts $m$ with her $pb_a$ and obtains $C_a$. She also creates a re-encryption key $r_{a-to-b}$ using her $sk_a$ and $pb_b$ of Bob (Bob's public key).
After applying the re-encryption step on $C_a$, using $r_{a-to-b}$, we would obtain $C_a'$.
Bob also knows the message $m$ and he obtains $C_b$.
Question: Does or can $C_a' == C_b$ be a true statement?
Where I want to get with this: Can we check publicly that a re-encryption key is valid and transforms cyphertext from a key pair to another? Without using any of the secret keys, only the re-encryption key under question and the public keys of the parties. In my mind it would sound logical that $C_a' == C_b$ and this would be a nice check that the re-encryption key is valid, but I could not find any information regarding such checks. Actually, I could not find any public checks that verify a re-encryption key is valid.
Thanks in advance!