add test case
use Horn clauses