Hi Marco,
To clarify [reuse] lemma behavior: these lemmas are reused in all other later lemmas, even if they are not proved, and even if they are actually wrong(!).
So, if you set up lemmas like
lemma A [reuse]
lemma B
Then the content of lemma A may be used in the proof attempt of B. So, if A were to just say 'false', B is now easily provable.
Separately from that, if Tamarin finds an attack that looks weird to you, then you should carefully inspect the attack to ensure it really is not possible. If you are convinced, then you have to adjust the model to make sure the attacker cannot do what it should not (say, impersonate a CA). You can do this using extra action facts and restrictions, or encoding this in the security property lemmas.
Cheers,
Ralf
Cheers! --
You received this message because you are subscribed to the Google Groups "tamarin-prover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tamarin-prove...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tamarin-prover/4c76f4d6-11b3-41c8-bb8f-fb03f9208a42n%40googlegroups.com.
To reiterate what Jannik said:
It does not matter if the reuse lemma is true or false. It also
does not matter what the user thinks it should be. The reuse lemma
can indeed be used in any other later lemma.
Essentially, if you have a reuse lemma that is not provable (or
falsified), then ALL PROOFS OF LEMMAS SYNTACTICALLY LATER must be
considered POTENTIALLY WRONG.
If I write
lemma A [reuse]: "false"
and then have a lemma B, then Tamarin will first falsify lemma A. Nevertheless, it will still use lemma A to "prove" lemma B. Now, I have not learned anything about whether B is true or not.
Overall, this is the responsibility of the user. Only mark a
lemma as reuse if you are sure that it will correctly verify.
Cheers,
Ralf
To view this discussion on the web visit https://groups.google.com/d/msgid/tamarin-prover/669e60d9-292d-4940-8da4-ada93390e08dn%40googlegroups.com.