I'm using Horn Logic in Z3 to model check CSP (Process Algebra), because Horn Logic is good at dealing with recursive definitions. But, I was stuck in some trick problems. For example, I have the following code:
(declare-rel A (Int)) (declare-rel B (Int)) (rule (A 1)) (rule (A 2)) (rule (B 1)) (rule (B 2)) Then, how can I prove A and B are equal. This is similar to proving the equivalence of two sets in Z3 using Horn Logic.
Please, anyone can give me a clue? Many thanks.