+++ title = "Ordering the predicates to normalise them" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["2e1c1"] forwardlinks = ["2e1c3"] zettelid = "2e1c2" +++ Maybe you can just order all the connectives under some defined strict order ($R< Q < P$): ``` c if (R) { x = 3; } else if (Q) { x = 2; } else if (P) { x = 1; } else { x = 4; } ``` The problem is, this does not behave the same as the original property, it will be hard to prove that the two statements that produced this code will behave the same as each other if this representation is equivalent in some way. The original behaviour of the code disappears.