summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@fri.uni-lj.si>2017-04-18 11:15:11 +0200
committerTimotej Lazar <timotej.lazar@fri.uni-lj.si>2017-04-18 11:15:11 +0200
commit746fa1fb9d1430747b499d667f2cfe1fc77d3718 (patch)
tree773aa422b5d3a66cb555f9af824d3431f710d496
parent794d4dc03dec8db33bf8afe8b1c0a126176407d1 (diff)
Prolog: add bugs files for license plate problems
-rw-r--r--prolog/problems/license_plates/checklicenseplate_3/bugs.json310
-rw-r--r--prolog/problems/license_plates/firstminus_2/bugs.json229
-rw-r--r--prolog/problems/license_plates/genexp_2/bugs.json227
-rw-r--r--prolog/problems/license_plates/getdigits_2/bugs.json273
-rw-r--r--prolog/problems/license_plates/joindigits_2/bugs.json376
5 files changed, 1415 insertions, 0 deletions
diff --git a/prolog/problems/license_plates/checklicenseplate_3/bugs.json b/prolog/problems/license_plates/checklicenseplate_3/bugs.json
new file mode 100644
index 0000000..e04255e
--- /dev/null
+++ b/prolog/problems/license_plates/checklicenseplate_3/bugs.json
@@ -0,0 +1,310 @@
+{
+ "patterns": [
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args variable))) (compound (functor \"getdigits\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))) (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (compound (functor \"firstMinus\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop variable \"=:=\"))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))) (binop \"=:=\" variable))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop variable \"=:=\"))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=:=\" variable))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"firstMinus\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"firstMinus\") (args variable)))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"is\" variable))",
+ "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))) (binop \"is\" variable))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (compound (functor \"firstMinus\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop \"is\" variable))",
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"genexp\") (args variable)))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (compound (functor \"firstMinus\") (args (args variable))))",
+ "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (compound (functor \"firstMinus\") (args (list (h variable)))))",
+ "(clause (compound (functor \"conc\") (args (list (h variable)))) (compound (functor \"firstMinus\") (args (list (h variable)))))",
+ "(clause (binop variable \"\\=\" \"[]\"))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (binop \"\\==\" \"[]\"))",
+ "(clause (compound (functor \"conc\") (args (list (t variable)))) (compound (functor \"firstMinus\") (args (list (t variable)))))",
+ "(clause (binop variable \"\\==\" \"[]\"))",
+ "(clause (compound (functor \"minus\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (binop \"\\=\" \"[]\"))",
+ "(clause (compound (functor \"conc\") (args (args (list (t variable))))) (compound (functor \"firstMinus\") (args (list (t variable)))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop variable \"is\"))",
+ "(clause (binop variable \"is\") (binop variable \"=:=\"))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (compound (functor \"firstMinus\") (args (args variable))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop variable \"=\"))",
+ "(clause (binop variable \"is\") (binop \"=:=\" variable))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))) (binop \"=\" variable))",
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (binop variable \"=:=\"))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))) (compound (functor \"firstMinus\") (args (args variable))))",
+ "(clause (compound (functor \"firstMinus\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args (args variable))))",
+ "(clause (compound (functor \"joindigits\") (args variable)))",
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (binop \"=:=\" variable))",
+ "(clause (compound (functor \"genexp\") (args variable)))",
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (compound (functor \"genexp\") (args variable)) (compound (functor \"genexp\") (args variable)))",
+ "(clause (binop variable \"is\") (binop \"==\" variable))",
+ "(clause (compound (functor \"firstMinus\") (args variable)) (compound (functor \"genexp\") (args variable)))",
+ "(clause (binop variable \"\\=\") (compound (functor \"firstMinus\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (binop variable \"is\") (binop variable \"==\"))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (binop variable \"\\==\") (compound (functor \"joindigits\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (compound (functor \"conc\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args variable))))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))) (compound (functor \"conc\") (args (args variable))))",
+ "(clause (compound (functor \"getdigits\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args variable)) (binop variable \"\\=\"))",
+ "(clause (compound (functor \"conc\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args (args variable))) (binop variable \"\\=\"))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))) (compound (functor \"expr\") (args (args variable))))",
+ "(clause (binop variable \"is\") (binop \"=\" variable))",
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"expr\") (args variable)))",
+ "(clause (compound (functor \"append\") (args (args variable))) (compound (functor \"firstMinus\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"expr\") (args variable)))",
+ "(clause (compound (functor \"expr\") (args (args variable))) (binop \"is\" variable))",
+ "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"minus\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (compound (functor \"expr\") (args (args variable))))",
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"minus\") (args variable)))",
+ "(clause (compound (functor \"append\") (args variable)) (compound (functor \"firstMinus\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (compound (functor \"firstMinus\") (args variable)))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"genexp\") (args variable)))"
+ ],
+ "distribution": [
+ 24,
+ 0
+ ],
+ "quality": 0.9277419131040384
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))))"
+ ],
+ "distribution": [
+ 19,
+ 0
+ ],
+ "quality": 0.9054009788960287
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args variable))) (compound (functor \"getdigits\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop variable \"=:=\"))",
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"firstMinus\") (args variable)))"
+ ],
+ "distribution": [
+ 0,
+ 27
+ ],
+ "quality": 0.8941908789726357
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args variable))) (compound (functor \"getdigits\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args (args variable))))) (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=:=\" variable))",
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"firstMinus\") (args variable)))"
+ ],
+ "distribution": [
+ 0,
+ 28
+ ],
+ "quality": 0.8920491564906982
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"genexp\") (args (args variable))) (compound (functor \"firstMinus\") (args variable)))"
+ ],
+ "distribution": [
+ 16,
+ 0
+ ],
+ "quality": 0.8877545064508546
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop variable \"=:=\"))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))"
+ ],
+ "distribution": [
+ 1,
+ 28
+ ],
+ "quality": 0.8656595841479879
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop variable \"=:=\"))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (compound (functor \"joindigits\") (args variable)))"
+ ],
+ "distribution": [
+ 2,
+ 32
+ ],
+ "quality": 0.8535293985919059
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args variable))) (compound (functor \"getdigits\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop variable \"=:=\"))"
+ ],
+ "distribution": [
+ 8,
+ 62
+ ],
+ "quality": 0.8470115183102656
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 12,
+ 0
+ ],
+ "quality": 0.8457042790248678
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"firstMinus\") (args (args variable))))"
+ ],
+ "distribution": [
+ 11,
+ 0
+ ],
+ "quality": 0.8278353555438855
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 11,
+ 0
+ ],
+ "quality": 0.8278353555438855
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (binop variable \"=:=\"))"
+ ],
+ "distribution": [
+ 11,
+ 64
+ ],
+ "quality": 0.8208365194089547
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"conc\") (args (args variable))))"
+ ],
+ "distribution": [
+ 9,
+ 0
+ ],
+ "quality": 0.7903843289592625
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"firstMinus\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"checkLicensePlate\") (args variable))) (compound (functor \"getdigits\") (args variable)))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=:=\" variable))"
+ ],
+ "distribution": [
+ 15,
+ 64
+ ],
+ "quality": 0.7751721169577588
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"genexp\") (args variable)) (compound (functor \"genexp\") (args variable)))"
+ ],
+ "distribution": [
+ 8,
+ 0
+ ],
+ "quality": 0.7689418680044113
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"getdigits\") (args (args variable))))"
+ ],
+ "distribution": [
+ 8,
+ 0
+ ],
+ "quality": 0.7689418680044113
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"genexp\") (args variable)))"
+ ],
+ "distribution": [
+ 8,
+ 0
+ ],
+ "quality": 0.7689418680044113
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"checkLicensePlate\") (args (args variable)))) (compound (functor \"conc\") (args variable)))"
+ ],
+ "distribution": [
+ 7,
+ 0
+ ],
+ "quality": 0.7407487585764876
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"checkLicensePlate\") (args variable))))"
+ ],
+ "distribution": [
+ 7,
+ 0
+ ],
+ "quality": 0.7407487585764876
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/license_plates/firstminus_2/bugs.json b/prolog/problems/license_plates/firstminus_2/bugs.json
new file mode 100644
index 0000000..80470e0
--- /dev/null
+++ b/prolog/problems/license_plates/firstminus_2/bugs.json
@@ -0,0 +1,229 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"firstMinus\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (t variable))))) (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (t variable)) (args (list (t variable)))))))",
+ "(clause (head (compound (functor \"firstMinus\") (args variable (args variable)))))",
+ "(clause (binop variable \"is\") (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (args (list (h variable)))))) (binop variable \"is\"))",
+ "(clause (binop variable \"=\"))",
+ "(clause (head (compound (functor \"firstMinus\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"firstMinus\") (args \"[]\" (args \"[]\")))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"is\" (unop - variable)))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable)) (args (list (h (unop - variable))))))))",
+ "(clause (binop \"=\" (list (t variable))))",
+ "(clause (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"is\" (binop variable \"*\")))",
+ "(clause (binop variable \"is\" (binop \"*\" (unop - \"1\"))))",
+ "(clause (binop \"is\" (binop \"*\" (unop - \"1\"))))",
+ "(clause (binop \"is\" (binop variable \"*\" (unop - \"1\"))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (binop \"=\" variable))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"=\" (list (h (unop - variable)))))",
+ "(clause (binop \"is\" (binop \"0\" \"-\")))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"is\" (binop \"-\" variable)))",
+ "(clause (binop variable \"is\" (binop \"0\" \"-\")))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"firstMinus\") (args (args (list (h variable)))))) (binop variable \"=\"))",
+ "(clause (binop \"is\" (binop \"0\" \"-\" variable)))",
+ "(clause (binop \"is\" (binop (unop - \"1\") \"*\" variable)))",
+ "(clause (binop \"is\" (binop (unop - \"1\") \"*\")))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"is\" (binop \"*\" variable)))",
+ "(clause (binop variable \"is\" (binop (unop - \"1\") \"*\")))",
+ "(clause (binop variable \"is\"))",
+ "(clause (binop \"=\" (list (t variable))) (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"is\" variable))",
+ "(clause (binop variable \">\"))",
+ "(clause (binop \">\" \"0\"))",
+ "(clause (binop variable \">\" \"0\"))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop variable \">\"))",
+ "(clause (head (compound (functor \"firstMinus\") (args variable))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"firstMinus\") (args variable))) (binop variable \"=\"))",
+ "(clause (binop \"is\" (unop - variable)))",
+ "(clause (binop \"is\" (binop variable \"-\" \"1\")))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"=\" (unop - variable)))",
+ "(clause (binop variable \"is\" (binop \"-\" \"1\")))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop variable \"is\"))",
+ "(clause (binop \"is\" (binop \"-\" \"1\")))",
+ "(clause (binop variable \"=\") (binop \"=\" (list (h variable))))",
+ "(clause (binop variable \"is\") (compound (functor \"neg\") (args variable)))",
+ "(clause (binop variable \"is\" (binop \"+\" \"1\")))",
+ "(clause (binop variable \"=\") (binop variable \"=\"))",
+ "(clause (binop \"is\" (binop variable \"+\" \"1\")))",
+ "(clause (binop \"is\" variable))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"is\" (binop variable \"-\")))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))",
+ "(clause (compound (functor \"firstMinus\") (args (args variable))))",
+ "(clause (binop variable \"=<\" \"0\"))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop variable \"=<\"))",
+ "(clause (compound (functor \"firstMinus\") (args (list (h (unop - variable))))))",
+ "(clause (binop \"=<\" \"0\"))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (t variable))))) (compound (functor \"firstMinus\") (args (list (t variable)))))",
+ "(clause (binop \"=\" (list (h variable))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop variable \"=\"))",
+ "(clause (binop \"is\" (binop \"+\" \"1\")))",
+ "(clause (head (compound (functor \"firstMinus\") (args (args (list (t variable)))))) (binop \"=\" (list (t variable))))"
+ ],
+ "rules": [
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"firstMinus\") (args variable (args variable)))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (args (list (h variable)))))) (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 0,
+ 21
+ ],
+ "quality": 0.8951021122646302
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"firstMinus\") (args variable (args variable)))))"
+ ],
+ "distribution": [
+ 8,
+ 64
+ ],
+ "quality": 0.856697093946942
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"=\" (list (h (unop - variable)))))"
+ ],
+ "distribution": [
+ 0,
+ 14
+ ],
+ "quality": 0.8317707483775141
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"firstMinus\") (args (list (t variable)) (args (list (t variable)))))))",
+ "(clause (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 0,
+ 11
+ ],
+ "quality": 0.7754163994415489
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"firstMinus\") (args (list (t variable)) (args (list (t variable)))))))",
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"=\" variable))"
+ ],
+ "distribution": [
+ 0,
+ 11
+ ],
+ "quality": 0.7754163994415489
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop \"=\" (list (t variable))))"
+ ],
+ "distribution": [
+ 5,
+ 29
+ ],
+ "quality": 0.7702393242146663
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 6,
+ 0
+ ],
+ "quality": 0.6980409395171902
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 2,
+ 12
+ ],
+ "quality": 0.6778064820992294
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"firstMinus\") (args (list (h variable))))) (binop \"=\" (list (h (unop - variable)))))"
+ ],
+ "distribution": [
+ 3,
+ 15
+ ],
+ "quality": 0.6679863338790486
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))"
+ ],
+ "distribution": [
+ 5,
+ 0
+ ],
+ "quality": 0.6456595409711998
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop variable \">\"))"
+ ],
+ "distribution": [
+ 5,
+ 0
+ ],
+ "quality": 0.6456595409711998
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop variable \"=\") (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 5,
+ 0
+ ],
+ "quality": 0.6456595409711998
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"firstMinus\") (args (args (list (t variable)))))) (binop \"=\" (list (t variable))))"
+ ],
+ "distribution": [
+ 4,
+ 0
+ ],
+ "quality": 0.5830975923071112
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"firstMinus\") (args (list (t variable))))) (compound (functor \"firstMinus\") (args (list (t variable)))))"
+ ],
+ "distribution": [
+ 4,
+ 0
+ ],
+ "quality": 0.5830975923071112
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/license_plates/genexp_2/bugs.json b/prolog/problems/license_plates/genexp_2/bugs.json
new file mode 100644
index 0000000..1ed260f
--- /dev/null
+++ b/prolog/problems/license_plates/genexp_2/bugs.json
@@ -0,0 +1,227 @@
+{
+ "patterns": [
+ "(clause (binop variable \"=\"))",
+ "(clause (head (compound (functor \"genexp\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable)) (args variable)))))",
+ "(clause (binop variable \"=..\"))",
+ "(clause (compound (functor \"memb\") (args variable)) (binop \"=..\" (list (h variable))))",
+ "(clause (head (compound (functor \"genexp\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (binop \"=..\" (list (t (list (t (list (h variable))))))))",
+ "(clause (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (head (compound (functor \"genexp\") (args (args variable)))) (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable))))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (head (compound (functor \"genexp\") (args (args variable)))) (binop variable \"=..\"))",
+ "(clause (compound (functor \"conc\") (args (args (list (t (list (h variable))))))) (binop \"=..\" (list (t (list (t (list (h variable))))))))",
+ "(clause (binop \"=\" (binop \"+\" variable)))",
+ "(clause (binop \"=\" (binop variable \"+\")))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t variable))))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (h variable))))))) (binop \"=..\" (list (t (list (t (list (h variable))))))))",
+ "(clause (binop variable \"=..\") (compound (functor \"conc\") (args (args (list (h variable))))))",
+ "(clause (head (compound (functor \"genexp\") (args \"[]\"))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=..\" (list (t (list (t (list (h variable))))))))",
+ "(clause (binop \"=\" (binop \"-\" variable)))",
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args variable)))",
+ "(clause (head (compound (functor \"genexp\") (args (args \"[]\")))))",
+ "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"genexp\") (args \"[]\" (args \"[]\")))))",
+ "(clause (binop \"=\" (binop variable \"-\")))",
+ "(clause (binop variable \"=..\") (compound (functor \"genexp\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (t variable))))))) (compound (functor \"genexp\") (args (list (t variable)))))",
+ "(clause (compound (functor \"conc\") (args (args (list (t (list (t variable))))))) (compound (functor \"conc\") (args (args (list (t variable))))))",
+ "(clause (compound (functor \"member\") (args variable)) (binop \"=..\" (list (h variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable))))) (binop \"=\" (binop variable \"+\")))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable))))) (binop \"=\" (binop variable \"-\")))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable))))) (binop \"=\" (binop variable \"*\")))",
+ "(clause (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable))))) (binop \"=\" (binop variable \"/\")))",
+ "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (binop \"+\" variable)))",
+ "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (binop \"=\" (binop \"*\" variable)))",
+ "(clause (head (compound (functor \"genexp\") (args (args variable)))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (binop \"/\" variable)))",
+ "(clause (binop \"=\" (binop variable \"*\")))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (binop \"*\" variable)))",
+ "(clause (binop \"=..\" variable))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (binop \"-\" variable)))",
+ "(clause (binop variable \"=\") (compound (functor \"genexp\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"genexp2\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"genexp\") (args variable))))",
+ "(clause (head (compound (functor \"genexp2\") (args (list (t variable))))) (compound (functor \"genexp2\") (args variable)))",
+ "(clause (binop variable \"\\=\" \"[]\"))",
+ "(clause (binop \"\\=\" \"[]\"))",
+ "(clause (binop variable \"\\=\") (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (h variable))))))) (binop \"=\" (binop \"+\" variable)))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (binop variable \"=\") (binop variable \"=\"))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (h variable))))))) (binop \"=\" (binop \"*\" variable)))",
+ "(clause (head (compound (functor \"genexp\") (args (args (list (h variable)))))) (binop variable \"=..\"))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (h variable))))))) (binop \"=\" (binop \"-\" variable)))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (h variable))))))) (binop \"=\" (binop \"/\" variable)))",
+ "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (compound (functor \"genexp\") (args (list (h variable)))))",
+ "(clause (binop variable \"=..\") (binop \"=\" variable))",
+ "(clause (head (compound (functor \"genexp\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (compound (functor \"genexp\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args (args (list (t (list (t variable))))))))",
+ "(clause (binop variable \"=\") (compound (functor \"genexp\") (args variable)))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (h variable))))))) (compound (functor \"genexp\") (args (list (h variable)))))",
+ "(clause (binop \"=\" (list (t (list (h variable))))) (binop \"=..\" (list (t (list (t (list (h variable))))))))",
+ "(clause (compound (functor \"conc\") (args (args (list (t variable))))) (compound (functor \"genexp\") (args (list (t variable)))))",
+ "(clause (compound (functor \"conc\") (args (list (t variable)))) (compound (functor \"genexp\") (args (list (t variable)))))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (compound (functor \"conc\") (args (list (h variable)))) (compound (functor \"genexp\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (t variable))))))))",
+ "(clause (compound (functor \"genexp\") (args (list (t variable)))) (compound (functor \"genexp\") (args (list (t variable)))))",
+ "(clause (binop variable \"=\") (binop \"=..\" variable))",
+ "(clause (head (compound (functor \"genexp\") (args variable))) (binop variable \"=\"))",
+ "(clause (compound (functor \"genexp\") (args (list (h variable)))) (compound (functor \"genexp\") (args (list (h variable)))))",
+ "(clause (compound (functor \"conc\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (compound (functor \"conc\") (args (args variable))) (binop variable \"\\=\"))",
+ "(clause (binop \"=\" (binop \"+\" variable)) (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (compound (functor \"conc\") (args variable)) (binop variable \"\\=\"))",
+ "(clause (binop \"=\" (list (h variable) (t variable))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (t variable))))))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (binop variable \"=\") (compound (functor \"memb\") (args (args variable))))",
+ "(clause (binop variable \"=..\") (compound (functor \"conc\") (args (args variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (args (list (t variable)))))) (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (h variable))))))) (binop \"=..\" variable))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable))))) (binop \"=..\" variable))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t variable))))) (binop variable \"=\"))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (binop variable \"+\")))",
+ "(clause (compound (functor \"genexp\") (args (list (h variable)))))",
+ "(clause (binop \"=\" \"[]\"))",
+ "(clause (binop variable \"=\" \"[]\"))",
+ "(clause (binop variable \"=..\") (binop \"=\" (list (h variable))))",
+ "(clause (binop \"=..\" (list (h variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (t variable))))))) (binop \"=\" (list (t variable))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (binop variable \"-\")))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (binop variable \"/\")))",
+ "(clause (binop \"=\" (binop \"-\" variable)) (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (binop variable \"=..\") (binop \"=..\" (list (t (list (h variable))))))",
+ "(clause (head (compound (functor \"genexp\") (args variable))) (compound (functor \"append\") (args (args (args variable)))))",
+ "(clause (binop \"=..\" (list (t (list (t (list (h variable))))))) (compound (functor \"genexp\") (args (args variable))))",
+ "(clause (binop variable \"is\") (compound (functor \"genexp\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"genexp2\") (args (list (h variable)) (args variable)))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (compound (functor \"conc\") (args variable)))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable))))) (binop \"=\" variable))",
+ "(clause (compound (functor \"genexp\") (args variable)) (compound (functor \"genexp\") (args variable)))",
+ "(clause (binop variable \"=..\") (binop \"=..\" (list (t (list (t (list (h variable))))))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (binop variable \"*\")))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable))))))",
+ "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (t variable))))))) (compound (functor \"conc\") (args (args variable))))",
+ "(clause (compound (functor \"conc\") (args (args (list (t (list (h variable))))))) (compound (functor \"genexp\") (args (list (h variable)))))",
+ "(clause (compound (functor \"conc\") (args (args (list (t (list (t variable))))))) (compound (functor \"conc\") (args (args variable))))",
+ "(clause (binop \"=\" (list (t variable))) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (args variable)))) (compound (functor \"genexp2\") (args (args variable))))",
+ "(clause (head (compound (functor \"genexp\") (args (list (t (list (h variable))))))))",
+ "(clause (compound (functor \"conc\") (args (args (list (h variable))))))",
+ "(clause (compound (functor \"genexp\") (args (list (t variable)))))",
+ "(clause (head (compound (functor \"genexp\") (args variable))) (compound (functor \"rev\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args (args variable))))",
+ "(clause (binop \"=\" (list (t (list (t variable))))) (compound (functor \"genexp\") (args (list (t variable)))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (list (t (list (h variable))))))",
+ "(clause (compound (functor \"conc\") (args (args (list (t (list (t variable))))))) (compound (functor \"genexp\") (args variable)))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (t variable))))",
+ "(clause (binop \"=\" (list (t variable))) (binop \"=\" (list (t variable))))",
+ "(clause (compound (functor \"conc\") (args (args (list (t (list (h variable))))))))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable)) (args (list (h variable)))))))"
+ ],
+ "distribution": [
+ 38,
+ 0
+ ],
+ "quality": 0.952514892016524
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"genexp\") (args (args \"[]\")))))"
+ ],
+ "distribution": [
+ 64,
+ 2
+ ],
+ "quality": 0.9352445958874126
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"genexp\") (args \"[]\"))))"
+ ],
+ "distribution": [
+ 69,
+ 3
+ ],
+ "quality": 0.9239003599850174
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable))))) (binop \"=\" (binop variable \"+\")))"
+ ],
+ "distribution": [
+ 40,
+ 1
+ ],
+ "quality": 0.9184237224154168
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"genexp\") (args variable))))"
+ ],
+ "distribution": [
+ 24,
+ 0
+ ],
+ "quality": 0.9153270798558547
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"genexp\") (args (args variable))))"
+ ],
+ "distribution": [
+ 20,
+ 0
+ ],
+ "quality": 0.894160931018167
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"genexp\") (args variable))) (compound (functor \"append\") (args (args (args variable)))))"
+ ],
+ "distribution": [
+ 0,
+ 3
+ ],
+ "quality": 0.457726715541855
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"genexp\") (args (list (h variable)) (args variable)))))",
+ "(clause (compound (functor \"genexp\") (args (args variable))) (binop \"=\" (binop variable \"-\")))"
+ ],
+ "distribution": [
+ 0,
+ 4
+ ],
+ "quality": 0.4330161100822562
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/license_plates/getdigits_2/bugs.json b/prolog/problems/license_plates/getdigits_2/bugs.json
new file mode 100644
index 0000000..87b66d8
--- /dev/null
+++ b/prolog/problems/license_plates/getdigits_2/bugs.json
@@ -0,0 +1,273 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"getdigits\") (args (list (t variable))))) (compound (functor \"getdigits\") (args variable)))",
+ "(clause (head (compound (functor \"getdigits\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"getdigits\") (args \"[]\" (args \"[]\")))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"number\") (args variable)))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (binop \"=\" (list (h variable))))",
+ "(clause (binop variable \"=\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (binop \"=\" (list (t variable))))",
+ "(clause (compound (functor \"number\") (args variable)) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args (list (t variable)))))) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args (list (h variable)))))) (compound (functor \"number\") (args variable)))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"integer\") (args variable)))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))))",
+ "(clause (compound (functor \"number\") (args variable)))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (compound (functor \"getdigits\") (args variable)))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (unop \\+ (compound (functor \"number\") (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args (list (h variable)))))) (compound (functor \"integer\") (args variable)))",
+ "(clause (binop \"=\" (list (h variable))))",
+ "(clause (compound (functor \"integer\") (args variable)) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args variable))) (binop variable \"=\"))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))",
+ "(clause (binop \"=\" (list (t variable))) (compound (functor \"getdigits\") (args variable)))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"not\") (args (compound (functor \"number\") (args variable)))))",
+ "(clause (head (compound (functor \"getdigits\") (args \"[]\" (args variable)))))",
+ "(clause (binop \"=\" (list (h variable))) (compound (functor \"number\") (args variable)))",
+ "(clause (compound (functor \"conc\") (args (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (binop \"=<\" \"9\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))",
+ "(clause (binop variable \"=<\" \"9\"))",
+ "(clause (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (binop \"=\" \"[]\"))",
+ "(clause (binop variable \"=\" \"[]\"))",
+ "(clause (compound (functor \"number\") (args variable)) (compound (functor \"conc\") (args (list (h variable)))))",
+ "(clause (compound (functor \"integer\") (args variable)) (binop variable \"=<\"))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (unop \\+ (compound (functor \"integer\") (args variable))))",
+ "(clause (compound (functor \"number\") (args variable)) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"atom\") (args variable)))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (t variable))))))",
+ "(clause (compound (functor \"number\") (args variable)) (compound (functor \"conc\") (args variable)))",
+ "(clause (binop \"=\" (list (t variable))) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (binop \"=\" variable))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (binop \"is\" (list (h variable))))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" variable))",
+ "(clause (binop variable \">\" \"0\"))",
+ "(clause (compound (functor \"is_numeric\") (args variable)) (binop \"is\" (list (h variable))))",
+ "(clause (binop \">\" \"0\"))",
+ "(clause (head (compound (functor \"is_numeric\") (args variable))) (binop variable \">\"))",
+ "(clause (binop variable \"=\" (list (t variable))))",
+ "(clause (binop variable \">\") (binop variable \"=<\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"is_numeric\") (args variable)))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (binop \"=\" (list (t (list (h variable))))))",
+ "(clause (binop \"is\" (list (t variable))) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"is_numeric\") (args variable))) (binop variable \"=<\"))",
+ "(clause (binop variable \">=\" \"0\"))",
+ "(clause (binop \"is\" (list (t variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))",
+ "(clause (binop \">=\" \"0\"))",
+ "(clause (compound (functor \"integer\") (args variable)) (binop variable \">\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"not\") (args (compound (functor \"integer\") (args variable)))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"not\") (args (compound (functor \"is_numeric\") (args variable)))))",
+ "(clause (binop variable \">=\") (binop variable \"=<\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable)) (args \"[]\")))))",
+ "(clause (head (compound (functor \"is_numeric\") (args variable))) (compound (functor \"integer\") (args variable)))",
+ "(clause (compound (functor \"integer\") (args variable)) (binop variable \">=\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"getdigits\") (args (args (list (h variable)))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"getdigits_aux\") (args (list (t variable))))) (compound (functor \"getdigits_aux\") (args variable)))",
+ "(clause (binop \"=\" (list (t (list (h variable))))))",
+ "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args variable))))",
+ "(clause (binop variable \"is\"))",
+ "(clause (head (compound (functor \"getdigits_aux\") (args (args (args variable))))) (compound (functor \"getdigits_aux\") (args (args (args variable)))))",
+ "(clause (binop variable \"=\") (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (binop (list (h variable)) \"=\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"append\") (args (list (h variable)))))",
+ "(clause (compound (functor \"number\") (args variable)) (binop (list (h variable)) \"=\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (binop variable \">=\"))",
+ "(clause (binop \"=\" (list (t variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"getdigits\") (args (args (list (t (list (h variable)))))))) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args (list (h variable)))))) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))",
+ "(clause (compound (functor \"integer\") (args variable)) (compound (functor \"append\") (args (list (h variable)))))",
+ "(clause (binop (list (h variable)) \"=\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (args (list (h variable)))))) (binop variable \">=\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"notnumber\") (args variable)))",
+ "(clause (binop (list (t variable)) \"=\"))",
+ "(clause (compound (functor \"integer\") (args variable)))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (binop variable \"=<\"))",
+ "(clause (binop variable \"=\") (binop variable \"=\"))",
+ "(clause (binop \"is\" variable) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (compound (functor \"write\") (args variable)) (binop \"=\" (list (t variable))))",
+ "(clause (compound (functor \"number\") (args variable)) (compound (functor \"conc\") (args (args (list (h variable))))))",
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"is_numeric\") (args variable))))",
+ "(clause (compound (functor \"write\") (args variable)) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"getdigits\") (args (args (list (h variable))))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable)) (args variable)))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args (list (h variable)))))) (binop variable \"=<\"))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (t variable))))) (compound (functor \"conc\") (args (list (h variable)))))",
+ "(clause (compound (functor \"append\") (args (args \"[]\" (args variable)))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (compound (functor \"number\") (args variable)))",
+ "(clause (compound (functor \"append\") (args (args \"[]\"))))",
+ "(clause (compound (functor \"append\") (args (list (h variable)) (args \"[]\"))))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))))"
+ ],
+ "distribution": [
+ 51,
+ 0
+ ],
+ "quality": 0.9652176227596819
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 17,
+ 0
+ ],
+ "quality": 0.8768657719891855
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (binop \"=\" (list (t variable))))"
+ ],
+ "distribution": [
+ 17,
+ 0
+ ],
+ "quality": 0.8768657719891855
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"atom\") (args variable)))"
+ ],
+ "distribution": [
+ 15,
+ 0
+ ],
+ "quality": 0.8578818947205746
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"number\") (args variable)) (compound (functor \"conc\") (args variable)))"
+ ],
+ "distribution": [
+ 15,
+ 0
+ ],
+ "quality": 0.8578818947205746
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"getdigits\") (args (list (t variable))))))"
+ ],
+ "distribution": [
+ 15,
+ 0
+ ],
+ "quality": 0.8578818947205746
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" variable))"
+ ],
+ "distribution": [
+ 13,
+ 0
+ ],
+ "quality": 0.8311172238007712
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))"
+ ],
+ "distribution": [
+ 12,
+ 0
+ ],
+ "quality": 0.8168185911047623
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (binop \"=\" (list (t (list (h variable))))))"
+ ],
+ "distribution": [
+ 12,
+ 0
+ ],
+ "quality": 0.8168185911047623
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (compound (functor \"number\") (args variable)) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (unop \\+ (compound (functor \"number\") (args variable))))"
+ ],
+ "distribution": [
+ 1,
+ 17
+ ],
+ "quality": 0.7418815711079951
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"getdigits\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args (list (t variable)))))) (compound (functor \"getdigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (unop \\+ (compound (functor \"number\") (args variable))))"
+ ],
+ "distribution": [
+ 0,
+ 14
+ ],
+ "quality": 0.7354228144913182
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"getdigits\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (unop \\+ (compound (functor \"number\") (args variable))))",
+ "(clause (head (compound (functor \"getdigits\") (args (args variable)))) (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 2,
+ 18
+ ],
+ "quality": 0.7047381496232106
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"getdigits\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"getdigits\") (args (list (h variable))))) (compound (functor \"not\") (args (compound (functor \"integer\") (args variable)))))"
+ ],
+ "distribution": [
+ 0,
+ 5
+ ],
+ "quality": 0.4050731634154367
+ }
+ ]
+} \ No newline at end of file
diff --git a/prolog/problems/license_plates/joindigits_2/bugs.json b/prolog/problems/license_plates/joindigits_2/bugs.json
new file mode 100644
index 0000000..41b88a7
--- /dev/null
+++ b/prolog/problems/license_plates/joindigits_2/bugs.json
@@ -0,0 +1,376 @@
+{
+ "patterns": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (binop variable \"is\" (binop (binop \"*\" \"10\") \"+\")))",
+ "(clause (binop \"is\" (binop (binop \"*\" \"10\") \"+\" variable)))",
+ "(clause (binop \"is\" (binop (binop variable \"*\" \"10\") \"+\")))",
+ "(clause (binop \"is\" (binop (binop \"*\" \"10\") \"+\")))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"is\" (binop (binop variable \"*\") \"+\")))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"joindigits\") (args \"[]\"))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args \"[]\")))))",
+ "(clause (head (compound (functor \"joindigits\") (args \"[]\" (args \"[]\")))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (binop variable \"is\") (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t variable))))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (t variable)))))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (binop variable \"=\"))",
+ "(clause (binop variable \"is\") (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (binop \"is\" (binop (binop \"10\" \"*\") \"+\" variable)))",
+ "(clause (binop \"is\" (binop (binop \"10\" \"*\" variable) \"+\")))",
+ "(clause (binop variable \"is\" (binop (binop \"10\" \"*\") \"+\")))",
+ "(clause (binop \"is\" (binop (binop \"10\" \"*\") \"+\")))",
+ "(clause (binop \"is\" (binop \"+\" variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (h variable)))))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"is\" (binop (binop \"*\" variable) \"+\")))",
+ "(clause (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (binop \"=\" (list (h variable))))",
+ "(clause (binop \"=\" (list (t variable))))",
+ "(clause (binop \"is\" (binop (binop variable \"*\") \"+\")))",
+ "(clause (compound (functor \"joindigits\") (args variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (binop \"=\" (list (t variable))))",
+ "(clause (binop variable \"=\") (compound (functor \"joindigits\") (args variable)))",
+ "(clause (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args variable))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))))",
+ "(clause (binop variable \"is\"))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (binop \"=\" variable))",
+ "(clause (binop \"is\" (binop (binop \"*\" variable) \"+\")))",
+ "(clause (binop \"=\" (list (t variable))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (binop \"=\" variable))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (binop \"=\" (list (t (list (h variable))))))",
+ "(clause (binop \"=\" (list (t (list (t variable))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (h variable)))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (binop \"=\" (list (t (list (h variable))))) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (binop \"=\" (list (t (list (h variable))))))",
+ "(clause (binop \"is\" (binop \"*\" \"10\")))",
+ "(clause (binop variable \"is\" (binop \"*\" \"10\")))",
+ "(clause (binop \"is\" (binop variable \"*\" \"10\")))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (h variable)))))) (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (binop \"=\" (list (t (list (t variable))))) (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"is\" (binop variable \"*\")))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"=\" variable))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (binop \"=\" (list (t (list (t variable))))))",
+ "(clause (binop variable \"is\") (binop \"is\" (binop variable \"+\")))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (t variable)))))) (compound (functor \"joindigits\") (args (args (list (t variable))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (binop \"=\" (binop \"+\" variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args variable (args variable)))))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"is\" (binop (binop \"*\" variable) \"+\")))",
+ "(clause (binop \"=\" (list (t variable))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (binop \"=\" (list (t (list (h variable))))))",
+ "(clause (compound (functor \"joindigits\") (args (args (list (t variable))))) (binop \"=\" (list (t variable))))",
+ "(clause (binop \"=\" (binop (binop variable \"*\" \"10\") \"+\")))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"=\" (binop (binop variable \"*\") \"+\")))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (binop variable \"is\"))",
+ "(clause (binop \"=\" (binop (binop \"*\" \"10\") \"+\" variable)))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))",
+ "(clause (binop variable \"=\" (binop (binop \"*\" \"10\") \"+\")))",
+ "(clause (binop \"=\" (binop (binop \"*\" \"10\") \"+\")))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"is\" (binop (binop variable \"*\") \"+\")))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (binop variable \"=\"))",
+ "(clause (binop variable \"is\") (compound (functor \"conc\") (args (list (h variable)))))",
+ "(clause (binop \"=\" (list (t (list (t variable))))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (compound (functor \"join\") (args variable)))",
+ "(clause (binop \"=\" (list (t (list (h variable))))) (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable) (t \"[]\"))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (t variable)))))))",
+ "(clause (head (compound (functor \"join\") (args (args (args variable))))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (compound (functor \"conc\") (args (args variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t \"[]\"))))))",
+ "(clause (binop \"=\" (list (h variable))) (binop variable \"is\"))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t variable))))) (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (compound (functor \"joindigits\") (args (binop \"|\" variable))))",
+ "(clause (binop \"=\" (list (t variable))) (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (compound (functor \"joinDigits\") (args (list (t variable)))))",
+ "(clause (compound (functor \"joindigits\") (args (args (list (h variable))))) (binop \"=\" (list (t (list (h variable))))))",
+ "(clause (binop \"=\" (binop \"+\" variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (t variable)))))) (binop variable \"=\"))",
+ "(clause (compound (functor \"joindigits\") (args (args (list (h variable))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (binop variable \"=\"))",
+ "(clause (binop \"=\" variable) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (compound (functor \"join\") (args (args variable))))",
+ "(clause (compound (functor \"joindigits\") (args (list (t variable)))) (binop variable \"=\"))",
+ "(clause (compound (functor \"joindigits\") (args (args (list (t variable))))) (binop \"=\" (list (t (list (t variable))))))",
+ "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable)))) (args (list (t variable)))))))",
+ "(clause (compound (functor \"join\") (args variable)))",
+ "(clause (binop variable \"is\") (compound (functor \"joindigits\") (args (binop variable \"|\"))))",
+ "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (binop variable \"=\") (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable)))) (args variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t variable))))) (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (compound (functor \"joindigits\") (args (args (list (h variable))))) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (binop variable \"=\") (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (compound (functor \"join\") (args (args variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (compound (functor \"conc\") (args (args variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable)) (args variable)))))",
+ "(clause (compound (functor \"join\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"=\" (binop variable \"+\")))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))",
+ "(clause (compound (functor \"joindigits\") (args (list (h variable)) (args (list (h variable))))))",
+ "(clause (binop variable \"=\") (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t variable))))) (binop variable \"=\"))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t variable))))))",
+ "(clause (compound (functor \"conc\") (args (args (args variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"is\" variable))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (t variable)))))) (compound (functor \"jonindigits\") (args (args variable))))",
+ "(clause (binop \"=\" (list (t variable))) (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (binop \"=\" (list (h variable))) (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"join\") (args (args variable)))) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (binop \"=\" (list (h variable))) (binop \"=\" variable))"
+ ],
+ "rules": [
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (h variable)))))) (binop variable \"is\"))"
+ ],
+ "distribution": [
+ 69,
+ 1
+ ],
+ "quality": 0.9560144179808076
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))))"
+ ],
+ "distribution": [
+ 35,
+ 0
+ ],
+ "quality": 0.9429770690603307
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (compound (functor \"joindigits\") (args variable)))"
+ ],
+ "distribution": [
+ 106,
+ 4
+ ],
+ "quality": 0.9416905063775654
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (h variable)))))) (compound (functor \"joindigits\") (args (list (h variable)))))"
+ ],
+ "distribution": [
+ 17,
+ 0
+ ],
+ "quality": 0.8602156049676296
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (binop \"=\" (list (t variable))))",
+ "(clause (binop variable \"=\") (compound (functor \"joindigits\") (args variable)))"
+ ],
+ "distribution": [
+ 0,
+ 17
+ ],
+ "quality": 0.8422369175983611
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))))"
+ ],
+ "distribution": [
+ 15,
+ 0
+ ],
+ "quality": 0.8386863541702073
+ },
+ {
+ "class": false,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))))"
+ ],
+ "distribution": [
+ 14,
+ 0
+ ],
+ "quality": 0.8241111061202908
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (binop variable \"is\") (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args (list (t variable)))))) (compound (functor \"joindigits\") (args (args variable))))"
+ ],
+ "distribution": [
+ 8,
+ 60
+ ],
+ "quality": 0.8212395065957484
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (binop variable \"is\") (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t variable))))) (compound (functor \"joindigits\") (args variable)))"
+ ],
+ "distribution": [
+ 6,
+ 40
+ ],
+ "quality": 0.773299468529356
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"=\" (list (h variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t variable))))) (compound (functor \"joindigits\") (args variable)))"
+ ],
+ "distribution": [
+ 2,
+ 23
+ ],
+ "quality": 0.7619920017487898
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"=\" (list (h variable))))",
+ "(clause (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (binop variable \"is\") (compound (functor \"joindigits\") (args (list (h variable)))))"
+ ],
+ "distribution": [
+ 1,
+ 19
+ ],
+ "quality": 0.739716509346772
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t variable))))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (binop variable \"is\" (binop (binop \"*\" \"10\") \"+\")))"
+ ],
+ "distribution": [
+ 12,
+ 43
+ ],
+ "quality": 0.6997174491315902
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"=\" (list (h variable))))",
+ "(clause (compound (functor \"joindigits\") (args (list (t variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (compound (functor \"joindigits\") (args (list (h variable)))))"
+ ],
+ "distribution": [
+ 3,
+ 21
+ ],
+ "quality": 0.6987839460647776
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (binop \"is\" (binop \"+\" variable)))",
+ "(clause (binop variable \"is\") (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (h variable))))))) (compound (functor \"joindigits\") (args (list (h variable)))))",
+ "(clause (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 0,
+ 11
+ ],
+ "quality": 0.6629050612821025
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t variable))))) (compound (functor \"joindigits\") (args variable)))",
+ "(clause (binop variable \"is\" (binop (binop \"*\" \"10\") \"+\")))"
+ ],
+ "distribution": [
+ 19,
+ 48
+ ],
+ "quality": 0.6541586117270083
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (binop \"=\" (list (t variable))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (t (list (t variable))))))) (binop \"=\" (list (t variable))))"
+ ],
+ "distribution": [
+ 4,
+ 18
+ ],
+ "quality": 0.639434652068739
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (args variable)))) (compound (functor \"joindigits\") (args (args variable))))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))) (binop \"=\" (list (t variable))))",
+ "(clause (binop variable \"=\"))"
+ ],
+ "distribution": [
+ 1,
+ 11
+ ],
+ "quality": 0.6191430470032865
+ },
+ {
+ "class": true,
+ "condition": [
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable)) (args (list (h variable)))))))",
+ "(clause (head (compound (functor \"joindigits\") (args (list (h variable))))) (binop \"=\" (list (h variable))))",
+ "(clause (compound (functor \"joindigits\") (args (args variable))))"
+ ],
+ "distribution": [
+ 9,
+ 19
+ ],
+ "quality": 0.5042444250257836
+ }
+ ]
+} \ No newline at end of file