summaryrefslogtreecommitdiff
path: root/prolog/problems/trees
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/trees')
-rw-r--r--prolog/problems/trees/deletebt_3/bugs.json425
-rw-r--r--prolog/problems/trees/depthbt_2/bugs.json383
-rw-r--r--prolog/problems/trees/insertbt_3/bugs.json239
-rw-r--r--prolog/problems/trees/maxt_2/bugs.json382
-rw-r--r--prolog/problems/trees/memberbt_2/bugs.json322
-rw-r--r--prolog/problems/trees/membert_2/bugs.json395
-rw-r--r--prolog/problems/trees/mirrorbt_2/bugs.json300
-rw-r--r--prolog/problems/trees/numberbt_2/bugs.json365
8 files changed, 2811 insertions, 0 deletions
diff --git a/prolog/problems/trees/deletebt_3/bugs.json b/prolog/problems/trees/deletebt_3/bugs.json
new file mode 100644
index 0000000..1be930a
--- /dev/null
+++ b/prolog/problems/trees/deletebt_3/bugs.json
@@ -0,0 +1,425 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"deleteBT\") (args variable (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (binop variable \"=\"))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))) (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args variable))))))) (compound (functor \"deleteBT\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))) (compound (functor \"deleteBT\") (args (args (args variable)))))",
+ "(clause (compound (functor \"deleteBT\") (args variable (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args (args (args variable))))))))))",
+ "(clause (compound (functor \"deleteBT\") (args variable)) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args variable))))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (binop \"=\" variable))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (binop variable \"=\") (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (compound (functor \"deleteBT\") (args (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (compound (functor \"deleteBT\") (args (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (compound (functor \"deleteBT\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args variable)))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable)))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args (args variable)))))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args variable)))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable))))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))))))) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable))))))))))) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))) (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\" variable))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable))))))) (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args variable))))) (compound (functor \"deleteBT\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))))",
+ "(clause (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable)))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))) (binop variable \"=\"))",
+ "(clause (binop \"=\" variable) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args variable))))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (compound (functor \"deleteBT\") (args variable)) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable))))))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (binop \"=\" variable) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteRoot\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args variable))))))",
+ "(clause (binop (compound (functor \"b\") (args (args variable))) \"=\") (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (binop \"\\=\" variable) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (binop variable \"=\") (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (binop (compound (functor \"b\") (args (args (args variable)))) \"=\"))",
+ "(clause (binop variable \"=\") (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (compound (functor \"deleteBT\") (args (args (args variable)))) (binop \"=\" variable))",
+ "(clause (binop variable \"=\") (compound (functor \"deleteRoot\") (args variable)))",
+ "(clause (binop variable \"\\==\") (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (binop (compound (functor \"b\") (args variable)) \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (binop variable \"\\=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"\\==\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"\\=\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (binop variable \"\\==\"))",
+ "(clause (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))))))))",
+ "(clause (compound (functor \"deleteBT\") (args variable)) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))) (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args (args (args variable)))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable))))))))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop variable \"=\"))",
+ "(clause (binop variable \"=\") (compound (functor \"delrootBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args variable))))) (compound (functor \"deleteRoot\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)) (args variable))))))",
+ "(clause (binop \"=\" variable variable))",
+ "(clause (binop (compound (functor \"b\") (args variable (args (args variable)))) \"=\"))",
+ "(clause (binop variable \"\\=\") (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (binop variable \"==\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (binop variable \"==\"))",
+ "(clause (compound (functor \"memberBT\") (args variable)) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable (args (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (compound (functor \"potegniR\") (args (compound (functor \"b\") (args (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBTtop\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (compound (functor \"delete\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))) (binop \"=\" variable))",
+ "(clause (compound (functor \"potegniR\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (compound (functor \"deleteRoot\") (args (args variable))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (binop (compound (functor \"b\") (args (args variable))) \"=\") (binop \"=\" variable))",
+ "(clause (compound (functor \"deleteRoot\") (args (args variable))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (compound (functor \"memberBT\") (args (args variable))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args variable))))))) (binop \"=\" variable))",
+ "(clause (compound (functor \"potegniR\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (compound (functor \"potegniR\") (args (args variable))))",
+ "(clause (head (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (binop \"==\" variable))",
+ "(clause (head (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"deleteRoot\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))))",
+ "(clause (compound (functor \"deleteRoot\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args (args variable)))))))))))) (binop \"=\" (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args variable)))))))))) (binop \"=\" (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args variable))))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))) (binop \"=\" variable))",
+ "(clause (compound (functor \"deleteBTtop\") (args variable)) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBTtop\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (compound (functor \"deleteBT\") (args variable)) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))) (binop (compound (functor \"b\") (args (args variable))) \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop variable \"\\=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable)))))))))) (binop \"=\" (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"==\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (binop \"\\=\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))) (binop variable \"\\=\"))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (compound (functor \"deleteBT\") (args (args (args variable)))))",
+ "(clause (binop \"=\" variable) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"delrootBT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args variable)))))))) (binop \"=\" (compound (functor \"b\") (args (compound (functor \"b\") (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable))))))))))) (binop \"=\" (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (binop \"\\=\" variable) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (compound (functor \"deleteBT\") (args (args (args variable)))))",
+ "(clause (binop \"\\==\" variable) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args variable)))))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (binop variable \"=\") (compound (functor \"deleteR\") (args variable)))",
+ "(clause (head (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args variable)))))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args (args variable)))))))",
+ "(clause (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (compound (functor \"deleteR\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (compound (functor \"delrootBT\") (args (args variable))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args variable))))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"potegniR\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (compound (functor \"deleteBT\") (args (args (args variable)))) (compound (functor \"deleteBT\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable))))))))))) (binop \"=\" variable))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args variable))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))) (binop \"\\=\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))))))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args (args variable)))))))))))) (compound (functor \"moveUp\") (args (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (compound (functor \"deleteBT\") (args (args (args variable)))) (binop variable \"=\"))",
+ "(clause (binop (compound (functor \"b\") (args (args variable))) \"=\"))",
+ "(clause (compound (functor \"delrootBT\") (args (args variable))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable)))))))))) (compound (functor \"moveUp\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"delete\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args variable)))))))) (compound (functor \"moveUp\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (binop variable \"=\\=\"))",
+ "(clause (head (compound (functor \"delrootBT\") (args (compound (functor \"b\") (args (args variable)))))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args variable))))))) (compound (functor \"moveUp\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"delete\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))))))) (binop \"=\" (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))) (compound (functor \"moveUp\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args variable)))))))))) (compound (functor \"moveUp\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\\=\" variable))",
+ "(clause (head (compound (functor \"delrootBT\") (args (compound (functor \"b\") (args (args variable)))))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable (args (compound (functor \"b\") (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"potegniR\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (head (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable)))))))) (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteRoot\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"deleteRoot\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"potegniR\") (args (compound (functor \"b\") (args (args (args variable)))))))",
+ "(clause (head (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable))))))))) (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args variable))))) (compound (functor \"potegniR\") (args (args variable))))",
+ "(clause (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (args (args variable)))))))",
+ "(clause (head (compound (functor \"potegniL\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"potegniL\") (args (args variable))))",
+ "(clause (binop \"=\" variable) (compound (functor \"potegniR\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (head (compound (functor \"moveUp\") (args (args (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"potegniR\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (compound (functor \"potegniL\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (head (compound (functor \"potegniL\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (head (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (compound (functor \"b\") (args variable))))))) (compound (functor \"potegniL\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (head (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))) (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (binop variable \"=\") (compound (functor \"potegniR\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (compound (functor \"potegniL\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"potegniL\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"potegniL\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable)))))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args variable))))) (compound (functor \"potegniL\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"deleteBTtop\") (args (compound (functor \"b\") (args (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBTtop\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"deleteBTtop\") (args variable)))",
+ "(clause (binop variable \"=\") (compound (functor \"deleteRootBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args variable)))))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable (args (compound (functor \"b\") (args (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (compound (functor \"deleteBTtop\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (compound (functor \"memeberBT\") (args variable)) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"delrootBT\") (args (compound (functor \"b\") (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (compound (functor \"memeberBT\") (args (args variable))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"deleteBTtop\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"deleteBTtop\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (head (compound (functor \"delrootBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"delrootBT\") (args (compound (functor \"b\") (args variable))))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (compound (functor \"memeberBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable (args variable)))))))))",
+ "(clause (head (compound (functor \"delrootBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBTtop\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"deleteBTtop\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBTtop\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"deleteBTtop\") (args variable)))",
+ "(clause (head (binop \"=\" variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))) (compound (functor \"delete\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBTtop\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"deleteBTtop\") (args (args variable))))",
+ "(clause (head (compound (functor \"createBT\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args variable))))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBTtop\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args variable))))) (compound (functor \"deleteBTtop\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args (compound (functor \"b\") (args variable))))))) (compound (functor \"delete\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"delrootBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"delrootBT\") (args variable)))",
+ "(clause (compound (functor \"deleteBT\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (compound (functor \"deleteBT\") (args variable)) (binop variable \"\\=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args variable)))))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (binop \"=\" variable) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (compound (functor \"memeberBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBTtop\") (args (compound (functor \"b\") (args variable))))) (binop variable \"=\"))",
+ "(clause (binop \"=\" variable) (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (compound (functor \"moveUp\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"moveUp\") (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"moveUp\") (args (args variable (args variable))))))",
+ "(clause (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"moveUp\") (args variable (args (args variable))))))",
+ "(clause (binop variable \"=\") (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args (args variable)))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))) (compound (functor \"deleteRoot\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBt\") (args (args (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"moveUp\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"moveUp\") (args variable)))",
+ "(clause (head (compound (functor \"moveUp\") (args (compound (functor \"b\") (args (args variable)))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args (args variable)))))))))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (binop \"\\==\" variable) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"deleteR\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"deleteR\") (args variable)))",
+ "(clause (head (compound (functor \"delrootBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"delrootBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteR\") (args (compound (functor \"b\") (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable (args variable))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable)))))) (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable))))))))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"moveUp\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"moveUp\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteR\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"deleteR\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBt\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"deleteR\") (args (compound (functor \"b\") (args variable)))))",
+ "(clause (binop variable \"=\") (compound (functor \"deleteRoot\") (args (args variable))))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))))"
+ ],
+ "distribution": [
+ 54,
+ 0
+ ],
+ "quality": 0.966653720745129
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args variable))))) (compound (functor \"deleteBT\") (args (args (args variable)))))"
+ ],
+ "distribution": [
+ 51,
+ 0
+ ],
+ "quality": 0.9647465294505704
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"deleteBT\") (args variable))))"
+ ],
+ "distribution": [
+ 71,
+ 1
+ ],
+ "quality": 0.9577830988832008
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"deleteBT\") (args variable)) (compound (functor \"deleteBT\") (args variable)))"
+ ],
+ "distribution": [
+ 40,
+ 0
+ ],
+ "quality": 0.9520873377516836
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"deleteBT\") (args (args (args variable))))))"
+ ],
+ "distribution": [
+ 29,
+ 0
+ ],
+ "quality": 0.928054594922129
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"deleteBT\") (args (args (args variable)))) (binop \"=\" variable))"
+ ],
+ "distribution": [
+ 15,
+ 0
+ ],
+ "quality": 0.8333214792658596
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"deleteBT\") (args variable)))"
+ ],
+ "distribution": [
+ 15,
+ 0
+ ],
+ "quality": 0.8333214792658596
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable))))))"
+ ],
+ "distribution": [
+ 14,
+ 0
+ ],
+ "quality": 0.830490740715106
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))))"
+ ],
+ "distribution": [
+ 14,
+ 0
+ ],
+ "quality": 0.830490740715106
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))) (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable))))))) (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable)))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args variable)))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable))))))"
+ ],
+ "distribution": [
+ 7,
+ 46
+ ],
+ "quality": 0.7897208120726826
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable))) (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args (args (args variable))))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args variable)))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args variable))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args variable)))))))"
+ ],
+ "distribution": [
+ 10,
+ 47
+ ],
+ "quality": 0.7488711530556023
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"deleteBT\") (args variable))) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args (args variable)))))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (head (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args (args variable)))))))))) (compound (functor \"deleteBT\") (args (args (compound (functor \"b\") (args (args (args variable))))))))"
+ ],
+ "distribution": [
+ 26,
+ 53
+ ],
+ "quality": 0.6157095689691464
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/trees/depthbt_2/bugs.json b/prolog/problems/trees/depthbt_2/bugs.json
new file mode 100644
index 0000000..8058d2b
--- /dev/null
+++ b/prolog/problems/trees/depthbt_2/bugs.json
@@ -0,0 +1,383 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"depthBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (binop \"is\" (binop \"+\" \"1\")))",
+ "(clause (binop variable \"is\" (binop \"+\" \"1\")))",
+ "(clause (binop \"is\" (binop variable \"+\" \"1\")))",
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"depthBT\") (args (args \"0\")))))",
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"depthBT\") (args variable)))",
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"depthBT\") (args variable)))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"is\"))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))))",
+ "(clause (binop \">=\" variable))",
+ "(clause (binop \">\" variable))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \">\"))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \">\" variable))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \">=\"))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \">=\" variable))",
+ "(clause (binop variable \">\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \">=\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (compound (functor \"max\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (compound (functor \"max\") (args (list (h variable)))))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (compound (functor \"max\") (args (list (t (list (h variable)))))))",
+ "(clause (binop variable \">\"))",
+ "(clause (head (compound (functor \"depthBT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (binop variable \">=\"))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"<\" variable))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \"=<\"))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"=<\" variable))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \"<\"))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"is\" variable))",
+ "(clause (head (compound (functor \"depthBT\") (args (args \"1\")))))",
+ "(clause (binop \"=<\" variable) (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"=\"))",
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args (args variable))) (args \"1\")))))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (binop \"<\" variable) (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"is\") (binop variable \"is\"))",
+ "(clause (binop variable \"is\" (binop \"1\" \"+\")))",
+ "(clause (binop \"is\" (binop \"1\" \"+\")))",
+ "(clause (head (compound (functor \"depthBT\") (args (args variable)))) (compound (functor \"max\") (args (args variable))))",
+ "(clause (binop \"is\" (binop \"1\" \"+\" variable)))",
+ "(clause (binop variable \"=<\"))",
+ "(clause (binop variable \"is\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (binop variable \"<\"))",
+ "(clause (binop variable \">=\") (binop \"is\" variable))",
+ "(clause (head (compound (functor \"depthBT\") (args (args variable)))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"is\") (binop \"=\" variable))",
+ "(clause (binop variable \">\") (binop \"=\" variable))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"depth\") (args variable)))",
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"depth\") (args variable)))",
+ "(clause (binop \"is\" variable))",
+ "(clause (head (compound (functor \"depthBT\") (args variable))) (binop variable \"=\"))",
+ "(clause (binop \"<\" variable) (binop \"is\" variable))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (binop \"<\" variable))",
+ "(clause (compound (functor \"depth\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (compound (functor \"depthBT\") (args variable)))",
+ "(clause (binop \"=<\" variable))",
+ "(clause (binop variable \">\") (binop \"is\" variable))",
+ "(clause (compound (functor \"depth\") (args (args variable))) (compound (functor \"max\") (args (list (h variable)))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (compound (functor \"depthBT\") (args variable)))",
+ "(clause (binop variable \"=\" (binop \"+\" \"1\")))",
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (binop \"=\" (binop variable \"+\" \"1\")))",
+ "(clause (binop \"=\" (binop \"+\" \"1\")))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (compound (functor \"max\") (args variable)))",
+ "(clause (binop variable \">=\") (binop \"=\" variable))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (compound (functor \"max\") (args (args variable))))",
+ "(clause (head (compound (functor \"max\") (args (args (args variable))))) (binop variable \"is\"))",
+ "(clause (compound (functor \"depth\") (args (args variable))) (compound (functor \"max\") (args (list (t (list (h variable)))))))",
+ "(clause (binop \"=\" variable))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"is\" (binop (binop variable \"+\") \"+\")))",
+ "(clause (head (compound (functor \"depth\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (binop \"<\" variable) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (compound (functor \"depthBT\") (args variable)) (compound (functor \"depthBT\") (args variable)))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"is\" (binop (binop \"+\" variable) \"+\")))",
+ "(clause (compound (functor \"max\") (args (args (args variable)))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"<\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop \">=\" variable) (binop \"<\" variable))",
+ "(clause (head (compound (functor \"depthBT\") (args (args variable)))))",
+ "(clause (binop \">=\" variable) (binop \"is\" variable))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"=\" (binop variable \"+\")))",
+ "(clause (binop \"is\" (binop (binop variable \"+\") \"+\" \"1\")))",
+ "(clause (binop \"is\" (binop (binop \"+\" variable) \"+\" \"1\")))",
+ "(clause (binop \"is\" (binop variable \"+\")) (binop \"=\" variable))",
+ "(clause (binop \"is\" (binop variable \"+\")) (binop variable \">\"))",
+ "(clause (binop \"is\" (binop \"+\" variable)))",
+ "(clause (binop variable \"=\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"is\") (binop variable \">\"))",
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args variable (args variable)))))))",
+ "(clause (compound (functor \"depth\") (args (args variable))) (binop \">=\" variable))",
+ "(clause (binop variable \"is\") (binop \">\" variable))",
+ "(clause (binop variable \"=\" \"0\"))",
+ "(clause (binop \"is\" \"1\"))",
+ "(clause (binop \"=\" \"0\"))",
+ "(clause (binop variable \"is\" \"1\"))",
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args (args variable (args variable))))))))",
+ "(clause (compound (functor \"depth\") (args (args variable))) (binop variable \">=\"))",
+ "(clause (head (compound (functor \"max\") (args (args variable)))) (binop variable \">\"))",
+ "(clause (head (compound (functor \"max\") (args (args variable)))) (binop \">=\" variable))",
+ "(clause (binop variable \"is\") (binop variable \">=\"))",
+ "(clause (compound (functor \"max\") (args (list (h variable)))))",
+ "(clause (binop variable \">=\") (binop variable \"<\"))",
+ "(clause (head (compound (functor \"max\") (args (args (args variable))))) (binop variable \">=\"))",
+ "(clause (head (compound (functor \"depth\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"depth\") (args variable)))",
+ "(clause (head (compound (functor \"max\") (args variable (args (args variable))))))",
+ "(clause (head (compound (functor \"max\") (args variable))) (binop variable \">\"))",
+ "(clause (binop variable \">=\") (binop \"is\" (binop \"+\" variable)))",
+ "(clause (head (compound (functor \"max\") (args (args variable)))) (binop \">\" variable))",
+ "(clause (head (compound (functor \"max\") (args variable))) (binop \"is\" variable))",
+ "(clause (binop variable \"is\") (binop variable \"=\"))",
+ "(clause (binop \"is\" variable) (binop variable \"<\"))",
+ "(clause (compound (functor \"depthBT\") (args variable)))",
+ "(clause (binop variable \"is\") (binop \">=\" variable))",
+ "(clause (binop \"is\" (binop variable \"+\")) (binop variable \"=<\"))",
+ "(clause (binop \"=<\" variable) (binop \"is\" variable))",
+ "(clause (head (compound (functor \"max\") (args variable))) (binop variable \">=\"))",
+ "(clause (binop variable \"is\") (compound (functor \"max\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"max\") (args (args variable (args variable))))))",
+ "(clause (head (compound (functor \"depth\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"depth\") (args variable)))",
+ "(clause (binop variable \"<\") (binop variable \"is\"))",
+ "(clause (compound (functor \"max\") (args (args variable))))",
+ "(clause (head (compound (functor \"depthBT\") (args (args variable)))) (compound (functor \"depthBT\") (args (args variable))))",
+ "(clause (binop variable \">\") (binop \"is\" (binop \"+\" variable)))",
+ "(clause (head (compound (functor \"max\") (args (args variable)))) (binop \"is\" variable))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"depthBT\") (args (args variable))))",
+ "(clause (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 55,
+ 1
+ ],
+ "quality": 0.9366155799012119
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"depthBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 75,
+ 5
+ ],
+ "quality": 0.9068719016525688
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"depth\") (args variable)))"
+ ],
+ "distribution": [
+ 18,
+ 0
+ ],
+ "quality": 0.88342672157224
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"max\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (compound (functor \"max\") (args (list (h variable)))))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (compound (functor \"max\") (args (list (t (list (h variable)))))))",
+ "(clause (head (compound (functor \"depthBT\") (args (args \"0\")))))"
+ ],
+ "distribution": [
+ 4,
+ 58
+ ],
+ "quality": 0.8786972541533745
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"depth\") (args variable)))"
+ ],
+ "distribution": [
+ 17,
+ 0
+ ],
+ "quality": 0.8763783057741319
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \">=\"))",
+ "(clause (binop variable \">\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \">\"))"
+ ],
+ "distribution": [
+ 0,
+ 21
+ ],
+ "quality": 0.8624830571857203
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop variable \"=\"))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"=\" variable))"
+ ],
+ "distribution": [
+ 16,
+ 0
+ ],
+ "quality": 0.827214870304354
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"depth\") (args (args variable))) (compound (functor \"max\") (args (list (h variable)))))"
+ ],
+ "distribution": [
+ 12,
+ 0
+ ],
+ "quality": 0.8189377121994933
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \">=\"))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \">\"))"
+ ],
+ "distribution": [
+ 1,
+ 22
+ ],
+ "quality": 0.8144128532392234
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"depthBT\") (args (compound (functor \"b\") (args (args (args variable))))))))"
+ ],
+ "distribution": [
+ 11,
+ 0
+ ],
+ "quality": 0.8013049557929117
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 10,
+ 0
+ ],
+ "quality": 0.7814052617118917
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"is\" (binop (binop variable \"+\") \"+\")))"
+ ],
+ "distribution": [
+ 9,
+ 0
+ ],
+ "quality": 0.7547051760861178
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"depth\") (args (args variable))) (binop \"is\" (binop variable \"+\")))"
+ ],
+ "distribution": [
+ 8,
+ 0
+ ],
+ "quality": 0.7240209586644614
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"depthBT\") (args (args \"0\")))))",
+ "(clause (binop variable \">\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \">\" variable))"
+ ],
+ "distribution": [
+ 19,
+ 59
+ ],
+ "quality": 0.6952644822192884
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"depthBT\") (args (args variable)))))"
+ ],
+ "distribution": [
+ 7,
+ 0
+ ],
+ "quality": 0.6819019447846737
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop variable \"=\" (binop \"+\" \"1\")))"
+ ],
+ "distribution": [
+ 7,
+ 0
+ ],
+ "quality": 0.6819019447846737
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \">=\"))",
+ "(clause (binop \"is\" (binop variable \"+\")))"
+ ],
+ "distribution": [
+ 12,
+ 35
+ ],
+ "quality": 0.6526722399516018
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"depthBT\") (args (args \"0\")))))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"is\"))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop variable \">=\"))"
+ ],
+ "distribution": [
+ 22,
+ 57
+ ],
+ "quality": 0.6437125697968822
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"depthBT\") (args (args \"0\")))))",
+ "(clause (compound (functor \"depthBT\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 50,
+ 101
+ ],
+ "quality": 0.6343527335143584
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop variable \">=\") (binop \"is\" (binop \"+\" variable)))"
+ ],
+ "distribution": [
+ 0,
+ 5
+ ],
+ "quality": 0.6063748391885129
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop \"=<\" variable) (binop \"is\" (binop variable \"+\")))"
+ ],
+ "distribution": [
+ 14,
+ 22
+ ],
+ "quality": 0.4751491653292199
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/trees/insertbt_3/bugs.json b/prolog/problems/trees/insertbt_3/bugs.json
new file mode 100644
index 0000000..5dfe22a
--- /dev/null
+++ b/prolog/problems/trees/insertbt_3/bugs.json
@@ -0,0 +1,239 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"insertBT\") (args variable (args (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"insertBT\") (args variable))) (compound (functor \"insertBT\") (args variable)))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (binop variable \"=\"))",
+ "(clause (head (compound (functor \"insertBT\") (args variable))) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (compound (functor \"deleteBT\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args variable))))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args variable))) (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"insertBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"insertBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args variable))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (compound (functor \"insertBT\") (args variable)))",
+ "(clause (compound (functor \"insertBT\") (args (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args (args (args variable))))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args variable))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args variable)))))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args (compound (functor \"b\") (args variable))))))) (compound (functor \"insertBT\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))) (compound (functor \"insertBT\") (args (args (args variable)))))",
+ "(clause (compound (functor \"insertBT\") (args (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"insertBT\") (args variable)))",
+ "(clause (compound (functor \"insertBT\") (args (args (args variable)))))",
+ "(clause (compound (functor \"insertBT\") (args (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"imInsert\") (args variable (args (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args (compound (functor \"b\") (args (args variable)))))))) (compound (functor \"insertBT\") (args variable)))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args variable))))) (compound (functor \"insertBT\") (args (args (args variable)))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"imInsert\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"imInsert\") (args variable)))",
+ "(clause (head (compound (functor \"moveUp\") (args (args (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"imInsert\") (args variable)))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (compound (functor \"delete\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args variable))))) (compound (functor \"delete\") (args (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args variable))) (compound (functor \"delete\") (args variable)))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args variable)))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable)))))))))",
+ "(clause (compound (functor \"deleteBT\") (args (args (args variable)))) (compound (functor \"insertBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args variable))) (args (compound (functor \"b\") (args (args (args variable))))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args variable))) (compound (functor \"insert\") (args variable)))",
+ "(clause (binop variable \"=\") (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args variable))) (args (compound (functor \"b\") (args variable))))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))) (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))) (compound (functor \"insertBT\") (args variable)))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable (args (compound (functor \"b\") (args variable))))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable (args (compound (functor \"b\") (args (args (args variable))))))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args variable (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable)))))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args (compound (functor \"b\") (args variable))))))))))",
+ "(clause (compound (functor \"insert\") (args (args variable))))",
+ "(clause (compound (functor \"insert\") (args variable)))",
+ "(clause (head (compound (functor \"insertBT\") (args (args variable (args variable))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))))))))",
+ "(clause (head (compound (functor \"insertBT\") (args variable (args (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable)))))))))))))",
+ "(clause (head (compound (functor \"insertTOP\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"insertTOP\") (args variable)))",
+ "(clause (head (compound (functor \"insertTOP\") (args (args (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"insertTOP\") (args variable))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args (compound (functor \"b\") (args variable))))))) (compound (functor \"imInsert\") (args (args (args variable)))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (compound (functor \"moveUp\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args (compound (functor \"b\") (args variable))))))) (compound (functor \"moveUp\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))) (compound (functor \"moveUp\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"moveUp\") (args variable))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"moveUp\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"moveUp\") (args variable)))",
+ "(clause (head (compound (functor \"imInsert\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"imInsert\") (args (args variable))))",
+ "(clause (compound (functor \"insertTOP\") (args (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"imInsert\") (args (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (compound (functor \"b\") (args variable))))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"insert\") (args (args variable))))",
+ "(clause (compound (functor \"insertTOP\") (args (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"imInsert\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))) (compound (functor \"imInsert\") (args (args (args variable)))))",
+ "(clause (compound (functor \"insert\") (args (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"moveUp\") (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"imInsert\") (args (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args variable))))))))",
+ "(clause (head (compound (functor \"moveUp\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"moveUp\") (args variable)))",
+ "(clause (head (compound (functor \"imInsert\") (args (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args (args (args variable))))))))))",
+ "(clause (head (compound (functor \"moveUp\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"moveUp\") (args (args variable))))",
+ "(clause (head (compound (functor \"moveUp\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"moveUp\") (args (args variable))))",
+ "(clause (compound (functor \"insertTOP\") (args (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args (compound (functor \"b\") (args (args (args variable))))))))) (compound (functor \"imInsert\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"imInsert\") (args (args variable))))",
+ "(clause (head (compound (functor \"moveUp\") (args (compound (functor \"b\") (args (args variable)))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args variable (args (args variable))))))",
+ "(clause (compound (functor \"insertTOP\") (args variable)))",
+ "(clause (head (compound (functor \"imInsert\") (args (args (args (compound (functor \"b\") (args variable))))))) (compound (functor \"imInsert\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"moveUp\") (args variable)))",
+ "(clause (head (compound (functor \"imInsert\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"imInsert\") (args (args variable))))",
+ "(clause (head (compound (functor \"moveUp\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (compound (functor \"moveUp\") (args (args (args variable)))))"
+ ],
+ "rules": [
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (compound (functor \"deleteBT\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"insertBT\") (args (args (args variable))))) (compound (functor \"deleteBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 1,
+ 91
+ ],
+ "quality": 0.9693250605733864
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args (args (args variable))))) (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 41,
+ 1
+ ],
+ "quality": 0.9303792838699102
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args variable))) (compound (functor \"deleteBT\") (args variable)))"
+ ],
+ "distribution": [
+ 7,
+ 92
+ ],
+ "quality": 0.9121720515644586
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args variable))) (compound (functor \"insertBT\") (args variable)))"
+ ],
+ "distribution": [
+ 58,
+ 4
+ ],
+ "quality": 0.9029378963165624
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"insertBT\") (args variable)))"
+ ],
+ "distribution": [
+ 16,
+ 0
+ ],
+ "quality": 0.8855548062796669
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))))"
+ ],
+ "distribution": [
+ 10,
+ 0
+ ],
+ "quality": 0.817072229454041
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (compound (functor \"delete\") (args (args (args variable)))))"
+ ],
+ "distribution": [
+ 9,
+ 0
+ ],
+ "quality": 0.7970543398892662
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args (args (args variable))))))"
+ ],
+ "distribution": [
+ 8,
+ 0
+ ],
+ "quality": 0.7731634335948153
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))) (compound (functor \"deleteBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 8,
+ 0
+ ],
+ "quality": 0.7731634335948153
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args (args variable)))))"
+ ],
+ "distribution": [
+ 7,
+ 0
+ ],
+ "quality": 0.7420575550991563
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args (args variable (args (compound (functor \"b\") (args variable))))))))"
+ ],
+ "distribution": [
+ 7,
+ 0
+ ],
+ "quality": 0.7420575550991563
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"insertBT\") (args variable (args (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable)))))))))))"
+ ],
+ "distribution": [
+ 6,
+ 0
+ ],
+ "quality": 0.7028226698532295
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/trees/maxt_2/bugs.json b/prolog/problems/trees/maxt_2/bugs.json
new file mode 100644
index 0000000..2f581d1
--- /dev/null
+++ b/prolog/problems/trees/maxt_2/bugs.json
@@ -0,0 +1,382 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"maxT\") (args variable))) (binop variable \"=..\"))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (binop variable \"=\"))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"t\") (args variable)) (args variable)))))",
+ "(clause (binop \">=\" variable))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (compound (functor \"max\") (args (args variable))))",
+ "(clause (binop \">\" variable))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (binop variable \"is\"))",
+ "(clause (binop \"=\" variable))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop \"=\" variable))",
+ "(clause (binop variable \">\") (binop \"=\" variable))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (compound (functor \"max\") (args (list (h variable)))))",
+ "(clause (binop variable \">=\") (binop \"=\" variable))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop variable \">\"))",
+ "(clause (binop variable \">=\"))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop \"is\" variable))",
+ "(clause (binop variable \">=\") (binop \"is\" variable))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop \"is\" variable))",
+ "(clause (binop variable \"=<\"))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (binop \"<\" variable) (binop \"=\" variable))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop variable \">=\"))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (binop variable \">\"))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop variable \">\"))",
+ "(clause (binop variable \">\") (binop \"is\" variable))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memb\") (args (args variable))))",
+ "(clause (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (binop \"=<\" variable) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"maxSubT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop \">\" variable))",
+ "(clause (binop variable \"<\"))",
+ "(clause (head (compound (functor \"maxTList\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop \">=\" variable))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop variable \">=\"))",
+ "(clause (compound (functor \"maxTList\") (args (args variable))) (binop \"is\" variable))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))))",
+ "(clause (compound (functor \"maxSubT\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"maxTList\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxSubT\") (args variable)))",
+ "(clause (head (compound (functor \"maxTL\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (binop \"is\" variable))",
+ "(clause (compound (functor \"maxTList\") (args (args variable))) (binop variable \">=\"))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop variable \"=<\"))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop \">\" variable))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop variable \"<\"))",
+ "(clause (head (compound (functor \"maxSubT\") (args (list (t variable))))) (compound (functor \"maxSubT\") (args variable)))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop variable \"=<\"))",
+ "(clause (head (compound (functor \"maxSubT\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxTList\") (args variable)))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop variable \"<\"))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop \"=<\" variable))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"maxSubT\") (args (args variable))) (binop \">=\" variable))",
+ "(clause (binop variable \"=\") (binop \"=\" variable))",
+ "(clause (head (compound (functor \"maxT\") (args variable))) (compound (functor \"findall\") (args (args (compound (functor \"memberT\") (args (args variable)))))))",
+ "(clause (compound (functor \"findall\") (args (args (args variable)))) (compound (functor \"max\") (args variable)))",
+ "(clause (compound (functor \"getMaxElems\") (args (args variable))) (compound (functor \"max\") (args (list (t variable)))))",
+ "(clause (binop \"=<\" variable))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop \">=\" variable))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"getMaxElems\") (args variable)))",
+ "(clause (head (compound (functor \"maxT\") (args (args \"0\")))))",
+ "(clause (head (compound (functor \"maxT\") (args \"[]\"))))",
+ "(clause (compound (functor \"findall\") (args variable (args (compound (functor \"memberT\") (args variable))))))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxTList\") (args (args variable)))) (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxT\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (head (compound (functor \"maxTList\") (args (list (t variable))))) (compound (functor \"maxTList\") (args variable)))",
+ "(clause (head (compound (functor \"maxTL\") (args (list (t variable))))) (compound (functor \"maxTL\") (args variable)))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop \"<\" variable))",
+ "(clause (head (compound (functor \"maxT\") (args variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"maxT\") (args variable))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"getMaxElems\") (args (list (t variable))))) (compound (functor \"getMaxElems\") (args variable)))",
+ "(clause (head (compound (functor \"getMaxElems\") (args (args (list (h variable)))))) (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (head (compound (functor \"getMaxElems\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"getMaxElems\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"getMaxElems\") (args (args (list (t variable)))))) (compound (functor \"getMaxElems\") (args (args variable))))",
+ "(clause (head (compound (functor \"getMaxElems\") (args \"[]\" (args \"[]\")))))",
+ "(clause (head (compound (functor \"getMaxElems\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (binop \"=\" (list (h variable))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxSubtree\") (args variable)))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (binop variable \"=..\"))",
+ "(clause (head (compound (functor \"maxTrees\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (binop variable \"=\") (binop variable \">\"))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxTL\") (args variable)))",
+ "(clause (compound (functor \"maxRek\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (compound (functor \"maxTrees\") (args (args variable))) (binop \"is\" variable))",
+ "(clause (binop \"<\" variable))",
+ "(clause (binop \"=..\" (list (t (list (h variable) (t \"[]\"))))))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (compound (functor \"max\") (args (list (t (list (h variable)))))))",
+ "(clause (head (compound (functor \"memberT\") (args (args variable)))) (binop variable \"=..\"))",
+ "(clause (binop variable \"=..\" (list (t (list (t \"[]\"))))))",
+ "(clause (binop \"=..\" (list (t (list (t \"[]\"))))))",
+ "(clause (binop \"=<\" variable) (binop \"is\" variable))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (compound (functor \"max\") (args (list (t (list (h variable)))))))",
+ "(clause (compound (functor \"maxTL\") (args (args variable))) (binop \">\" variable))",
+ "(clause (compound (functor \"maxTL\") (args (args variable))) (compound (functor \"max\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"maxRek\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (binop \"<\" variable) (binop \"is\" variable))",
+ "(clause (compound (functor \"maxTList\") (args (args variable))) (binop \">=\" variable))",
+ "(clause (head (compound (functor \"maxT\") (args (list (t variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"t\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"maxRek\") (args (list (h (compound (functor \"t\") (args variable)))) (args variable)))))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (binop \">\" variable))",
+ "(clause (head (compound (functor \"maxTlist\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"t\") (args (args (args variable))))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (head (compound (functor \"maxT\") (args \"[]\" (args \"0\")))))",
+ "(clause (head (compound (functor \"maxList\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (compound (functor \"max\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"maxList\") (args (list (t variable))))) (compound (functor \"maxList\") (args variable)))",
+ "(clause (head (compound (functor \"maxTL\") (args (args variable)))) (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxTSub\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"maxTrees\") (args (args variable))) (binop \">\" variable))",
+ "(clause (compound (functor \"maxTList\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxTSub\") (args variable)))",
+ "(clause (compound (functor \"maxSubtree\") (args (args variable))) (compound (functor \"max\") (args (list (t variable)))))",
+ "(clause (head (compound (functor \"maximum\") (args (args (args variable))))) (binop variable \"=\"))",
+ "(clause (compound (functor \"memberT\") (args variable)) (binop variable \">\"))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxList\") (args variable)))",
+ "(clause (compound (functor \"maxSubT\") (args (args variable))) (compound (functor \"maximum\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxLT\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (head (compound (functor \"max\") (args (args variable)))))",
+ "(clause (head (compound (functor \"maxTree\") (args (args (list (t variable)))))) (compound (functor \"maxTree\") (args (args variable))))",
+ "(clause (compound (functor \"maxTL\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"maxTSub\") (args (args (list (h variable)))))) (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxTSub\") (args (list (t variable))))) (compound (functor \"maxTSub\") (args variable)))",
+ "(clause (head (compound (functor \"maxSubtree\") (args variable))) (binop variable \"=..\"))",
+ "(clause (head (compound (functor \"max\") (args (list (t (list (h variable))))))))",
+ "(clause (head (compound (functor \"max\") (args (list (h variable))))))",
+ "(clause (head (compound (functor \"maxTrees\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxRek\") (args variable)))",
+ "(clause (head (compound (functor \"maxSubtree\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (compound (functor \"write\") (args variable)) (binop \"=\" variable))",
+ "(clause (binop variable \"=\") (binop variable \"<\"))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"t\") (args variable))))) (binop \">\" variable))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"b\") (args (args variable))) (args variable)))))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"maxSubT\") (args (args variable))) (binop \"<\" variable))",
+ "(clause (head (compound (functor \"novP\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (compound (functor \"novP\") (args (args variable))) (binop \"=<\" variable))",
+ "(clause (compound (functor \"memberT\") (args variable)) (binop \"is\" variable))",
+ "(clause (compound (functor \"novP\") (args (args variable))) (binop \">\" variable))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxLT\") (args variable)))",
+ "(clause (compound (functor \"write\") (args variable)) (binop variable \"=<\"))",
+ "(clause (head (compound (functor \"maxTL\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (compound (functor \"maxT\") (args variable)) (binop variable \">\"))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxTrees\") (args variable)))",
+ "(clause (head (compound (functor \"maxRek\") (args (list (t variable))))) (compound (functor \"maxRek\") (args variable)))",
+ "(clause (compound (functor \"write\") (args variable)) (binop variable \">\"))",
+ "(clause (binop \">\" variable) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"maxTL\") (args (args variable)))))",
+ "(clause (head (compound (functor \"maxTL\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (compound (functor \"maxTL\") (args (args variable))) (binop \"is\" variable))",
+ "(clause (head (compound (functor \"maxTree\") (args (args (list (h variable)))))) (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"t\") (args (args variable)))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"novP\") (args (args variable))) (binop \"is\" variable))",
+ "(clause (head (compound (functor \"maxTSub\") (args (args (list (t variable)))))) (compound (functor \"maxTSub\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"t\") (args variable))))) (binop \"=\" variable))",
+ "(clause (compound (functor \"maxT\") (args variable)) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"maxLT\") (args (list (t variable))))) (compound (functor \"maxLT\") (args variable)))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (binop variable \">\"))",
+ "(clause (head (compound (functor \"maxTrees\") (args (list (t variable))))) (compound (functor \"maxTrees\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxST\") (args variable)))",
+ "(clause (compound (functor \"maxTlist\") (args (args variable))) (binop \"<\" variable))",
+ "(clause (head (compound (functor \"maxST\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"maxTL\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxST\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"maxSubT\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"maxST\") (args (list (t variable))))) (compound (functor \"maxST\") (args variable)))",
+ "(clause (head (compound (functor \"maxST\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (head (compound (functor \"maxST\") (args \"[]\" (args \"[]\")))))",
+ "(clause (head (compound (functor \"maxSubtree\") (args \"[]\" (args \"[]\")))))",
+ "(clause (head (compound (functor \"maxSubtree\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"maxT\") (args (list (h variable)) (args variable)))))",
+ "(clause (head (compound (functor \"maxSubtree\") (args (args \"[]\")))))",
+ "(clause (compound (functor \"maxST\") (args (args variable))) (binop \"=\" (list (t variable))))",
+ "(clause (compound (functor \"maxTlist\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (binop variable \"is\") (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (compound (functor \"maxLT\") (args (args variable))) (binop \">\" variable))",
+ "(clause (binop \">=\" variable) (binop \"is\" variable))",
+ "(clause (compound (functor \"maxTSub\") (args (args variable))) (compound (functor \"max\") (args (list (t variable)))))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxT\") (args \"[]\" (args \"[]\")))))",
+ "(clause (head (compound (functor \"maxTree\") (args \"[]\" (args \"[]\")))))",
+ "(clause (compound (functor \"maxLT\") (args (args variable))) (binop \"=<\" variable))",
+ "(clause (head (compound (functor \"maxTList\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (compound (functor \"maxRek\") (args (args variable))) (binop variable \">\"))",
+ "(clause (head (compound (functor \"maxT\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"maxTlist\") (args variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"maxTree\") (args \"[]\"))))",
+ "(clause (binop \"=\" (list (t variable))) (compound (functor \"maxTlist\") (args variable)))",
+ "(clause (compound (functor \"findall\") (args variable (args (compound (functor \"maxT\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"maxTree\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"maxT\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (binop \"<\" variable))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (compound (functor \"write\") (args variable)))",
+ "(clause (compound (functor \"maxTL\") (args variable)))",
+ "(clause (binop \"=\" (list (t (list (h variable))))) (binop \"is\" variable))",
+ "(clause (compound (functor \"maxRek\") (args (args variable))) (binop \">=\" variable))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"maxL\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (binop \"=..\" variable) (binop variable \"=\"))",
+ "(clause (compound (functor \"maxL\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (binop \">\" variable) (binop \"is\" variable))",
+ "(clause (head (compound (functor \"novP\") (args (list (h variable))))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (head (compound (functor \"maximum\") (args variable))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"maxSubT\") (args (args variable)))) (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (head (compound (functor \"maxT\") (args variable (args (compound (functor \"t\") (args variable)))))))",
+ "(clause (compound (functor \"maxTL\") (args (args variable))) (compound (functor \"max\") (args (list (t (list (h variable)))))))",
+ "(clause (head (compound (functor \"maxSubT\") (args (args variable)))) (compound (functor \"maximum\") (args (args (args variable)))))",
+ "(clause (binop variable \"=..\") (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"findall\") (args (args (compound (functor \"memb\") (args variable)) (compound (functor \"maxT\") (args variable))))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"findall\") (args (args (compound (functor \"memb\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"maxST\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (compound (functor \"maxL\") (args (args variable))) (binop \"<\" variable))",
+ "(clause (compound (functor \"max\") (args (args variable))) (binop \">=\" variable))",
+ "(clause (head (compound (functor \"maximum\") (args (args variable)))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"maxT\") (args variable (args variable)))))",
+ "(clause (compound (functor \"maxSubtree\") (args (args variable))) (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"maximum\") (args (args variable)))) (binop \">\" variable))",
+ "(clause (compound (functor \"maxTList\") (args (args variable))) (binop \"<\" variable))",
+ "(clause (head (compound (functor \"maxList\") (args \"[]\"))))",
+ "(clause (compound (functor \"maxSubT\") (args (args variable))))",
+ "(clause (head (compound (functor \"maximum\") (args variable))) (binop variable \">\"))",
+ "(clause (head (compound (functor \"maxT\") (args (compound (functor \"t\") (args (args (args variable)))) (args variable)))))",
+ "(clause (head (compound (functor \"maxSubT\") (args (args (list (t variable)))))) (compound (functor \"maxSubT\") (args (args variable))))",
+ "(clause (binop \"=\" (list (t variable))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"maxL\") (args (args variable))) (binop \">=\" variable))",
+ "(clause (head (compound (functor \"maxTL\") (args (args variable)))) (compound (functor \"max\") (args (args variable))))",
+ "(clause (compound (functor \"maxST\") (args (args variable))) (compound (functor \"max\") (args (list (t variable)))))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (compound (functor \"maximum\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop \"<\" variable))",
+ "(clause (compound (functor \"maxT\") (args variable)))",
+ "(clause (compound (functor \"maxList\") (args (args variable))) (binop \"<\" variable))",
+ "(clause (head (compound (functor \"maxT\") (args variable))) (compound (functor \"maxT\") (args variable)))",
+ "(clause (head (compound (functor \"maxSubT\") (args (args (list (h variable)))))) (compound (functor \"maxT\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxTree\") (args (args variable))))",
+ "(clause (compound (functor \"maxList\") (args (args variable))) (binop \">\" variable))",
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (compound (functor \"maximum\") (args (args (args variable)))))",
+ "(clause (binop \"=\" \"[]\"))",
+ "(clause (compound (functor \"maxT\") (args (args variable))) (compound (functor \"maximum\") (args variable)))",
+ "(clause (binop variable \"=\" \"[]\"))",
+ "(clause (compound (functor \"maxT\") (args variable)) (compound (functor \"maxSubtree\") (args variable)))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"maxT\") (args variable)))"
+ ],
+ "distribution": [
+ 47,
+ 0
+ ],
+ "quality": 0.9584153667682335
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"=..\" (list (t (list (h variable))))))"
+ ],
+ "distribution": [
+ 45,
+ 0
+ ],
+ "quality": 0.956066696736247
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memb\") (args (args variable))))"
+ ],
+ "distribution": [
+ 39,
+ 0
+ ],
+ "quality": 0.9471176544792916
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"maxT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 33,
+ 0
+ ],
+ "quality": 0.9342937036806089
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"maxT\") (args (args variable))) (binop \">\" variable))"
+ ],
+ "distribution": [
+ 27,
+ 0
+ ],
+ "quality": 0.9141100017512997
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))) (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 112,
+ 8
+ ],
+ "quality": 0.9066949182918677
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop variable \"=\"))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop variable \">=\"))"
+ ],
+ "distribution": [
+ 34,
+ 0
+ ],
+ "quality": 0.8908437185753054
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"maxT\") (args (args \"0\")))))"
+ ],
+ "distribution": [
+ 22,
+ 0
+ ],
+ "quality": 0.8895311658480561
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"maxT\") (args (args variable)))))"
+ ],
+ "distribution": [
+ 18,
+ 0
+ ],
+ "quality": 0.8529153645194049
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"getMaxElems\") (args variable)))",
+ "(clause (head (compound (functor \"getMaxElems\") (args (list (t variable))))) (compound (functor \"getMaxElems\") (args variable)))"
+ ],
+ "distribution": [
+ 0,
+ 18
+ ],
+ "quality": 0.8442166232913237
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"findall\") (args (args (args variable)))) (compound (functor \"max\") (args variable)))",
+ "(clause (compound (functor \"findall\") (args variable (args (compound (functor \"memberT\") (args variable))))))"
+ ],
+ "distribution": [
+ 1,
+ 13
+ ],
+ "quality": 0.7129398863248633
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/trees/memberbt_2/bugs.json b/prolog/problems/trees/memberbt_2/bugs.json
new file mode 100644
index 0000000..24ab121
--- /dev/null
+++ b/prolog/problems/trees/memberbt_2/bugs.json
@@ -0,0 +1,322 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args variable (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args (args variable)))))))))",
+ "(clause (compound (functor \"memberBT\") (args variable)))",
+ "(clause (compound (functor \"memberBT\") (args variable)) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable)))))))",
+ "(clause (binop variable \"=\"))",
+ "(clause (head (compound (functor \"memberBT\") (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args variable))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable (args variable)))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (compound (functor \"member\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (compound (functor \"memberBT\") (args variable)) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"member\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"member\") (args (args variable))))",
+ "(clause (binop variable \"\\=\") (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args variable)))))",
+ "(clause (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBR\") (args variable))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (binop variable \"\\=\") (compound (functor \"memberBT\") (args variable)))",
+ "(clause (binop \"=\" variable))",
+ "(clause (head (compound (functor \"memberBT\") (args (args variable)))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (compound (functor \"member\") (args variable)))",
+ "(clause (binop variable \"==\"))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (binop variable \"is\"))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"is\" variable))",
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"b\") (args (args variable)))))",
+ "(clause (compound (functor \"memberBT\") (args variable)) (binop \"=\" variable))",
+ "(clause (binop variable \"is\") (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable)))))) (binop variable \"\\=\"))",
+ "(clause (binop variable \"=\") (binop variable \"=\"))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"==\" variable))",
+ "(clause (head (compound (functor \"memberBT\") (args variable (args variable)))))",
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (binop variable \"==\"))",
+ "(clause (head (compound (functor \"member\") (args variable (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args variable (args (list (t (list (h variable)))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (binop variable \"\\=\"))",
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (binop variable \"\\=\"))",
+ "(clause (head (compound (functor \"memberBT\") (args variable (args (compound (functor \"b\") (args variable)))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (binop variable \"=\") (compound (functor \"memberBT\") (args variable)))",
+ "(clause (compound (functor \"b\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"memberBR\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBR\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (compound (functor \"b\") (args (args variable))))",
+ "(clause (head (compound (functor \"member\") (args variable))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (compound (functor \"b\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"\\=\" variable))",
+ "(clause (compound (functor \"member\") (args variable)) (compound (functor \"member\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args variable (args (compound (functor \"b\") (args (args (args variable)))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"memberB\") (args variable))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args variable)))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (binop \"=\" variable))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"memberBT\") (args variable)) (compound (functor \"memberBT\") (args variable)))"
+ ],
+ "distribution": [
+ 91,
+ 0
+ ],
+ "quality": 0.9806574107120732
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (compound (functor \"member\") (args variable)))"
+ ],
+ "distribution": [
+ 23,
+ 0
+ ],
+ "quality": 0.9162605207203031
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args (args variable)))))))))",
+ "(clause (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))))"
+ ],
+ "distribution": [
+ 6,
+ 88
+ ],
+ "quality": 0.901358600101629
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args (args variable)))))))))",
+ "(clause (compound (functor \"memberBT\") (args variable)))"
+ ],
+ "distribution": [
+ 8,
+ 89
+ ],
+ "quality": 0.8841395431693414
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))))"
+ ],
+ "distribution": [
+ 13,
+ 111
+ ],
+ "quality": 0.8678925934418005
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args (args variable)))))))))"
+ ],
+ "distribution": [
+ 20,
+ 0
+ ],
+ "quality": 0.8677075196554401
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"memberBT\") (args variable)))"
+ ],
+ "distribution": [
+ 15,
+ 0
+ ],
+ "quality": 0.8672228487886583
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args variable (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (compound (functor \"memberBT\") (args variable)))"
+ ],
+ "distribution": [
+ 17,
+ 119
+ ],
+ "quality": 0.8498481937811803
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"memberBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 13,
+ 0
+ ],
+ "quality": 0.8445950967995844
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))))"
+ ],
+ "distribution": [
+ 1,
+ 26
+ ],
+ "quality": 0.8445518795467187
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args (args variable)))))"
+ ],
+ "distribution": [
+ 12,
+ 0
+ ],
+ "quality": 0.8290348333259117
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args (args variable)))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args variable))))))))"
+ ],
+ "distribution": [
+ 4,
+ 41
+ ],
+ "quality": 0.8241813465267347
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"member\") (args variable)))"
+ ],
+ "distribution": [
+ 10,
+ 0
+ ],
+ "quality": 0.7930377038814806
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"memberBT\") (args variable)) (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 10,
+ 0
+ ],
+ "quality": 0.7930377038814806
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args variable))))))))"
+ ],
+ "distribution": [
+ 6,
+ 42
+ ],
+ "quality": 0.7921836824497472
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"memberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args (args variable)))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"memberBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 39,
+ 134
+ ],
+ "quality": 0.7530309477088872
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable (args variable)))))"
+ ],
+ "distribution": [
+ 8,
+ 0
+ ],
+ "quality": 0.7407021745709099
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\" variable))"
+ ],
+ "distribution": [
+ 3,
+ 21
+ ],
+ "quality": 0.7090377752382846
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"memberBT\") (args variable)))"
+ ],
+ "distribution": [
+ 7,
+ 0
+ ],
+ "quality": 0.6981908274110581
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberBT\") (args variable))) (compound (functor \"memberBT\") (args variable)))",
+ "(clause (head (compound (functor \"memberBT\") (args variable (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"memberBT\") (args (args (compound (functor \"b\") (args variable (args (args variable)))))))))"
+ ],
+ "distribution": [
+ 59,
+ 136
+ ],
+ "quality": 0.6773900662364584
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/trees/membert_2/bugs.json b/prolog/problems/trees/membert_2/bugs.json
new file mode 100644
index 0000000..ba99af8
--- /dev/null
+++ b/prolog/problems/trees/membert_2/bugs.json
@@ -0,0 +1,395 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"memberT\") (args (args variable)))) (binop variable \"=..\"))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (head (compound (functor \"memberT\") (args variable (args (compound (functor \"t\") (args variable)))))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop variable \"=\"))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memb\") (args (args variable))))",
+ "(clause (binop \"=..\" variable) (binop variable \"=\"))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (compound (functor \"memberT\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop \"=\" variable))",
+ "(clause (binop variable \"=\"))",
+ "(clause (binop \"=..\" (list (h variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memb\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"member\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args variable)))))))",
+ "(clause (compound (functor \"member\") (args variable)) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=\" (list (t (list (h variable))))))",
+ "(clause (binop \"=\" (list (t (list (t variable))))))",
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args (args variable))))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberSubT\") (args variable))) (compound (functor \"memberSubT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop \"=\" (list (t (list (h variable))))))",
+ "(clause (binop \"=\" (list (h variable))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberTL\") (args variable)))",
+ "(clause (binop \"=\" (list (t variable))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberSubT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"memberTL\") (args variable))) (compound (functor \"memberTL\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args (args \"[]\")))))",
+ "(clause (binop variable \"=..\"))",
+ "(clause (head (compound (functor \"memberTL\") (args (args (list (t variable)))))) (compound (functor \"memberTL\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memberSubT\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memberTL\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberSubT\") (args (args (list (t variable)))))) (compound (functor \"memberSubT\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberSubT\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberSubT\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"memberTL\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"memberTL\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable (args \"[]\")))))",
+ "(clause (head (compound (functor \"memberT\") (args (args variable)))) (binop \"=..\" variable))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"member\") (args variable)))",
+ "(clause (binop variable \"=\") (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args (args (args variable)))))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (compound (functor \"memb\") (args variable)))",
+ "(clause (compound (functor \"memberT\") (args variable)) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberLT\") (args variable))) (compound (functor \"memberLT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args (args (list (t variable)))))))",
+ "(clause (head (compound (functor \"memberLT\") (args (args (list (t variable)))))) (compound (functor \"memberLT\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop \"==\" variable))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop variable \"==\"))",
+ "(clause (binop variable \"==\"))",
+ "(clause (head (compound (functor \"memberTL\") (args (args (list (t variable)))))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberTList\") (args variable)))",
+ "(clause (head (compound (functor \"memberTL\") (args (args (list (h variable)))))))",
+ "(clause (binop \"=\" (list (h variable))))",
+ "(clause (binop \"=\" (list (t (list (t variable))))) (compound (functor \"memberTList\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args (args (list (t variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (h variable) (t (list (h variable))))))",
+ "(clause (head (compound (functor \"memberT\") (args (args variable)))))",
+ "(clause (head (compound (functor \"memberT\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=\" variable))",
+ "(clause (head (compound (functor \"memberTList\") (args (args (list (t variable)))))) (compound (functor \"memberTList\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberTList\") (args variable))) (compound (functor \"memberTList\") (args variable)))",
+ "(clause (head (compound (functor \"memberTList\") (args (args (list (t variable)))))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberLT\") (args variable)))",
+ "(clause (head (compound (functor \"memberTList\") (args (args (list (h variable)))))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"listmemberT\") (args (args variable))))",
+ "(clause (compound (functor \"memberT\") (args variable)) (compound (functor \"memberSubT\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args (args (args variable)))))))))",
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args variable (args variable))))))))",
+ "(clause (head (compound (functor \"memberLT\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (binop \"=..\" variable))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop variable \"=..\"))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop variable \"=\"))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (compound (functor \"memb\") (args (args (list (h variable))))))",
+ "(clause (binop variable \"=..\") (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberLT\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"iterate\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"iterate\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args variable (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"listmemberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberTList\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"iterate\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberTList\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"iterate\") (args variable (args \"[]\")))))",
+ "(clause (head (compound (functor \"memberLT\") (args (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"iterate\") (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memberL\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberSubT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (binop \"=..\" (list (t variable))))",
+ "(clause (binop \"=\" (list (t (list (t variable))))) (compound (functor \"memb\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberLT\") (args (args (list (t variable)))))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberL\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t (list (h variable))))))))",
+ "(clause (head (compound (functor \"iterate\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"memberT2\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable (args variable)))))",
+ "(clause (head (compound (functor \"listmemberT\") (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args (args (list (h variable)))))) (binop \"=\" variable))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"for\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop \"=..\" (list (h variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"for\") (args variable)))",
+ "(clause (binop \"=\" (list (h variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"for\") (args variable))))",
+ "(clause (binop \"=..\" (list (t variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"memberT2\") (args (args (list (t variable)))))))",
+ "(clause (binop (list (h variable)) \"=..\"))",
+ "(clause (head (compound (functor \"memberT2\") (args variable))) (compound (functor \"memberT2\") (args variable)))",
+ "(clause (head (compound (functor \"memberT2\") (args (args (list (t variable)))))) (compound (functor \"memberT2\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args variable (args (args variable)))))))))",
+ "(clause (binop \"=\" (list (t variable))) (binop variable \"=\"))",
+ "(clause (binop \"=..\" (list (t (list (t (list (h variable))))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT2\") (args (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"listmemberT\") (args (args variable)))) (binop variable \"=..\"))",
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=..\" variable) (compound (functor \"memb\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"iterate\") (args (args variable))))",
+ "(clause (binop variable \"=\") (compound (functor \"memberL\") (args variable)))",
+ "(clause (head (compound (functor \"memberT2\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"member\") (args variable))))",
+ "(clause (binop \"=..\" (list (h variable) (t (list (t variable))))))",
+ "(clause (head (compound (functor \"listmemberT\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" variable))",
+ "(clause (compound (functor \"member\") (args variable)))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"member\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberSubTs\") (args variable)))",
+ "(clause (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"cycleTreeList\") (args (args variable))))",
+ "(clause (head (compound (functor \"for\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args variable (args (list (t (list (h variable)))))))))",
+ "(clause (head (compound (functor \"cycleTreeList\") (args variable))) (compound (functor \"cycleTreeList\") (args variable)))",
+ "(clause (head (compound (functor \"cycleTreeList\") (args (args (list (t variable)))))) (compound (functor \"cycleTreeList\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args (args variable)))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memberSubTs\") (args (args variable))))",
+ "(clause (head (compound (functor \"cycleTreeList\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"cycleTreeList\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"cycleTreeList\") (args variable)))",
+ "(clause (head (compound (functor \"for\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"for\") (args variable))) (compound (functor \"for\") (args variable)))",
+ "(clause (head (compound (functor \"for\") (args (args (list (t variable)))))) (compound (functor \"for\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (binop \"=\" (list (t variable))) (compound (functor \"memberT2\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberList\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberT2\") (args variable)))",
+ "(clause (compound (functor \"memberLT\") (args variable)))",
+ "(clause (head (compound (functor \"for\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"memberL\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (compound (functor \"memb\") (args (args variable))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberList\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberList\") (args variable))) (compound (functor \"memberList\") (args variable)))",
+ "(clause (head (compound (functor \"memberL\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberL\") (args (args (list (t variable)))))) (compound (functor \"memberL\") (args (args variable))))",
+ "(clause (head (compound (functor \"iterate\") (args variable))) (compound (functor \"iterate\") (args variable)))",
+ "(clause (head (compound (functor \"memberSubT\") (args (args \"[]\")))))",
+ "(clause (binop \"=\" (compound (functor \"t\") (args (list (h variable))))))",
+ "(clause (head (compound (functor \"memberL\") (args variable))) (compound (functor \"memberL\") (args variable)))",
+ "(clause (head (compound (functor \"memberList\") (args (args (list (h variable)))))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (head (compound (functor \"memberT\") (args (args (list (t (list (t variable)))))))))",
+ "(clause (head (compound (functor \"memberList\") (args (args (list (t variable)))))) (compound (functor \"memberList\") (args (args variable))))",
+ "(clause (head (compound (functor \"listmemberT\") (args variable))) (compound (functor \"listmemberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"for\") (args variable (args \"[]\")))))",
+ "(clause (head (compound (functor \"iterate\") (args (args (list (t variable)))))) (compound (functor \"iterate\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t variable))) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=\" variable) (compound (functor \"memberT\") (args (args variable))))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memb\") (args variable)))"
+ ],
+ "distribution": [
+ 38,
+ 0
+ ],
+ "quality": 0.9477918569999918
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args variable))))"
+ ],
+ "distribution": [
+ 77,
+ 2
+ ],
+ "quality": 0.9450392289762145
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args variable)))))))"
+ ],
+ "distribution": [
+ 33,
+ 0
+ ],
+ "quality": 0.9376153383664049
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args (args variable))))))) (compound (functor \"memberT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 31,
+ 0
+ ],
+ "quality": 0.9324479060158665
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args variable (args (compound (functor \"t\") (args variable)))))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberT\") (args variable)))"
+ ],
+ "distribution": [
+ 97,
+ 5
+ ],
+ "quality": 0.908925434188538
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop \"=..\" (list (t (list (t variable))))))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memb\") (args (args variable))))"
+ ],
+ "distribution": [
+ 1,
+ 45
+ ],
+ "quality": 0.9028001685740287
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memb\") (args (args variable))))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"memberT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 1,
+ 39
+ ],
+ "quality": 0.8867339352376526
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"member\") (args (args variable))))"
+ ],
+ "distribution": [
+ 0,
+ 25
+ ],
+ "quality": 0.8777473018719896
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"=..\" (list (t (list (h variable))))) (compound (functor \"memberT\") (args variable)))"
+ ],
+ "distribution": [
+ 19,
+ 0
+ ],
+ "quality": 0.8753375177706785
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args (args variable))))))))"
+ ],
+ "distribution": [
+ 19,
+ 0
+ ],
+ "quality": 0.8753375177706785
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"member\") (args variable)))"
+ ],
+ "distribution": [
+ 18,
+ 0
+ ],
+ "quality": 0.8669133299232545
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"member\") (args (args variable))))"
+ ],
+ "distribution": [
+ 1,
+ 27
+ ],
+ "quality": 0.8618076165001656
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args (args (compound (functor \"t\") (args (args (args variable)))))))) (compound (functor \"memberT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 17,
+ 0
+ ],
+ "quality": 0.8566770246851257
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"memb\") (args variable)))"
+ ],
+ "distribution": [
+ 16,
+ 0
+ ],
+ "quality": 0.8452156416525107
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop \"=..\" (list (t (list (t variable))))))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"memberT\") (args (args variable))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memb\") (args (args variable))))"
+ ],
+ "distribution": [
+ 6,
+ 46
+ ],
+ "quality": 0.8169393965315925
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args variable))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memb\") (args (args variable))))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"memberT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 9,
+ 41
+ ],
+ "quality": 0.7449330956358762
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberT\") (args (args variable)))) (binop variable \"=..\"))",
+ "(clause (binop \"=..\" (list (t (list (t variable))))) (compound (functor \"memb\") (args (args variable))))",
+ "(clause (compound (functor \"memb\") (args variable)) (compound (functor \"memberT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 14,
+ 50
+ ],
+ "quality": 0.7214401235088052
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"memberTList\") (args variable))) (compound (functor \"memberT\") (args variable)))",
+ "(clause (head (compound (functor \"memberT\") (args variable))) (compound (functor \"memberTList\") (args variable)))"
+ ],
+ "distribution": [
+ 0,
+ 8
+ ],
+ "quality": 0.6680508675885589
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/trees/mirrorbt_2/bugs.json b/prolog/problems/trees/mirrorbt_2/bugs.json
new file mode 100644
index 0000000..9cddfa0
--- /dev/null
+++ b/prolog/problems/trees/mirrorbt_2/bugs.json
@@ -0,0 +1,300 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args variable))) (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args variable)))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args variable)))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args (args (args variable)))))))))",
+ "(clause (compound (functor \"mirrorBT\") (args (args variable))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (compound (functor \"mirrorBT\") (args (args variable))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args variable)))) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable))))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (head variable))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (binop variable \"=\"))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (compound (functor \"mirrorBT\") (args (args variable))) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (compound (functor \"var\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args variable (args variable)))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args variable)))))",
+ "(clause (binop variable \"=\") (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (compound (functor \"mirrorBT\") (args (args variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args variable))))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args variable)))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable (args (args variable))))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (binop \"=\" variable))",
+ "(clause (compound (functor \"mirrorBT\") (args variable)) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args variable)))))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"mirror\") (args variable)))",
+ "(clause (compound (functor \"mirrorBT\") (args variable)) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (binop variable \"=\") (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"mirror\") (args variable)))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args (args (args variable)))))))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args variable (args (args variable)))))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args variable))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args variable))) (args variable)))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"var\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"var\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args variable)))))) (binop \"=\" variable))",
+ "(clause (compound (functor \"mirror\") (args (args variable))) (binop \"=\" (compound (functor \"b\") (args variable))))",
+ "(clause (binop \"=\" variable) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args variable))))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args variable)))))) (binop variable \"=\"))",
+ "(clause (compound (functor \"var\") (args variable)) (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args \"[]\" (args \"[]\")))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args (args variable)))))))) (binop variable \"=\"))",
+ "(clause (compound (functor \"mirror\") (args (args variable))) (binop \"=\" (compound (functor \"b\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args variable)))))))",
+ "(clause (binop (compound (functor \"depthBT\") (args variable)) \"=\" \"1\"))",
+ "(clause (compound (functor \"mirrorBT\") (args variable)) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args variable)))))) (binop \"is\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"mirrorBt\") (args (args \"0\")))))",
+ "(clause (head (compound (functor \"mirrotBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"mirrorBT\") (args variable)))",
+ "(clause (compound (functor \"mirrorBT\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (binop \"=\" \"1\"))",
+ "(clause (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args variable))))))",
+ "(clause (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (compound (functor \"depthBT\") (args variable)))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (compound (functor \"mirrorBT\") (args (args variable))) (compound (functor \"conc\") (args (args (list (t variable))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args variable)))))) (compound (functor \"conc\") (args (args (list (h variable))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args variable)))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"mirrotBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"mirrorBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args (compound (functor \"b\") (args (args variable))))))) (args (compound (functor \"b\") (args (compound (functor \"b\") (args (args variable))))))))))",
+ "(clause (head (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args variable)))))) (compound (functor \"mirrorBT\") (args (args (compound (functor \"b\") (args (args variable)))))))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"mirrorBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 48,
+ 0
+ ],
+ "quality": 0.9654913037362992
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop \"=\" (compound (functor \"b\") (args variable))))"
+ ],
+ "distribution": [
+ 47,
+ 0
+ ],
+ "quality": 0.9646532649442093
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args (args (args variable)))))))))"
+ ],
+ "distribution": [
+ 136,
+ 4
+ ],
+ "quality": 0.9567501799346745
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable)))) (args (compound (functor \"b\") (args variable)))))))"
+ ],
+ "distribution": [
+ 134,
+ 4
+ ],
+ "quality": 0.9560559589329861
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (args variable)))) (compound (functor \"mirrorBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 28,
+ 0
+ ],
+ "quality": 0.9349190623536209
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))))"
+ ],
+ "distribution": [
+ 26,
+ 0
+ ],
+ "quality": 0.9289235930419703
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"mirrorBT\") (args variable)))"
+ ],
+ "distribution": [
+ 23,
+ 0
+ ],
+ "quality": 0.9196076551396587
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (args variable)))))"
+ ],
+ "distribution": [
+ 22,
+ 0
+ ],
+ "quality": 0.9150210312301716
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args variable (args variable)))))"
+ ],
+ "distribution": [
+ 20,
+ 0
+ ],
+ "quality": 0.904848113180471
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args variable)))))))"
+ ],
+ "distribution": [
+ 17,
+ 0
+ ],
+ "quality": 0.8839111544291791
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable))))))"
+ ],
+ "distribution": [
+ 16,
+ 0
+ ],
+ "quality": 0.8749968452423105
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 15,
+ 0
+ ],
+ "quality": 0.8670760925419618
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))))"
+ ],
+ "distribution": [
+ 15,
+ 0
+ ],
+ "quality": 0.8670760925419618
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable (args (args variable))))))))"
+ ],
+ "distribution": [
+ 14,
+ 0
+ ],
+ "quality": 0.8547590265925697
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head variable))"
+ ],
+ "distribution": [
+ 14,
+ 0
+ ],
+ "quality": 0.8547590265925697
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable)) (args (compound (functor \"b\") (args variable)))))))"
+ ],
+ "distribution": [
+ 13,
+ 0
+ ],
+ "quality": 0.8445220449617675
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"mirrorBT\") (args variable)) (binop \"=\" (compound (functor \"b\") (args variable))))"
+ ],
+ "distribution": [
+ 13,
+ 0
+ ],
+ "quality": 0.8445220449617675
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"mirrorBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"mirror\") (args variable)))"
+ ],
+ "distribution": [
+ 12,
+ 0
+ ],
+ "quality": 0.8341617279977557
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/trees/numberbt_2/bugs.json b/prolog/problems/trees/numberbt_2/bugs.json
new file mode 100644
index 0000000..3034ce9
--- /dev/null
+++ b/prolog/problems/trees/numberbt_2/bugs.json
@@ -0,0 +1,365 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (binop \"is\" (binop \"+\" \"1\")))",
+ "(clause (binop variable \"is\" (binop \"+\" \"1\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"0\")))))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop \"+\" variable) \"+\")))",
+ "(clause (binop \"is\" (binop (binop \"+\" variable) \"+\" \"1\")))",
+ "(clause (binop \"is\" (binop (binop variable \"+\") \"+\" \"1\")))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop variable \"+\") \"+\")))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop \"is\" (binop variable \"+\" \"1\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"1\")))))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args variable))) (args \"1\")))))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (binop variable \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"is\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable))))))))",
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (compound (functor \"numberBT\") (args (args variable))))",
+ "(clause (binop variable \"is\") (binop variable \"is\"))",
+ "(clause (binop \"is\" (binop variable \"+\")) (compound (functor \"numberBT\") (args (args variable))))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))))",
+ "(clause (binop \"is\" (binop (binop \"1\" \"+\") \"+\")))",
+ "(clause (binop \"is\" (binop (binop \"1\" \"+\" variable) \"+\")))",
+ "(clause (binop variable \"is\" (binop (binop \"1\" \"+\") \"+\")))",
+ "(clause (binop variable \"is\") (compound (functor \"numberBT\") (args (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args variable))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (binop \"is\" (binop (binop \"1\" \"+\") \"+\" variable)))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args variable)))))",
+ "(clause (head (compound (functor \"numberBT\") (args variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (compound (functor \"numberBT\") (args (args variable))))",
+ "(clause (binop \"=\" (compound (functor \"b\") (args (args (args variable))))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (binop variable \"=\" (binop \"+\" \"1\")))",
+ "(clause (binop \"=\" (binop \"+\" \"1\")))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop variable \"is\"))",
+ "(clause (binop \"is\" \"1\"))",
+ "(clause (binop variable \"is\" \"1\"))",
+ "(clause (binop \"=\" (binop (binop variable \"+\") \"+\" \"1\")))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"=\" (binop (binop variable \"+\") \"+\")))",
+ "(clause (binop \"=\" (binop (binop \"+\" variable) \"+\" \"1\")))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"=\" (binop (binop \"+\" variable) \"+\")))",
+ "(clause (compound (functor \"numberBT\") (args variable)))",
+ "(clause (binop variable \"=\" \"0\"))",
+ "(clause (binop variable \"is\" \"0\"))",
+ "(clause (binop \"=\" \"0\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"number\") (args variable)))",
+ "(clause (binop variable \"is\"))",
+ "(clause (head (compound (functor \"numberBT\") (args variable))) (compound (functor \"deleteBT\") (args (args variable))))",
+ "(clause (binop \"is\" \"0\"))",
+ "(clause (binop \"is\" (binop variable \"+\")) (binop \"is\" (binop variable \"+\")))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"=\" (binop variable \"+\")))",
+ "(clause (compound (functor \"numberBT\") (args variable)) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (binop \"is\" (binop \"+\" variable)) (compound (functor \"numberBT\") (args (args variable))))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"number\") (args variable)))",
+ "(clause (compound (functor \"deleteBT\") (args (args (args variable)))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (binop \"is\" (binop variable \"+\")))",
+ "(clause (binop variable \"is\" (binop (binop variable \"+\") \"+\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args variable))) (args \"0\")))))",
+ "(clause (binop \"is\" (binop variable \"+\")) (binop variable \"is\"))",
+ "(clause (binop variable \"is\") (binop \"is\" (binop \"+\" variable)))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args variable (args variable))))))))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args variable (args variable)))))))",
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop \"is\" (binop (binop variable \"+\") \"+\")))",
+ "(clause (binop variable \"=\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (compound (functor \"number\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args variable (args (args variable))))))))",
+ "(clause (compound (functor \"number\") (args variable)))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"=\" (binop \"+\" variable)))",
+ "(clause (binop variable \"is\" (binop \"+\" \"2\")))",
+ "(clause (compound (functor \"deleteBT\") (args variable)))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"nubberBT\") (args variable)))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable)))) (args \"0\")))))",
+ "(clause (binop \"is\" (binop \"+\" \"2\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args variable)) (args \"0\")))))",
+ "(clause (compound (functor \"number\") (args (args variable))) (binop \"is\" (binop (binop \"+\" variable) \"+\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (compound (functor \"number\") (args variable)))",
+ "(clause (compound (functor \"number\") (args (args variable))) (binop \"is\" (binop (binop variable \"+\") \"+\")))",
+ "(clause (binop \"is\" (binop \"1\" \"+\" variable)))",
+ "(clause (binop variable \"is\" (binop \"1\" \"+\")))",
+ "(clause (binop variable \"is\") (binop \"is\" (binop (binop variable \"+\") \"+\")))",
+ "(clause (binop \"is\" (binop (binop \"+\" variable) \"+\")) (compound (functor \"numberBT\") (args (args variable))))",
+ "(clause (binop variable \"=\" \"1\"))",
+ "(clause (binop \"is\" (binop \"1\" \"+\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args variable))))))",
+ "(clause (binop \"=\" \"1\"))",
+ "(clause (binop \"is\" (binop (binop variable \"+\") \"+\")) (compound (functor \"numberBT\") (args (args variable))))",
+ "(clause (compound (functor \"number\") (args variable)) (binop \"is\" (binop variable \"+\")))",
+ "(clause (head (binop \"=\" \"0\")))",
+ "(clause (compound (functor \"deleteBT\") (args variable)) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"nuberBT\") (args variable)))",
+ "(clause (head (compound (functor \"numberBT\") (args variable))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (head (compound (functor \"numberBT\") (args variable))))",
+ "(clause (head (binop variable \"=\" \"0\")))",
+ "(clause (head (binop variable \"=\")))",
+ "(clause (compound (functor \"number\") (args (args variable))) (binop \"is\" (binop \"+\" variable)))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop \"is\" (binop variable \"+\")))"
+ ],
+ "distribution": [
+ 49,
+ 0
+ ],
+ "quality": 0.9615920968387124
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop variable \"is\" (binop variable \"+\")))"
+ ],
+ "distribution": [
+ 41,
+ 0
+ ],
+ "quality": 0.9531854810492415
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 47,
+ 1
+ ],
+ "quality": 0.9335975299637356
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (compound (functor \"numberBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 29,
+ 0
+ ],
+ "quality": 0.9299807777479073
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))))"
+ ],
+ "distribution": [
+ 28,
+ 0
+ ],
+ "quality": 0.9272767599144167
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"0\")))))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop variable \"+\") \"+\")))",
+ "(clause (binop \"is\" (binop (binop \"+\" variable) \"+\" \"1\")))"
+ ],
+ "distribution": [
+ 10,
+ 150
+ ],
+ "quality": 0.916718561401038
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"is\" (binop variable \"+\")) (compound (functor \"numberBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 22,
+ 0
+ ],
+ "quality": 0.9048234469803704
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop variable \"+\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"1\")))))"
+ ],
+ "distribution": [
+ 40,
+ 1
+ ],
+ "quality": 0.9011037968169242
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"0\")))))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop variable \"+\") \"+\")))"
+ ],
+ "distribution": [
+ 15,
+ 151
+ ],
+ "quality": 0.8902530976736028
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"0\")))))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop \"+\" variable) \"+\")))",
+ "(clause (binop \"is\" (binop (binop variable \"+\") \"+\" \"1\")))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop variable \"+\") \"+\")))"
+ ],
+ "distribution": [
+ 17,
+ 155
+ ],
+ "quality": 0.8812322919386367
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"numberBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 17,
+ 0
+ ],
+ "quality": 0.8727982021305202
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop \"is\" (binop \"+\" \"1\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"0\")))))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop \"+\" variable) \"+\")))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop variable \"+\") \"+\")))"
+ ],
+ "distribution": [
+ 21,
+ 156
+ ],
+ "quality": 0.8629739475464352
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"0\")))))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop \"+\" variable) \"+\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"numberBT\") (args variable)))"
+ ],
+ "distribution": [
+ 23,
+ 165
+ ],
+ "quality": 0.8597636241269335
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"is\" (binop variable \"+\" \"1\")))",
+ "(clause (binop variable \"is\") (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 20,
+ 0
+ ],
+ "quality": 0.8464792884804369
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"number\") (args variable)))"
+ ],
+ "distribution": [
+ 14,
+ 0
+ ],
+ "quality": 0.8394219791909547
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (compound (functor \"numberBT\") (args (args variable))))"
+ ],
+ "distribution": [
+ 14,
+ 0
+ ],
+ "quality": 0.8394219791909547
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"numberBT\") (args variable)) (compound (functor \"numberBT\") (args variable)))"
+ ],
+ "distribution": [
+ 13,
+ 0
+ ],
+ "quality": 0.8246002580197109
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"0\")))))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args variable))))) (compound (functor \"numberBT\") (args variable)))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop \"+\" variable) \"+\")))"
+ ],
+ "distribution": [
+ 32,
+ 168
+ ],
+ "quality": 0.824115058843779
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"0\")))))",
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop \"is\" (binop (binop \"+\" variable) \"+\")))"
+ ],
+ "distribution": [
+ 35,
+ 173
+ ],
+ "quality": 0.8177866715087209
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"numberBT\") (args (args variable))) (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 12,
+ 0
+ ],
+ "quality": 0.806489396040665
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args variable)))))))",
+ "(clause (head (compound (functor \"numberBT\") (args (args \"0\")))))",
+ "(clause (head (compound (functor \"numberBT\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (binop \"is\" (binop \"+\" \"1\")))",
+ "(clause (head (compound (functor \"numberBT\") (args (compound (functor \"b\") (args (args (args variable))))))) (compound (functor \"numberBT\") (args variable)))"
+ ],
+ "distribution": [
+ 65,
+ 160
+ ],
+ "quality": 0.6934287185293813
+ }
+ ]
+} \ No newline at end of file