 A swap (codice_2) is trivially reversible.For conditionals to be reversible, we provide both a "test" (the codice_3 after codice_4) and an "assertion" (the codice_3 after codice_6).The semantics is that the test "must" hold before the execution of the then-branch, and the assertion "must" hold after it.