From 92c49ac708e04e545da6e7aafe91cac8f223f475 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 27 Feb 2017 18:35:01 +0100 Subject: Prolog: add bugs files for the first six groups --- prolog/problems/lists_advanced/len_2/bugs.json | 371 +++++++++++ prolog/problems/lists_advanced/max_2/bugs.json | 467 ++++++++++++++ prolog/problems/lists_advanced/min_2/bugs.json | 704 +++++++++++++++++++++ .../problems/lists_advanced/palindrome_1/bugs.json | 403 ++++++++++++ prolog/problems/lists_advanced/rev_2/bugs.json | 610 ++++++++++++++++++ .../problems/lists_advanced/shiftleft_2/bugs.json | 349 ++++++++++ .../problems/lists_advanced/shiftright_2/bugs.json | 464 ++++++++++++++ prolog/problems/lists_advanced/sublist_2/bugs.json | 527 +++++++++++++++ prolog/problems/lists_advanced/sum_2/bugs.json | 403 ++++++++++++ 9 files changed, 4298 insertions(+) create mode 100644 prolog/problems/lists_advanced/len_2/bugs.json create mode 100644 prolog/problems/lists_advanced/max_2/bugs.json create mode 100644 prolog/problems/lists_advanced/min_2/bugs.json create mode 100644 prolog/problems/lists_advanced/palindrome_1/bugs.json create mode 100644 prolog/problems/lists_advanced/rev_2/bugs.json create mode 100644 prolog/problems/lists_advanced/shiftleft_2/bugs.json create mode 100644 prolog/problems/lists_advanced/shiftright_2/bugs.json create mode 100644 prolog/problems/lists_advanced/sublist_2/bugs.json create mode 100644 prolog/problems/lists_advanced/sum_2/bugs.json (limited to 'prolog/problems/lists_advanced') diff --git a/prolog/problems/lists_advanced/len_2/bugs.json b/prolog/problems/lists_advanced/len_2/bugs.json new file mode 100644 index 0000000..3a537ff --- /dev/null +++ b/prolog/problems/lists_advanced/len_2/bugs.json @@ -0,0 +1,371 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"len\") (args (list (h variable))))))", + "(clause (head (compound (functor \"len\") (args \"[]\"))))", + "(clause (head (compound (functor \"len\") (args (list (t variable))))) (compound (functor \"len\") (args variable)))", + "(clause (head (compound (functor \"len\") (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 \"len\") (args (args \"0\")))))", + "(clause (head (compound (functor \"len\") (args \"[]\" (args \"0\")))))", + "(clause (compound (functor \"len\") (args (args variable))) (binop \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"len\") (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"len\") (args variable))) (binop variable \"=\"))", + "(clause (binop variable \"is\") (compound (functor \"len\") (args (args variable))))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"len\") (args (args variable)))))", + "(clause (head (compound (functor \"len\") (args (args \"1\")))))", + "(clause (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"len\") (args (list (h variable)) (args \"1\")))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"len\") (args variable)))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (compound (functor \"len\") (args (args variable))))", + "(clause (binop \"is\" (binop \"1\" \"+\")))", + "(clause (binop variable \"is\" (binop \"1\" \"+\")))", + "(clause (binop \"is\" \"0\"))", + "(clause (binop variable \"is\" \"0\"))", + "(clause (binop \"=\" \"0\"))", + "(clause (binop variable \"=\" \"0\"))", + "(clause (compound (functor \"len\") (args (args variable))) (binop \"is\" (binop \"+\" variable)))", + "(clause (binop \"is\" (binop \"1\" \"+\" variable)))", + "(clause (binop \"is\" (binop variable \"+\")) (compound (functor \"len\") (args (args variable))))", + "(clause (compound (functor \"len\") (args (args variable))))", + "(clause (binop variable \"is\" (binop variable \"+\")))", + "(clause (binop variable \"is\"))", + "(clause (binop \"=\" \"[]\"))", + "(clause (head (compound (functor \"len\") (args (args (binop \"+\" \"1\"))))))", + "(clause (head (compound (functor \"len\") (args (list (h variable)) (args (binop \"+\" \"1\"))))))", + "(clause (binop variable \"=\" \"[]\"))", + "(clause (head (compound (functor \"len\") (args (list (t variable)) (args (binop \"+\" \"1\"))))))", + "(clause (binop \"=\" (binop variable \"+\" \"1\")))", + "(clause (binop variable \"=\" (binop \"+\" \"1\")))", + "(clause (binop \"=\" (binop \"+\" \"1\")))", + "(clause (compound (functor \"len\") (args (args variable))) (binop variable \"is\"))", + "(clause (binop variable \"=\"))", + "(clause (head (compound (functor \"len\") (args (args (binop variable \"+\" \"1\"))))))", + "(clause (binop variable \"is\" \"1\"))", + "(clause (head (compound (functor \"len\") (args (args (binop variable \"+\"))))) (compound (functor \"len\") (args (args variable))))", + "(clause (binop \"is\" \"1\"))", + "(clause (head (compound (functor \"len\") (args (list (h variable) (t \"[]\"))))))", + "(clause (binop \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"len\") (args variable))) (compound (functor \"len\") (args variable)))", + "(clause (head (compound (functor \"len\") (args (list (t \"[]\"))))))", + "(clause (compound (functor \"len\") (args (args variable))) (binop \"=\" (binop variable \"+\")))", + "(clause (head (compound (functor \"len\") (args (args variable (args variable))))))", + "(clause (head (compound (functor \"len\") (args \"[]\" (args (args variable))))))", + "(clause (compound (functor \"len\") (args (args (args (binop variable \"+\" \"1\"))))))", + "(clause (compound (functor \"len\") (args variable)))", + "(clause (head (compound (functor \"len\") (args variable))))", + "(clause (compound (functor \"len\") (args (args variable (args (binop \"+\" \"1\"))))))", + "(clause (compound (functor \"len\") (args (args (args (binop \"+\" \"1\"))))))", + "(clause (compound (functor \"len\") (args variable (args (args (binop \"+\" \"1\"))))))", + "(clause (head (compound (functor \"len\") (args (args (args variable))))) (compound (functor \"len\") (args (args (args (binop variable \"+\"))))))", + "(clause (head (compound (functor \"len\") (args \"[]\" (args \"1\")))))", + "(clause (head (binop variable \"is\")))", + "(clause (binop \"is\" (binop variable \"-\" \"1\")))", + "(clause (binop \"is\" (binop \"-\" \"1\")))", + "(clause (binop variable \"is\" (binop \"-\" \"1\")))", + "(clause (head (compound (functor \"len\") (args (list (t \"[]\")) (args variable)))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 68, + 0 + ], + "quality": 0.9727078428864591 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"is\") (compound (functor \"len\") (args (args variable))))" + ], + "distribution": [ + 49, + 0 + ], + "quality": 0.9614398238300143 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"len\") (args (args variable)))))" + ], + "distribution": [ + 44, + 0 + ], + "quality": 0.956836113223887 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args (list (t variable))))) (compound (functor \"len\") (args variable)))", + "(clause (binop \"is\" (binop \"+\" \"1\")))", + "(clause (compound (functor \"len\") (args (args variable))) (binop \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"len\") (args (args \"0\")))))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"is\"))" + ], + "distribution": [ + 6, + 167 + ], + "quality": 0.9503656316623829 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args \"[]\"))))", + "(clause (head (compound (functor \"len\") (args (list (t variable))))) (compound (functor \"len\") (args variable)))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"is\"))", + "(clause (compound (functor \"len\") (args (args variable))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 10, + 179 + ], + "quality": 0.9339224337811853 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args (args \"0\")))))", + "(clause (compound (functor \"len\") (args (args variable))) (binop \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"is\"))" + ], + "distribution": [ + 10, + 172 + ], + "quality": 0.9319373101392443 + }, + { + "class": false, + "condition": [ + "(clause (binop \"is\" (binop variable \"+\")) (compound (functor \"len\") (args (args variable))))" + ], + "distribution": [ + 24, + 0 + ], + "quality": 0.9209156299301058 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args \"[]\"))))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"is\"))", + "(clause (compound (functor \"len\") (args (args variable))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 15, + 186 + ], + "quality": 0.9137691073602562 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"len\") (args (args variable))))" + ], + "distribution": [ + 22, + 0 + ], + "quality": 0.9134783484069616 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args (list (t variable))))) (compound (functor \"len\") (args variable)))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"is\"))", + "(clause (compound (functor \"len\") (args (args variable))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 20, + 181 + ], + "quality": 0.8882648872521293 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"len\") (args (args (binop \"+\" \"1\"))))))" + ], + "distribution": [ + 16, + 0 + ], + "quality": 0.880196072529589 + }, + { + "class": false, + "condition": [ + "(clause (binop \"=\" (binop variable \"+\" \"1\")))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8723981081411187 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"is\"))", + "(clause (compound (functor \"len\") (args (args variable))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 27, + 192 + ], + "quality": 0.866747278996158 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"len\") (args (args variable))) (binop variable \"is\"))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8635813115896738 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"len\") (args (args variable))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 35, + 193 + ], + "quality": 0.8378438890688092 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args (list (t variable))))) (compound (functor \"len\") (args variable)))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"len\") (args (args \"0\")))))" + ], + "distribution": [ + 34, + 182 + ], + "quality": 0.8304984753873256 + }, + { + "class": false, + "condition": [ + "(clause (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.8090841003084915 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"len\") (args (args \"0\")))))" + ], + "distribution": [ + 42, + 190 + ], + "quality": 0.8090037407616595 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"is\"))", + "(clause (head (compound (functor \"len\") (args \"[]\"))))" + ], + "distribution": [ + 12, + 0 + ], + "quality": 0.8044129053953029 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args \"[]\"))))", + "(clause (head (compound (functor \"len\") (args (list (t variable))))) (compound (functor \"len\") (args variable)))", + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"is\"))" + ], + "distribution": [ + 56, + 197 + ], + "quality": 0.7688780423248074 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"len\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"len\") (args (args \"0\")))))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7315031617727911 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"len\") (args \"[]\"))))", + "(clause (head (compound (functor \"len\") (args (list (t variable))))) (compound (functor \"len\") (args variable)))", + "(clause (binop variable \"is\" (binop \"+\" \"1\")))" + ], + "distribution": [ + 73, + 180 + ], + "quality": 0.6988970183782519 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"len\") (args variable)))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.6895831407852365 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"len\") (args variable))))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.6895831407852365 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"len\") (args \"[]\" (args \"1\")))))" + ], + "distribution": [ + 5, + 0 + ], + "quality": 0.6429023884024729 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/lists_advanced/max_2/bugs.json b/prolog/problems/lists_advanced/max_2/bugs.json new file mode 100644 index 0000000..2fadeb9 --- /dev/null +++ b/prolog/problems/lists_advanced/max_2/bugs.json @@ -0,0 +1,467 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"max\") (args (list (t variable))))) (compound (functor \"max\") (args variable)))", + "(clause (head (compound (functor \"max\") (args (list (h variable)) (args variable)))))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop variable \"=\"))", + "(clause (binop \">\" variable))", + "(clause (binop variable \"=\"))", + "(clause (binop variable \"is\"))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (compound (functor \"max\") (args (args variable))))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop \"=\" variable))", + "(clause (binop variable \">\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop variable \">\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop \"is\" variable))", + "(clause (binop \">=\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop \"is\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \"=\" variable))", + "(clause (binop \"=\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \">\" variable))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop variable \">=\"))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \">=\" variable))", + "(clause (head (compound (functor \"max\") (args variable))) (binop variable \"=\"))", + "(clause (binop variable \"<\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop variable \"=<\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop \">\" variable))", + "(clause (binop variable \">\") (binop \"=\" variable))", + "(clause (binop variable \">=\"))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \"=<\" variable))", + "(clause (binop variable \">\") (binop \"is\" variable))", + "(clause (compound (functor \"max\") (args (args variable))))", + "(clause (binop variable \">=\") (binop \"=\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \">\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop \">=\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \"<\"))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \"<\" variable))", + "(clause (binop variable \">=\") (binop \"is\" variable))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop variable \"<\"))", + "(clause (binop \"<\" variable) (binop \"is\" variable))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop \"<\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \">=\"))", + "(clause (binop \"=<\" variable) (binop \"=\" variable))", + "(clause (binop \"=\" (list (h variable))) (binop \"is\" variable))", + "(clause (head (compound (functor \"max\") (args (list (t (list (t variable))))))) (compound (functor \"max\") (args (list (t variable)))))", + "(clause (binop \"=<\" variable) (binop \"is\" variable))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"max\") (args variable)))", + "(clause (binop \"<\" variable))", + "(clause (head (compound (functor \"max\") (args (list (h variable) (t \"[]\"))))))", + "(clause (head (compound (functor \"max\") (args (list (t \"[]\")) (args variable)))))", + "(clause (head (compound (functor \"max\") (args (list (t \"[]\"))))))", + "(clause (binop \"<\" variable) (binop \"=\" variable))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop variable \">\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop \"<\" variable))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop variable \">=\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop \"=<\" variable))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" variable))", + "(clause (binop variable \"=\" \"[]\"))", + "(clause (head (compound (functor \"max\") (args (list (t (list (h variable))))))) (compound (functor \"max\") (args (list (h variable)))))", + "(clause (binop \"=\" \"[]\"))", + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \"=<\"))", + "(clause (head (compound (functor \"max\") (args \"[]\"))))", + "(clause (head (compound (functor \"max\") (args (list (t (list (h variable))))))) (binop \">\" variable))", + "(clause (head (compound (functor \"max\") (args (list (t variable))))) (compound (functor \"min\") (args variable)))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (compound (functor \"max\") (args (list (h variable)))))", + "(clause (head (compound (functor \"max\") (args (args variable)))))", + "(clause (binop variable \">\") (compound (functor \"max\") (args (list (h variable)))))", + "(clause (binop \"=\" (list (h variable))) (binop \"<\" variable))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop \">\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \"is\"))", + "(clause (binop \"=\" (list (h variable))))", + "(clause (binop \"=\" (list (t variable))) (binop variable \"=\"))", + "(clause (binop variable \"=<\"))", + "(clause (compound (functor \"max\") (args variable)))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop \"=<\" variable))", + "(clause (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop \">=\" variable))", + "(clause (binop \"=\" (list (h variable))) (binop variable \"<\"))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (compound (functor \"min\") (args (args variable))))", + "(clause (binop \"=<\" variable))", + "(clause (compound (functor \"max\") (args (list (h variable)))))", + "(clause (compound (functor \"max\") (args (list (t variable)))))", + "(clause (binop \"=\" (list (h variable))) (binop variable \">=\"))", + "(clause (head (compound (functor \"max\") (args (list (t (list (h variable))))))) (binop \"=<\" variable))", + "(clause (binop \"=\" (list (h variable))) (binop variable \">\"))", + "(clause (head (compound (functor \"max\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"max\") (args (list (t variable))))) (binop variable \"=\"))", + "(clause (binop variable \">=\") (compound (functor \"max\") (args (list (h variable)))))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (compound (functor \"max\") (args (args variable))))", + "(clause (binop variable \">\") (compound (functor \"max\") (args (args variable))))", + "(clause (binop \">\" variable) (binop variable \"is\"))", + "(clause (binop \"\\==\" \"[]\"))", + "(clause (binop \"=<\" variable) (compound (functor \"max\") (args (list (h variable)))))", + "(clause (head (compound (functor \"max\") (args \"[]\" (args \"[]\")))))", + "(clause (head (compound (functor \"max\") (args (list (t variable))))))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (compound (functor \"max\") (args (args (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (binop \">=\" variable))", + "(clause (head (compound (functor \"max\") (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"max\") (args (list (t variable))))) (binop \"=\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \"=\"))", + "(clause (binop \">=\" variable) (binop variable \"is\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (compound (functor \"max\") (args variable)))", + "(clause (head (compound (functor \"max2\") (args (args (args variable))))) (binop variable \">=\"))", + "(clause (compound (functor \"max\") (args variable)) (binop \"=\" variable))", + "(clause (head (compound (functor \"max\") (args (list (t (list (h variable))))))) (binop variable \">=\"))", + "(clause (binop \">\" variable) (binop \"is\" variable))", + "(clause (head (compound (functor \"max\") (args (args \"0\")))))", + "(clause (head (compound (functor \"max\") (args (list (t (list (t variable))))))) (compound (functor \"min\") (args (list (t variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"max\") (args (list (t (list (h variable))))))) (binop variable \">\"))", + "(clause (binop \">=\" variable) (binop \"is\" variable))", + "(clause (binop variable \"\\==\" \"[]\"))", + "(clause (head (compound (functor \"max\") (args (list (t (list (h variable))))))) (binop \">=\" variable))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (compound (functor \"max2\") (args (args (args variable)))))", + "(clause (head (compound (functor \"max\") (args (args (args variable))))) (compound (functor \"max\") (args (args (args variable)))))", + "(clause (head (compound (functor \"max\") (args (args variable (args variable))))))", + "(clause (head (compound (functor \"max\") (args (list (t (list (h variable))))))) (binop \"<\" variable))", + "(clause (head (compound (functor \"max\") (args \"[]\" (args \"0\")))))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (compound (functor \"min\") (args (list (h variable)))))", + "(clause (head (compound (functor \"max\") (args variable))))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop \"=\" variable))", + "(clause (head (compound (functor \"max2\") (args variable))) (binop variable \">=\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable)) (args (list (h variable)))))))", + "(clause (binop \">=\" variable) (binop variable \"=\"))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"max\") (args (args variable)))))" + ], + "distribution": [ + 20, + 0 + ], + "quality": 0.8900656084454792 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"max\") (args (list (h variable)) (args variable)))))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop variable \"=<\"))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \">\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \"=<\" variable))" + ], + "distribution": [ + 2, + 48 + ], + "quality": 0.8841350678520971 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop variable \"=<\"))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \">\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \"=<\" variable))" + ], + "distribution": [ + 3, + 50 + ], + "quality": 0.875784451606412 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop \"=<\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \">\" variable))" + ], + "distribution": [ + 4, + 52 + ], + "quality": 0.8705795807504655 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \"is\"))" + ], + "distribution": [ + 16, + 0 + ], + "quality": 0.8585357519581691 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"max\") (args (list (t variable))))) (compound (functor \"min\") (args variable)))" + ], + "distribution": [ + 16, + 0 + ], + "quality": 0.8585357519581691 + }, + { + "class": true, + "condition": [ + "(clause (binop \"is\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \"=<\" variable))", + "(clause (binop \"=<\" variable) (binop \"is\" variable))" + ], + "distribution": [ + 1, + 26 + ], + "quality": 0.8274606789340101 + }, + { + "class": true, + "condition": [ + "(clause (binop variable \">\"))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop variable \"=<\"))", + "(clause (binop \">\" variable))" + ], + "distribution": [ + 6, + 51 + ], + "quality": 0.8227208017431313 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \">=\"))", + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \"<\"))" + ], + "distribution": [ + 2, + 28 + ], + "quality": 0.8201708647010837 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop \"=<\" variable))" + ], + "distribution": [ + 10, + 61 + ], + "quality": 0.8188104054390486 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop \"is\" variable))", + "(clause (binop \"=<\" variable) (binop \"is\" variable))" + ], + "distribution": [ + 2, + 30 + ], + "quality": 0.8157774041483552 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"max\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \">=\" variable))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \"<\" variable))" + ], + "distribution": [ + 2, + 27 + ], + "quality": 0.7912746669823468 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop \"=<\" variable) (binop \"is\" variable))", + "(clause (binop variable \">\") (binop \"is\" variable))" + ], + "distribution": [ + 3, + 31 + ], + "quality": 0.788453996743897 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"max\") (args (list (t variable))))) (compound (functor \"max\") (args variable)))", + "(clause (binop \"=<\" variable) (binop \"=\" variable))", + "(clause (head (compound (functor \"max\") (args (list (h variable))))) (binop \"=\" variable))" + ], + "distribution": [ + 4, + 34 + ], + "quality": 0.780182415861194 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop \"=<\" variable) (binop \"is\" variable))" + ], + "distribution": [ + 5, + 35 + ], + "quality": 0.7789205356676925 + }, + { + "class": true, + "condition": [ + "(clause (binop variable \">=\") (binop \"is\" variable))", + "(clause (binop \"<\" variable) (binop \"is\" variable))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop variable \"is\"))" + ], + "distribution": [ + 3, + 29 + ], + "quality": 0.7718149911228794 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"max\") (args (list (h variable) (t \"[]\"))))))" + ], + "distribution": [ + 0, + 13 + ], + "quality": 0.764687469566378 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop \"is\" variable))", + "(clause (binop variable \">=\") (binop \"is\" variable))" + ], + "distribution": [ + 4, + 32 + ], + "quality": 0.7646593128299235 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop variable \">=\") (binop \"is\" variable))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop variable \"is\"))" + ], + "distribution": [ + 6, + 38 + ], + "quality": 0.7569319577338168 + }, + { + "class": true, + "condition": [ + "(clause (binop variable \">=\") (compound (functor \"max\") (args (list (h variable)))))" + ], + "distribution": [ + 0, + 9 + ], + "quality": 0.7506097250336605 + }, + { + "class": false, + "condition": [ + "(clause (binop \">\" variable) (binop variable \"is\"))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.734002499222176 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"max\") (args (args variable)))) (compound (functor \"min\") (args (args variable))))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.734002499222176 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \">=\"))", + "(clause (head (compound (functor \"max\") (args (args variable)))) (binop variable \"is\"))" + ], + "distribution": [ + 3, + 22 + ], + "quality": 0.7185373527540856 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"max\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"max\") (args (args variable))) (binop \"=\" variable))", + "(clause (binop variable \">=\"))" + ], + "distribution": [ + 1, + 17 + ], + "quality": 0.7069536551156186 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"max\") (args (list (t variable))))) (compound (functor \"max\") (args variable)))", + "(clause (compound (functor \"max\") (args (args variable))) (binop variable \"=<\"))" + ], + "distribution": [ + 2, + 16 + ], + "quality": 0.6580039730544098 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"max\") (args (list (t variable))))) (binop \"=\" variable))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.6541003807133517 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \">\") (compound (functor \"max\") (args (args variable))))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.6541003807133517 + }, + { + "class": false, + "condition": [ + "(clause (binop \">=\" variable) (binop variable \"is\"))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.6541003807133517 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/lists_advanced/min_2/bugs.json b/prolog/problems/lists_advanced/min_2/bugs.json new file mode 100644 index 0000000..e7c88e7 --- /dev/null +++ b/prolog/problems/lists_advanced/min_2/bugs.json @@ -0,0 +1,704 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"min\") (args (list (t variable))))) (compound (functor \"min\") (args variable)))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (binop \"<\" variable))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop variable \"<\"))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"=\" variable))", + "(clause (binop variable \"=\"))", + "(clause (binop variable \"is\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"<\" variable))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"is\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"=\" variable))", + "(clause (compound (functor \"min\") (args (args variable))))", + "(clause (binop \"=\" variable))", + "(clause (binop variable \"<\") (binop \"=\" variable))", + "(clause (binop \"is\" variable))", + "(clause (binop variable \"<\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop variable \"<\") (binop \"is\" variable))", + "(clause (head (compound (functor \"min\") (args \"[]\"))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop variable \">=\"))", + "(clause (binop \"=<\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop variable \"=<\"))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop variable \">\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \">=\" variable))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \"<\" variable))", + "(clause (head (compound (functor \"min\") (args variable))) (binop variable \"=\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"=<\" variable))", + "(clause (head (compound (functor \"min\") (args (list (t \"[]\")) (args variable)))))", + "(clause (head (compound (functor \"min\") (args (list (t \"[]\"))))))", + "(clause (head (compound (functor \"min\") (args (list (h variable) (t \"[]\"))))))", + "(clause (binop variable \"==\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \">\" variable))", + "(clause (head (compound (functor \"min\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args \"[]\" (args \"[]\")))))", + "(clause (head (compound (functor \"min\") (args (args variable)))))", + "(clause (binop variable \">\"))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"=<\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \"<\"))", + "(clause (compound (functor \"min\") (args variable)))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop variable \"=<\"))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))))", + "(clause (binop \">\" variable) (binop \"=\" variable))", + "(clause (binop variable \"=<\"))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"min\") (args variable)))", + "(clause (binop \">=\" variable) (binop \"=\" variable))", + "(clause (binop variable \"=<\") (binop \"=\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"<\" variable))", + "(clause (binop \">=\" variable) (binop \"is\" variable))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \">\" variable))", + "(clause (head (compound (functor \"min\") (args (list (t (list (t variable))))))) (compound (functor \"min\") (args (list (t variable)))))", + "(clause (head (compound (functor \"min\") (args \"[]\" (args variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \"==\"))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \">=\" variable))", + "(clause (binop \"==\" \"[]\"))", + "(clause (binop \">\" variable))", + "(clause (binop variable \"==\" \"[]\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \"=<\"))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \">\" variable))", + "(clause (binop \"=\" (list (h variable))))", + "(clause (binop variable \"<\") (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (compound (functor \"min\") (args (list (h variable)))))", + "(clause (binop variable \"=<\") (binop \"is\" variable))", + "(clause (binop \">\" variable) (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop variable \"<\"))", + "(clause (binop \"<\" variable) (binop variable \"=\"))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \">=\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \">\"))", + "(clause (binop \"=\" \"[]\"))", + "(clause (binop variable \"=\" \"[]\"))", + "(clause (binop \"<\" variable) (compound (functor \"min\") (args (args variable))))", + "(clause (binop \">\" variable) (binop \"is\" variable))", + "(clause (binop variable \">=\"))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \"=<\" variable))", + "(clause (binop \"=\" (list (t variable))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \"=\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \">=\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \"is\"))", + "(clause (binop \">=\" variable) (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (list (t (list (h variable))))))) (compound (functor \"min\") (args (list (h variable)))))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop variable \">\"))", + "(clause (head (compound (functor \"min\") (args (list (t variable))))))", + "(clause (binop variable \"=<\") (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \"=\" variable))", + "(clause (binop \"=\" (list (t variable))) (binop variable \"=\"))", + "(clause (binop variable \"<\") (compound (functor \"min\") (args (list (h variable)))))", + "(clause (binop \">=\" variable))", + "(clause (binop \"<\" variable) (binop \"=\" variable))", + "(clause (binop variable \"=<\") (compound (functor \"min\") (args (list (h variable)))))", + "(clause (binop \"=\" (list (h variable))) (binop variable \"<\"))", + "(clause (binop \"=\" (list (h variable))) (binop \"is\" variable))", + "(clause (binop \"<\" variable) (binop variable \"is\"))", + "(clause (head (binop \"is\" variable)))", + "(clause (head (compound (functor \"min\") (args (list (t variable))))) (binop variable \"=\"))", + "(clause (compound (functor \"min\") (args (list (t variable)))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop variable \"=\"))", + "(clause (binop variable \"=\") (binop variable \"=\"))", + "(clause (binop variable \">\") (binop variable \"=\"))", + "(clause (head (compound (functor \"min\") (args (list (t (list (h variable))))))) (binop \"=<\" variable))", + "(clause (head (compound (functor \"min\") (args (list (t (list (h variable))))))) (binop \"<\" variable))", + "(clause (head (compound (functor \"min\") (args \"[]\" (args \"0\")))))", + "(clause (binop variable \"<\") (binop variable \"=\"))", + "(clause (head (compound (functor \"min\") (args (args \"0\")))))", + "(clause (head (compound (functor \"min\") (args (args (args variable))))) (compound (functor \"min\") (args (args (args variable)))))", + "(clause (binop variable \"is\") (compound (functor \"min\") (args (args variable))))", + "(clause (binop variable \"=\") (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (compound (functor \"min\") (args (args (args variable)))))", + "(clause (head (binop variable \"is\")))", + "(clause (binop \"=\" (list (h variable))) (binop \"<\" variable))", + "(clause (binop \"=\" (list (h variable))) (binop \">\" variable))", + "(clause (binop variable \"is\" variable))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \"is\" variable))", + "(clause (binop \"=<\" variable) (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args variable))))", + "(clause (binop \"=\" (list (h variable))) (binop variable \"=<\"))", + "(clause (head (compound (functor \"min\") (args (list (t (list (h variable))))))) (binop \">\" variable))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (compound (functor \"var\") (args variable)))", + "(clause (head (compound (functor \"min\") (args (list (t (list (h variable))))))) (binop variable \"=<\"))", + "(clause (binop \"=<\" variable) (binop \"=\" variable))", + "(clause (compound (functor \"min\") (args (list (h variable)))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"is\" (compound (functor \"min\") (args variable))))", + "(clause (head (compound (functor \"min\") (args (list (t variable))))) (compound (functor \"min\") (args (list (t variable)))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop variable \"is\"))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop variable \"==\"))", + "(clause (binop variable \">\") (binop \"=\" variable))", + "(clause (binop \"<\" variable) (binop \"is\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"==\" variable))", + "(clause (head (compound (functor \"min\") (args (args (args variable))))))", + "(clause (binop \"=\" (list (h variable))) (binop variable \">\"))", + "(clause (compound (functor \"min\") (args (list (h variable)) (args (args variable)))))", + "(clause (binop variable \">=\") (binop \"=\" variable))", + "(clause (head (binop variable \"=\" variable)))", + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args (list (h variable)))))))", + "(clause (head (compound (functor \"minimum\") (args (args (args variable))))) (binop \">\" variable))", + "(clause (binop \"=\" (list (h variable))) (binop variable \">=\"))", + "(clause (binop \">\" variable) (compound (functor \"min\") (args (list (h variable)))))", + "(clause (head (compound (functor \"min\") (args \"[]\" (args (args variable))))))", + "(clause (binop variable \"=\") (binop \"=\" variable))", + "(clause (head (compound (functor \"min\") (args (args (args variable))))) (binop \"=\" variable))", + "(clause (compound (functor \"var\") (args variable)) (binop variable \"is\"))", + "(clause (binop \"=\" variable) (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop variable \">=\"))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (compound (functor \"min\") (args variable)))", + "(clause (head (compound (functor \"min\") (args (list (t variable))))) (compound (functor \"min\") (args (args variable))))", + "(clause (binop \"=<\" variable) (binop variable \"=\"))", + "(clause (head (compound (functor \"min\") (args (list (t (list (h variable)))) (args variable)))))", + "(clause (head (compound (functor \"min\") (args (args (args variable))))) (binop \"<\" variable))", + "(clause (binop variable \"=\") (binop \"<\" variable))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \"is\" (compound (functor \"min\") (args (args variable)))))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (compound (functor \"min\") (args (args (args variable)))))", + "(clause (compound (functor \"del\") (args (args (args variable)))))", + "(clause (binop variable \"<\") (binop variable \"is\"))", + "(clause (compound (functor \"min\") (args (args variable))) (compound (functor \"min\") (args (list (t (list (h variable)))))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=<\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"is\" (compound (functor \"min\") (args (args variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \"@>=\"))", + "(clause (head (compound (functor \"min\") (args (args variable)))) (compound (functor \"minimum\") (args (args (args variable)))))", + "(clause (head (compound (functor \"min\") (args (list (t (list (h variable))))))) (binop variable \"<\"))", + "(clause (binop variable \"is\") (binop variable \"is\"))", + "(clause (head (compound (functor \"minimum\") (args (args variable (args variable))))))", + "(clause (binop variable \"=\" variable))", + "(clause (binop \"=<\" variable) (binop variable \"is\"))", + "(clause (compound (functor \"min\") (args (args variable))) (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"@>=\" variable))", + "(clause (head (compound (functor \"min\") (args variable (args (args variable))))))", + "(clause (compound (functor \"del\") (args variable)) (binop variable \"=\"))", + "(clause (head (binop \"<\" variable)))", + "(clause (binop variable \">\") (binop \"is\" variable))", + "(clause (binop variable \"=\") (binop variable \"=<\"))", + "(clause (head (binop \"=\" variable)))", + "(clause (compound (functor \"min\") (args variable)) (compound (functor \"min\") (args variable)))", + "(clause (binop variable \"=\") (compound (functor \"min\") (args variable)))", + "(clause (binop variable \"=<\") (binop variable \"=\"))", + "(clause (head (compound (functor \"min\") (args (args \"[]\" (args variable))))))", + "(clause (binop \"is\" variable) (binop variable \"=<\"))", + "(clause (head (compound (functor \"min\") (args variable (args variable)))))", + "(clause (compound (functor \"del\") (args variable)) (binop variable \"=<\"))", + "(clause (head (compound (functor \"min\") (args variable (args \"[]\")))))", + "(clause (head (compound (functor \"minimum\") (args (args variable)))) (binop \">\" variable))", + "(clause (head (compound (functor \"minimum\") (args variable))) (binop variable \">\"))", + "(clause (compound (functor \"min\") (args (args (args variable)))) (binop \"<\" variable))", + "(clause (head (compound (functor \"minimum\") (args variable (args (args variable))))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \"<\" variable))" + ], + "distribution": [ + 133, + 0 + ], + "quality": 0.9873329502501947 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))) (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (compound (functor \"min\") (args (args variable))))" + ], + "distribution": [ + 68, + 0 + ], + "quality": 0.9615499748176484 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"<\") (compound (functor \"min\") (args (args variable))))" + ], + "distribution": [ + 49, + 0 + ], + "quality": 0.9588373697728235 + }, + { + "class": false, + "condition": [ + "(clause (binop \">\" variable) (compound (functor \"min\") (args (args variable))))" + ], + "distribution": [ + 45, + 0 + ], + "quality": 0.9546582081971609 + }, + { + "class": false, + "condition": [ + "(clause (binop \"<\" variable) (binop variable \"=\"))" + ], + "distribution": [ + 42, + 0 + ], + "quality": 0.9506997402775986 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))))" + ], + "distribution": [ + 87, + 2 + ], + "quality": 0.9505321265580633 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (compound (functor \"min\") (args (args variable))))" + ], + "distribution": [ + 84, + 2 + ], + "quality": 0.9485259007878576 + }, + { + "class": false, + "condition": [ + "(clause (binop \"<\" variable) (compound (functor \"min\") (args (args variable))))" + ], + "distribution": [ + 37, + 0 + ], + "quality": 0.942300706923254 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \"=<\" variable))" + ], + "distribution": [ + 36, + 0 + ], + "quality": 0.9402767441675692 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \"=\"))" + ], + "distribution": [ + 31, + 0 + ], + "quality": 0.9278212669405331 + }, + { + "class": false, + "condition": [ + "(clause (binop \">=\" variable) (compound (functor \"min\") (args (args variable))))" + ], + "distribution": [ + 31, + 0 + ], + "quality": 0.9278212669405331 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))) (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args \"[]\"))))" + ], + "distribution": [ + 56, + 1 + ], + "quality": 0.9217042304910151 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop variable \">\"))" + ], + "distribution": [ + 28, + 0 + ], + "quality": 0.9192082960259287 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \"is\"))" + ], + "distribution": [ + 28, + 0 + ], + "quality": 0.9192082960259287 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))) (compound (functor \"min\") (args (args variable))))", + "(clause (compound (functor \"min\") (args variable)))" + ], + "distribution": [ + 50, + 1 + ], + "quality": 0.9084973004782427 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"min\") (args (args variable))))", + "(clause (head (compound (functor \"min\") (args (list (t variable))))) (compound (functor \"min\") (args variable)))" + ], + "distribution": [ + 128, + 8 + ], + "quality": 0.9082150350140412 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"=<\") (compound (functor \"min\") (args (args variable))))" + ], + "distribution": [ + 25, + 0 + ], + "quality": 0.9063619829185183 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))) (binop \"=\" variable))" + ], + "distribution": [ + 24, + 0 + ], + "quality": 0.9008464777679259 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (t variable))))))" + ], + "distribution": [ + 23, + 0 + ], + "quality": 0.894769852257665 + }, + { + "class": false, + "condition": [ + "(clause (binop \"<\" variable) (binop \"=\" variable))" + ], + "distribution": [ + 22, + 0 + ], + "quality": 0.8883555304556446 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))) (compound (functor \"min\") (args (args variable))))", + "(clause (binop variable \"=\"))" + ], + "distribution": [ + 28, + 0 + ], + "quality": 0.8677377764570867 + }, + { + "class": false, + "condition": [ + "(clause (head (binop \"is\" variable)))" + ], + "distribution": [ + 18, + 0 + ], + "quality": 0.8556683824377487 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"<\" variable))", + "(clause (binop \">=\" variable) (binop \"is\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"is\" variable))" + ], + "distribution": [ + 2, + 37 + ], + "quality": 0.8496456395358111 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"<\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop variable \">=\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \">=\" variable))", + "(clause (binop \">=\" variable) (binop \"=\" variable))" + ], + "distribution": [ + 1, + 29 + ], + "quality": 0.8304302143257842 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (binop \"is\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop \">=\" variable) (binop \"is\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"is\" variable))" + ], + "distribution": [ + 3, + 38 + ], + "quality": 0.8214183376358836 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args \"[]\" (args \"0\")))))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8195003264218347 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"=\") (binop variable \"=\"))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8195003264218347 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"min\") (args (args variable)))) (compound (functor \"min\") (args (args variable))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"min\") (args variable)))" + ], + "distribution": [ + 23, + 0 + ], + "quality": 0.8170633938277345 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop variable \">=\"))", + "(clause (binop \">=\" variable) (binop \"=\" variable))" + ], + "distribution": [ + 2, + 30 + ], + "quality": 0.8134952659081054 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"<\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \">=\" variable))", + "(clause (binop \">=\" variable) (binop \"=\" variable))" + ], + "distribution": [ + 2, + 30 + ], + "quality": 0.8134952659081054 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"is\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \">=\" variable))", + "(clause (binop \">=\" variable) (binop \"is\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))" + ], + "distribution": [ + 4, + 39 + ], + "quality": 0.8113558176908959 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"=\" variable))", + "(clause (binop \">=\" variable) (binop \"=\" variable))" + ], + "distribution": [ + 5, + 40 + ], + "quality": 0.8034112515511181 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"<\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop variable \">=\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \">=\" variable))", + "(clause (binop variable \"<\") (binop \"=\" variable))" + ], + "distribution": [ + 2, + 29 + ], + "quality": 0.7960421693661188 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"min\") (args (args variable))) (binop \"=\" variable))", + "(clause (binop variable \"=<\"))", + "(clause (binop variable \"=<\") (binop \"=\" variable))" + ], + "distribution": [ + 2, + 23 + ], + "quality": 0.7702731707769063 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"=\" variable))", + "(clause (binop \"=\" variable))", + "(clause (binop variable \"=<\") (binop \"=\" variable))" + ], + "distribution": [ + 2, + 20 + ], + "quality": 0.7177858994582342 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (binop variable \"<\"))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop variable \"<\") (binop \"is\" variable))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"is\" variable))" + ], + "distribution": [ + 7, + 35 + ], + "quality": 0.7150650770015805 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"is\" variable))", + "(clause (binop \"is\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop \"=<\" variable))" + ], + "distribution": [ + 0, + 9 + ], + "quality": 0.5558402480227483 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"min\") (args (args variable))) (binop \"=<\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \"<\"))" + ], + "distribution": [ + 0, + 6 + ], + "quality": 0.5186825792811938 + }, + { + "class": true, + "condition": [ + "(clause (binop \"=<\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop variable \">\"))" + ], + "distribution": [ + 0, + 6 + ], + "quality": 0.5186825792811938 + }, + { + "class": true, + "condition": [ + "(clause (binop \"is\" variable))", + "(clause (compound (functor \"min\") (args (args variable))) (binop \"is\" variable))", + "(clause (binop \"=<\" variable))" + ], + "distribution": [ + 3, + 12 + ], + "quality": 0.4976823920347866 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"min\") (args (list (h variable)) (args variable)))))", + "(clause (head (compound (functor \"min\") (args (list (h variable))))) (binop \"=<\" variable))", + "(clause (binop \">\" variable) (binop \"=\" variable))" + ], + "distribution": [ + 0, + 7 + ], + "quality": 0.48071866766983756 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"min\") (args (args variable))) (binop \"=\" variable))", + "(clause (binop \"=\" (list (h variable))) (binop variable \">=\"))" + ], + "distribution": [ + 0, + 5 + ], + "quality": 0.4179829043252297 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/lists_advanced/palindrome_1/bugs.json b/prolog/problems/lists_advanced/palindrome_1/bugs.json new file mode 100644 index 0000000..7b59512 --- /dev/null +++ b/prolog/problems/lists_advanced/palindrome_1/bugs.json @@ -0,0 +1,403 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args \"[]\"))))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop variable \"=\"))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"palindrome\") (args variable)))", + "(clause (compound (functor \"rev\") (args variable (args variable))))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"rev\") (args (args variable))))", + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (binop variable \"=\"))", + "(clause (binop \"=\" (list (h variable))))", + "(clause (binop \"=\" (list (t variable))))", + "(clause (compound (functor \"rev\") (args variable)) (binop variable \"=\"))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"=\" variable))", + "(clause (binop \"=\" (list (h variable))) (binop variable \"=\"))", + "(clause (compound (functor \"rev\") (args (args variable))) (binop \"=\" variable))", + "(clause (compound (functor \"rev\") (args (args variable))) (binop variable \"=\"))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"palindrome\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (binop variable \"=\"))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (binop \"=\" \"[]\"))", + "(clause (compound (functor \"conc\") (args (list (t variable)))) (compound (functor \"palindrome\") (args variable)))", + "(clause (binop variable \"=\" \"[]\"))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (binop variable \"==\"))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop variable \"==\"))", + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args variable))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (compound (functor \"del\") (args (args (args variable)))) (compound (functor \"palindrome\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable) (t (list (h variable))))))))", + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))) (compound (functor \"palindrome\") (args variable)))", + "(clause (binop variable \"=\") (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"rev\") (args variable)) (binop \"=\" variable))", + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))) (compound (functor \"last_elem\") (args variable)))", + "(clause (compound (functor \"rev\") (args (args variable))) (binop \"==\" variable))", + "(clause (compound (functor \"rev\") (args variable)) (binop variable \"==\"))", + "(clause (compound (functor \"last_elem\") (args (args variable))) (compound (functor \"del\") (args variable)))", + "(clause (compound (functor \"last_elem\") (args (args variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop \"=\" (compound (functor \"rev\") (args variable))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"=:=\" variable))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (binop variable \"=:=\"))", + "(clause (binop \"=\" variable))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop \"==\" variable))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"==\" variable))", + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))) (compound (functor \"del\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args variable)) (binop variable \"=\"))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"rev\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"palindrome\") (args variable)))", + "(clause (compound (functor \"conc\") (args (list (h variable)) (args (list (h variable))))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"rev\") (args variable)))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (binop \"=\" variable))", + "(clause (compound (functor \"rev\") (args (args (list (t variable))))) (compound (functor \"palindrome\") (args variable)))", + "(clause (compound (functor \"conc\") (args (list (h variable)))) (binop variable \"=\"))", + "(clause (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"palindrome\") (args \"[]\" (args \"[]\")))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"reverse\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"reverse\") (args (args variable))))", + "(clause (binop \"=\" variable) (compound (functor \"del\") (args variable)))", + "(clause (compound (functor \"rev\") (args (args variable))) (binop variable \"==\"))", + "(clause (compound (functor \"rev\") (args variable)) (binop \"==\" variable))", + "(clause (compound (functor \"reverse\") (args variable (args variable))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop variable \"=\"))", + "(clause (binop variable \"=\") (binop variable \"=\"))", + "(clause (head (compound (functor \"palindrome\") (args (list (t (list (h variable))))))) (binop \"=\" variable))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"shiftright\") (args variable)))", + "(clause (compound (functor \"last_elem\") (args variable)) (compound (functor \"del\") (args (args variable))))", + "(clause (binop variable \"=\") (binop \"=\" variable))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (compound (functor \"rev\") (args (args (list (h variable))))))", + "(clause (binop \"=\" (list (t \"[]\"))))", + "(clause (binop variable \"=\" (list (t \"[]\"))))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable)) (args (list (h variable)))))))", + "(clause (head (compound (functor \"del_last\") (args (args \"[]\")))))", + "(clause (binop \"=\" (list (h variable) (t \"[]\"))))", + "(clause (compound (functor \"shiftright\") (args (args variable))) (binop variable \"=\"))", + "(clause (compound (functor \"rev\") (args (args (list (h variable))))) (binop \"==\" variable))", + "(clause (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"last_elem\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop variable \"==\"))", + "(clause (compound (functor \"conc\") (args (list (h variable)))) (binop variable \"==\"))", + "(clause (head (compound (functor \"palindrome\") (args (list (t \"[]\"))))))", + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))) (compound (functor \"last_elem\") (args (list (t variable)))))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (compound (functor \"del\") (args variable)))", + "(clause (binop \"=\" (list (t variable))) (binop \"=\" variable))", + "(clause (compound (functor \"last_elem\") (args variable)) (compound (functor \"palindrome\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable) (t \"[]\"))))))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (compound (functor \"last_elem\") (args (list (h variable)))))", + "(clause (compound (functor \"last_elem\") (args (args variable))) (binop \"==\" variable))", + "(clause (compound (functor \"conc\") (args (args (list (t variable))))) (compound (functor \"rev\") (args (args variable))))", + "(clause (binop (list (t variable)) \"=\") (compound (functor \"palindrome\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))))", + "(clause (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (binop \"==\" variable))", + "(clause (binop \"=\" variable) (compound (functor \"rev\") (args variable)))", + "(clause (binop (compound (functor \"rev\") (args variable)) \"=\" variable))", + "(clause (binop \"=\" (list (t variable))) (binop variable \"=\"))", + "(clause (binop \"=\" (list (h variable))) (binop (binop \"+\" (list (h variable))) \"=\"))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop (compound (functor \"rev\") (args variable)) \"=\"))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"cut\") (args variable)))", + "(clause (binop (list (h variable)) \"=\") (binop variable \"=\"))", + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))) (compound (functor \"shiftright\") (args variable)))", + "(clause (head (compound (functor \"del_last\") (args (list (h variable)) (args \"[]\")))))", + "(clause (compound (functor \"shiftright\") (args (args (list (t (list (t variable))))))) (compound (functor \"palindrome\") (args variable)))", + "(clause (head (compound (functor \"del_last\") (args (list (h variable)) (args (list (h variable)))))))", + "(clause (head (compound (functor \"cut\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"del_last\") (args (args (list (t variable)))))) (compound (functor \"del_last\") (args (args variable))))", + "(clause (head (compound (functor \"last\") (args variable))) (binop variable \"=\"))", + "(clause (binop \"=\" (list (h variable))) (binop (list (h variable)) \"=\"))", + "(clause (head (compound (functor \"del_last\") (args (list (t variable))))) (compound (functor \"del_last\") (args variable)))", + "(clause (binop variable \"=\" (compound (functor \"rev\") (args variable))))", + "(clause (head (compound (functor \"last\") (args (args variable)))) (compound (functor \"last\") (args (args variable))))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (list (h variable)))", + "(clause (head (compound (functor \"cut\") (args variable))) (binop variable \"=\"))", + "(clause (compound (functor \"last_elem\") (args (list (t variable)))) (compound (functor \"del_last\") (args variable)))", + "(clause (head (compound (functor \"del_last\") (args (list (h variable))))))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"del\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"palindrome\") (args variable)))", + "(clause (binop variable \"=\") (compound (functor \"last_elem\") (args variable)))", + "(clause (compound (functor \"last_elem\") (args (list (h variable)) (args variable))))", + "(clause (compound (functor \"concat\") (args (args (list (h variable))))) (binop \"=\" variable))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"concat\") (args (args (args variable)))))", + "(clause (head (compound (functor \"palindrome\") (args (list (t (list (h variable))))))))", + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))) (binop \"==\" variable))", + "(clause (head (compound (functor \"palindrome\") (args (list (h variable) (t (list (t (list (h variable))))))))))", + "(clause (binop variable \"=\" variable))", + "(clause (compound (functor \"del_last\") (args (args variable))) (compound (functor \"palindrome\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"rev\") (args (args variable))))", + "(clause (list (t variable)) (compound (functor \"palindrome\") (args variable)))", + "(clause (binop (compound (functor \"rev\") (args variable)) \"==\" variable))", + "(clause (list (h variable)))", + "(clause (compound (functor \"rev\") (args (args (list (t variable))))))", + "(clause (binop \"=\" (list (h variable))) (binop variable \"==\"))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"palindrome\") (args variable)))", + "(clause (compound (functor \"rev\") (args (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (compound (functor \"rev\") (args (args (list (h variable))))) (binop \"=\" variable))", + "(clause (binop (binop variable \"+\") \"=\") (binop variable \"=\"))", + "(clause (binop variable \"==\" (compound (functor \"rev\") (args variable))))", + "(clause (compound (functor \"concat\") (args variable)) (compound (functor \"concat\") (args (args (args variable)))))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"palindrome\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"eq\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop \"==\" (compound (functor \"rev\") (args variable))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"eq\") (args (args variable))))", + "(clause (binop variable \"=\") (binop \"=\" (compound (functor \"rev\") (args variable))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"rev\") (args variable)) (compound (functor \"eq\") (args variable)))", + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop (compound (functor \"rev\") (args variable)) \"==\"))", + "(clause (binop variable \"=\") (compound (functor \"concat\") (args (args (args variable)))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"palindrome\") (args (list (h variable))))) (binop variable \"==\"))" + ], + "distribution": [ + 26, + 0 + ], + "quality": 0.9220175081691375 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"palindrome\") (args variable))) (compound (functor \"rev\") (args (args variable))))" + ], + "distribution": [ + 6, + 102 + ], + "quality": 0.9214174451872571 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop variable \"==\"))" + ], + "distribution": [ + 24, + 0 + ], + "quality": 0.9131653327473639 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"rev\") (args variable)) (binop variable \"=\"))", + "(clause (compound (functor \"rev\") (args (args variable))) (binop \"=\" variable))" + ], + "distribution": [ + 1, + 43 + ], + "quality": 0.9088225383162426 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"del\") (args (args (args variable)))) (compound (functor \"palindrome\") (args variable)))" + ], + "distribution": [ + 21, + 0 + ], + "quality": 0.9000021394574145 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"palindrome\") (args variable))))" + ], + "distribution": [ + 20, + 0 + ], + "quality": 0.8945588313618569 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"rev\") (args (args variable))) (binop \"==\" variable))" + ], + "distribution": [ + 18, + 0 + ], + "quality": 0.8826872961114901 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"palindrome\") (args (list (t variable))))) (compound (functor \"last_elem\") (args variable)))" + ], + "distribution": [ + 18, + 0 + ], + "quality": 0.8826872961114901 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop \"=\" (compound (functor \"rev\") (args variable))))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8748253717871608 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"last_elem\") (args (args variable))) (binop \"=\" variable))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8748253717871608 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"last_elem\") (args (args variable))) (compound (functor \"del\") (args variable)))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8748253717871608 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"=:=\" variable))" + ], + "distribution": [ + 16, + 0 + ], + "quality": 0.8658128364243738 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"palindrome\") (args variable))) (binop \"==\" variable))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8554591270460289 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"==\" variable))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8417180723930746 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"palindrome\") (args variable)))" + ], + "distribution": [ + 13, + 0 + ], + "quality": 0.8277213071011541 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 12, + 0 + ], + "quality": 0.8129311580263633 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"=\") (binop variable \"=\"))" + ], + "distribution": [ + 11, + 0 + ], + "quality": 0.7932597029690587 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"rev\") (args (args variable))) (binop variable \"==\"))" + ], + "distribution": [ + 11, + 0 + ], + "quality": 0.7932597029690587 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"=\") (binop \"=\" variable))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.7725068668211278 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"rev\") (args (args (list (h variable))))) (binop \"==\" variable))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7431958534489994 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop variable \"==\"))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7431958534489994 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"palindrome\") (args (list (t (list (h variable))))))) (binop \"=\" variable))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7431958534489994 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/lists_advanced/rev_2/bugs.json b/prolog/problems/lists_advanced/rev_2/bugs.json new file mode 100644 index 0000000..c728b44 --- /dev/null +++ b/prolog/problems/lists_advanced/rev_2/bugs.json @@ -0,0 +1,610 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"rev\") (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"rev\") (args \"[]\" (args \"[]\")))))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"rev\") (args variable))) (binop variable \"=\"))", + "(clause (head (compound (functor \"rev\") (args (list (h variable)) (args (list (h variable)))))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"rev\") (args (args variable))))", + "(clause (binop \"=\" \"[]\"))", + "(clause (binop variable \"=\" \"[]\"))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))))", + "(clause (head (compound (functor \"rev\") (args (args (list (h variable)))))) (compound (functor \"rev\") (args (args variable))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable)) (args (list (t variable)))))))", + "(clause (compound (functor \"rev\") (args (args variable))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"rev\") (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable)) (args (list (t (list (h variable)))))))))", + "(clause (head (compound (functor \"rev\") (args (list (t \"[]\"))))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable) (t \"[]\"))))))", + "(clause (compound (functor \"rev\") (args (args variable))))", + "(clause (binop \"=\" (list (t variable))) (binop variable \"=\"))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"rev\") (args (args variable))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (binop \"=\" (list (h variable))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"rev\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"rev\") (args variable (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" variable))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (t (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"rev\") (args (args (list (t variable))))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (list (t \"[]\")) (args variable)))))", + "(clause (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"rev\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (list (t (list (h variable)))) (args (list (h variable)))))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable)) (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop variable \"=\"))", + "(clause (compound (functor \"rev\") (args variable)) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"rev\") (args (args variable))) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"rev\") (args (args (list (t variable)))))) (compound (functor \"rev\") (args (args variable))))", + "(clause (head (compound (functor \"conc\") (args variable))))", + "(clause (head (compound (functor \"rev\") (args (list (t \"[]\")) (args (list (h variable)))))))", + "(clause (binop variable \"=\") (binop \"=\" variable))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"rev\") (args (args variable))))", + "(clause (head (compound (functor \"conc\") (args (args (args variable))))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (binop \"=\" (list (t variable))))", + "(clause (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (binop \"=\" (list (t (list (h variable))))))", + "(clause (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"rev\") (args (list (t (list (h variable))))))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args (list (h variable)))))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (args (list (h variable)))))))", + "(clause (head (compound (functor \"rev\") (args variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (binop \"=\" (list (t variable))))", + "(clause (compound (functor \"conc\") (args (args variable (args variable)))))", + "(clause (head (compound (functor \"rev\") (args variable))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args (args variable)))))", + "(clause (compound (functor \"rev\") (args (args variable))) (binop variable \"=\"))", + "(clause (head (compound (functor \"rev\") (args \"[]\" (args (args variable))))))", + "(clause (head (compound (functor \"rev\") (args (args variable (args variable))))))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"rev\") (args (args variable))))", + "(clause (head (compound (functor \"rev\") (args (args (args variable))))) (compound (functor \"rev\") (args (args (args variable)))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (binop \"=\" variable))", + "(clause (binop \"=\" (list (t variable))))", + "(clause (binop variable \"=\" (list (t variable))))", + "(clause (compound (functor \"conc\") (args variable (args (args variable)))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (compound (functor \"conc\") (args \"[]\" (args (args variable)))))", + "(clause (compound (functor \"conc\") (args \"[]\")))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"insert\") (args (args (args variable)))))", + "(clause (head (compound (functor \"conc\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"conc\") (args (args (args variable))))) (binop variable \"=\"))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"shiftleft\") (args (args variable))))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"rev\") (args (args variable))))", + "(clause (head (compound (functor \"rev\") (args (list (t (list (h variable))))))) (compound (functor \"rev\") (args (list (h variable)))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args variable))))", + "(clause (compound (functor \"conc\") (args \"[]\" (args (list (h variable))))))", + "(clause (compound (functor \"rev\") (args variable)) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop variable \"=\") (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (list (t (list (t variable))))))) (compound (functor \"conc\") (args variable)))", + "(clause (binop variable \"=\") (compound (functor \"rev\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))) (binop variable \"=\"))", + "(clause (head (compound (functor \"conc\") (args (list (h variable)) (args (args (list (h variable))))))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"insert\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args (args variable)))) (binop \"=\" variable))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (compound (functor \"rev\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (list (t variable)) (args (list (h variable)))))))", + "(clause (binop variable \"=\") (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args (args (args (list (t variable))))))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"conc\") (args (args (list (h variable)))))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"rev\") (args (args variable))))", + "(clause (head (compound (functor \"rev\") (args (list (t (list (t \"[]\"))))))))", + "(clause (head (compound (functor \"rev\") (args (list (t (list (t \"[]\")))) (args (list (h variable)))))))", + "(clause (head (compound (functor \"rev\") (args (list (t (list (t \"[]\")))) (args (list (t (list (h variable)))))))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (binop variable \"=\") (compound (functor \"shiftleft\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable) (t (list (t \"[]\"))))))))", + "(clause (head (compound (functor \"conc\") (args \"[]\" (args (args variable))))))", + "(clause (head (compound (functor \"conc\") (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"rev\") (args (args (list (h variable)))))) (compound (functor \"rev\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"reverse\") (args (list (t variable))))) (compound (functor \"reverse\") (args variable)))", + "(clause (head (compound (functor \"reverse\") (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (list (t (list (h variable) (t \"[]\"))))))))", + "(clause (compound (functor \"rev\") (args variable (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable)) (args (list (t \"[]\")))))))", + "(clause (compound (functor \"rev\") (args (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (list (t \"[]\")) (args (list (t \"[]\")))))))", + "(clause (head (compound (functor \"rev\") (args (args (list (h variable) (t \"[]\")))))))", + "(clause (compound (functor \"rev\") (args (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"append\") (args (args (args variable)))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"append\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args (list (t \"[]\")))))))", + "(clause (head (compound (functor \"accRev\") (args (args variable (args variable))))))", + "(clause (head (compound (functor \"rev\") (args (args (list (t (list (h variable) (t \"[]\")))))))))", + "(clause (head (compound (functor \"accRev\") (args \"[]\" (args (args variable))))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"append\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"rev\") (args (args (args variable)))))", + "(clause (head (compound (functor \"accRev\") (args (args variable)))) (compound (functor \"accRev\") (args (args (list (t variable))))))", + "(clause (head (compound (functor \"accRev\") (args (args (args variable))))) (compound (functor \"accRev\") (args (args (args variable)))))", + "(clause (compound (functor \"accRev\") (args (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"accRev\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"accRev\") (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (args (list (h variable) (t (list (t \"[]\")))))))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"accRev\") (args (list (t variable))))) (compound (functor \"accRev\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args (list (t (list (t \"[]\")))))))))", + "(clause (head (compound (functor \"accRev\") (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable)) (args (list (t (list (t \"[]\")))))))))", + "(clause (head (compound (functor \"rev\") (args variable))) (compound (functor \"accRev\") (args variable)))", + "(clause (head (compound (functor \"accRev\") (args (list (h variable))))) (compound (functor \"accRev\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (binop \"=\" (compound (functor \"conc\") (args (args variable)))))", + "(clause (compound (functor \"rev\") (args variable)))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args (list (t (list (h variable))))))))", + "(clause (compound (functor \"conc\") (args \"[]\" (args (list (t (list (h variable))))))))", + "(clause (compound (functor \"accRev\") (args variable (args \"[]\"))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"insert\") (args variable)))", + "(clause (compound (functor \"accRev\") (args (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"rev\") (args (args variable))))" + ], + "distribution": [ + 121, + 0 + ], + "quality": 0.986556593510503 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 97, + 0 + ], + "quality": 0.9826434045656284 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args variable)))))" + ], + "distribution": [ + 77, + 0 + ], + "quality": 0.9773800451764163 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args (list (h variable)))))) (compound (functor \"rev\") (args (args variable))))" + ], + "distribution": [ + 65, + 0 + ], + "quality": 0.9725452093629203 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (list (h variable))))))" + ], + "distribution": [ + 62, + 0 + ], + "quality": 0.9710153654076905 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (list (h variable)) (args (list (t variable)))))))" + ], + "distribution": [ + 58, + 0 + ], + "quality": 0.968705070624353 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"rev\") (args (args variable))) (binop \"=\" (list (h variable))))" + ], + "distribution": [ + 57, + 0 + ], + "quality": 0.9680718894186054 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"rev\") (args (args variable))))" + ], + "distribution": [ + 42, + 0 + ], + "quality": 0.9539159922513188 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"rev\") (args (args variable))))" + ], + "distribution": [ + 39, + 0 + ], + "quality": 0.9498796288138498 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 38, + 0 + ], + "quality": 0.9482884419024931 + }, + { + "class": false, + "condition": [ + "(clause (binop \"=\" (list (h variable))) (binop \"=\" variable))" + ], + "distribution": [ + 37, + 0 + ], + "quality": 0.9465964556697102 + }, + { + "class": false, + "condition": [ + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (t (list (h variable))))))" + ], + "distribution": [ + 31, + 0 + ], + "quality": 0.9335831017115431 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 30, + 0 + ], + "quality": 0.9308550600732364 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (list (h variable)) (args variable)))))" + ], + "distribution": [ + 28, + 0 + ], + "quality": 0.9246600103422892 + }, + { + "class": false, + "condition": [ + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 26, + 0 + ], + "quality": 0.9172907001508989 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"rev\") (args variable)) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 25, + 0 + ], + "quality": 0.9148346932895947 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 24, + 0 + ], + "quality": 0.9100998125124599 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 15, + 163 + ], + "quality": 0.9082355033795803 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args variable (args variable)))))" + ], + "distribution": [ + 36, + 1 + ], + "quality": 0.9043979683819339 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"rev\") (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 16, + 165 + ], + "quality": 0.9042753585154341 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 22, + 0 + ], + "quality": 0.8982912661352064 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"conc\") (args variable))))" + ], + "distribution": [ + 19, + 0 + ], + "quality": 0.8785845199323865 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"rev\") (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 23, + 166 + ], + "quality": 0.8716355529231646 + }, + { + "class": false, + "condition": [ + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (t variable))))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8613551527158146 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (list (t variable))))))" + ], + "distribution": [ + 16, + 0 + ], + "quality": 0.8508714504566388 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 16, + 0 + ], + "quality": 0.8508714504566388 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args variable)))) (binop \"=\" (list (t variable))))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8382228419619023 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (list (t (list (h variable))))))) (compound (functor \"rev\") (args variable)))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8382228419619023 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 35, + 171 + ], + "quality": 0.824434570232329 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (list (h variable))))) (binop \"=\" (list (t variable))))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8237200730367206 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"rev\") (args (args variable))) (binop variable \"=\"))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8237200730367206 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args (list (h variable)))))))" + ], + "distribution": [ + 13, + 0 + ], + "quality": 0.819408982442943 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"rev\") (args (args variable))))" + ], + "distribution": [ + 13, + 0 + ], + "quality": 0.819408982442943 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 0, + 11 + ], + "quality": 0.6906520725171637 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"rev\") (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 1, + 14 + ], + "quality": 0.6849688185649977 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"rev\") (args \"[]\"))))", + "(clause (head (compound (functor \"rev\") (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 76, + 166 + ], + "quality": 0.6683723967959012 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 93, + 174 + ], + "quality": 0.6376377180918508 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"rev\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"rev\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 164, + 186 + ], + "quality": 0.5221807820252026 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/lists_advanced/shiftleft_2/bugs.json b/prolog/problems/lists_advanced/shiftleft_2/bugs.json new file mode 100644 index 0000000..04609fd --- /dev/null +++ b/prolog/problems/lists_advanced/shiftleft_2/bugs.json @@ -0,0 +1,349 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"shiftleft\") (args \"[]\"))))", + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"shiftleft\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"shiftleft\") (args \"[]\" (args \"[]\")))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"shiftleft\") (args variable))) (binop variable \"=\"))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable)) (args (list (h variable)))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable)) (args (list (h variable)))))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))))", + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable)) (args (list (t variable)))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"shiftleft\") (args variable)))", + "(clause (head (compound (functor \"shiftleft\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (binop \"=\" (list (h variable))))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop \"=\" \"[]\"))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable)) (args (list (t (list (h variable)))))))))", + "(clause (binop variable \"=\" \"[]\"))", + "(clause (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable)) (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (binop \"=\" (list (t variable))))", + "(clause (binop variable \"=\"))", + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (compound (functor \"shiftleft\") (args (args variable))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t \"[]\"))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable) (t \"[]\"))))))", + "(clause (head (compound (functor \"conc\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"conc\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"conc\") (args \"[]\" (args (args variable))))))", + "(clause (head (compound (functor \"conc\") (args \"[]\"))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftleft\") (args (args (list (h variable)))))))", + "(clause (head (compound (functor \"conc\") (args (list (h variable)) (args (args (list (h variable))))))))", + "(clause (head (compound (functor \"conc\") (args (args (args (list (t variable))))))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (binop \"=\" (compound (functor \"conc\") (args variable))))", + "(clause (head (compound (functor \"shiftleft\") (args variable))))", + "(clause (binop \"=\" (list (t variable))) (binop \"=\" (list (h variable))))", + "(clause (binop \"=\" (list (h variable))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t \"[]\")) (args (list (h variable)))))))", + "(clause (head (compound (functor \"left\") (args (list (t (list (h variable)))) (args (list (h variable)))))))", + "(clause (head (compound (functor \"left\") (args (list (t (list (t variable))))))) (compound (functor \"left\") (args (list (t variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (args (compound (functor \"conc\") (args (args (args variable)))))))))", + "(clause (head (compound (functor \"conc\") (args (args variable (args variable))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"shiftleft\") (args (list (h variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (compound (functor \"concat\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"append\") (args variable)))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"append\") (args (args (list (h variable))))))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args variable)) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable)) (args (compound (functor \"conc\") (args variable)))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"left\") (args (list (h variable)))))", + "(clause (head (compound (functor \"left\") (args (list (h variable))))) (compound (functor \"left\") (args (list (h variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"left\") (args (list (t variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (compound (functor \"append\") (args (args (args variable)))))", + "(clause (compound (functor \"shiftleft\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (binop \"=\" (list (t (list (h variable))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t (list (h variable))))))) (binop variable \"=\"))", + "(clause (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"left\") (args (args (list (t variable)))))) (compound (functor \"left\") (args (args variable))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable)) (args variable)))))", + "(clause (head (compound (functor \"conc\") (args (args (args variable))))) (binop variable \"=\"))", + "(clause (head (compound (functor \"conc\") (args variable))))", + "(clause (head (compound (functor \"shiftleft\") (args \"[]\" (args (list (h variable)))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable)) (args (compound (functor \"conc\") (args (args (list (h variable))))))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"concat\") (args variable)))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t (list (h variable)))) (args (list (h variable)))))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"shiftleft\") (args (args (list (h variable)))))) (compound (functor \"left\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"shiftleft\") (args (args (list (t variable)))))) (compound (functor \"left\") (args (args (list (t variable))))))", + "(clause (compound (functor \"shiftleft\") (args (args variable))) (binop \"=\" (list (t (list (h variable))))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (binop \"=\" (list (t (list (h variable))))) (compound (functor \"shiftleft\") (args (list (t (list (h variable)))))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 69, + 0 + ], + "quality": 0.9735063586852684 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 4, + 186 + ], + "quality": 0.9729895641497852 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable)) (args (list (h variable)))))))" + ], + "distribution": [ + 41, + 0 + ], + "quality": 0.9545110973173283 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))))" + ], + "distribution": [ + 31, + 0 + ], + "quality": 0.9383064708954235 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable)) (args (list (t variable)))))))" + ], + "distribution": [ + 29, + 0 + ], + "quality": 0.9337500809431362 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 13, + 187 + ], + "quality": 0.9297722589938553 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))))" + ], + "distribution": [ + 27, + 0 + ], + "quality": 0.928131935844377 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (binop \"=\" (list (h variable))))" + ], + "distribution": [ + 20, + 0 + ], + "quality": 0.8999602495440122 + }, + { + "class": false, + "condition": [ + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 19, + 0 + ], + "quality": 0.8945160184994223 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable)) (args (list (t (list (h variable)))))))))" + ], + "distribution": [ + 18, + 0 + ], + "quality": 0.8885033852926123 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 16, + 0 + ], + "quality": 0.8735634581359323 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable)) (args variable)))))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8658360225106579 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (compound (functor \"shiftleft\") (args (args variable))))" + ], + "distribution": [ + 12, + 0 + ], + "quality": 0.8274301222040094 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.7906938494946442 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.7906938494946442 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 1, + 18 + ], + "quality": 0.7836264816857417 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (args (list (h variable)))))))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7651868458596011 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (list (t variable))))) (binop \"=\" (compound (functor \"conc\") (args variable))))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7376026176672326 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"=\" (list (h variable))))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7376026176672326 + }, + { + "class": false, + "condition": [ + "(clause (binop \"=\" (list (t variable))) (binop \"=\" (list (h variable))))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7376026176672326 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args variable))))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7376026176672326 + }, + { + "class": false, + "condition": [ + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (t variable))))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.6946627662225194 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"shiftleft\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 113, + 208 + ], + "quality": 0.6418259859921002 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/lists_advanced/shiftright_2/bugs.json b/prolog/problems/lists_advanced/shiftright_2/bugs.json new file mode 100644 index 0000000..cab63bf --- /dev/null +++ b/prolog/problems/lists_advanced/shiftright_2/bugs.json @@ -0,0 +1,464 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (t variable)))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (h variable)))))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))) (compound (functor \"shiftright\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"shiftleft\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args \"[]\"))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"shiftleft\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"shiftright\") (args \"[]\" (args \"[]\")))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable)) (args (list (h variable)))))))", + "(clause (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (binop variable \"=\"))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"del\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (compound (functor \"conc\") (args (args variable (args variable)))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"shiftright\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable)) (args (list (t (list (h variable)))))))))", + "(clause (compound (functor \"rev\") (args (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (compound (functor \"del\") (args variable)) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"last_elem\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop \"=\" \"[]\"))", + "(clause (binop variable \"=\" \"[]\"))", + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop variable \"=\"))", + "(clause (compound (functor \"conc\") (args variable)) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (binop \"=\" (list (t variable))))", + "(clause (compound (functor \"del\") (args (args (args variable)))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"rev\") (args (args (list (t variable))))))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"last_elem\") (args variable)) (compound (functor \"del\") (args (args variable))))", + "(clause (compound (functor \"last_elem\") (args (args variable))) (compound (functor \"del\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args (args (args variable))))) (binop variable \"=\"))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"shiftright\") (args (args variable))))", + "(clause (compound (functor \"last_elem\") (args (args variable))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"rev\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))) (compound (functor \"conc\") (args (args (args (list (t variable)))))))", + "(clause (head (compound (functor \"conc\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))) (binop variable \"=\"))", + "(clause (head (compound (functor \"conc\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable) (t \"[]\"))))))", + "(clause (head (compound (functor \"shiftright\") (args (list (t \"[]\"))))))", + "(clause (head (compound (functor \"t_elem\") (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (args (list (h variable)))))))", + "(clause (compound (functor \"rev\") (args (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"t_elem\") (args (args variable)))))", + "(clause (compound (functor \"del\") (args variable)) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (compound (functor \"rev\") (args variable)) (compound (functor \"del\") (args (args variable))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"shiftright\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"del\") (args (args (args variable)))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))", + "(clause (compound (functor \"del\") (args (args (args variable)))) (binop \"=\" (list (t variable))))", + "(clause (compound (functor \"shiftright\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args (args variable)))) (binop \"=\" variable))", + "(clause (compound (functor \"rev\") (args (args variable))) (binop variable \"=\"))", + "(clause (head (compound (functor \"shiftright\") (args (list (t \"[]\")) (args (list (h variable)))))))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (t variable)))))))", + "(clause (head (compound (functor \"shiftright\") (args (list (t (list (h variable)))) (args (list (h variable)))))))", + "(clause (head (compound (functor \"del\") (args (args (args variable))))) (binop variable \"=\"))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable)) (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"rev\") (args (args (list (h variable))))) (compound (functor \"del\") (args variable)))", + "(clause (compound (functor \"shiftleft\") (args (args variable))) (compound (functor \"rev\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (h variable)))))) (compound (functor \"shiftright\") (args (args (list (h variable))))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"del\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))) (compound (functor \"rev\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"del\") (args (args (args variable)))))", + "(clause (compound (functor \"shiftright\") (args (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (compound (functor \"shiftright\") (args (args (list (t variable))))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (h variable)))))) (binop \"=\" (list (h variable))))", + "(clause (compound (functor \"conc\") (args variable (args (args variable)))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"del_last\") (args (args \"[]\" (args variable))))))", + "(clause (head (compound (functor \"conc\") (args (args (args variable))))))", + "(clause (head (compound (functor \"conc\") (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (t (list (t variable)))))))) (compound (functor \"shiftright\") (args (args (list (t variable))))))", + "(clause (head (compound (functor \"del_last\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"conc\") (args \"[]\"))))", + "(clause (compound (functor \"shiftright\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"append\") (args (args (args variable)))))", + "(clause (head (compound (functor \"conc\") (args \"[]\" (args (args variable))))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"shiftright\") (args (args (compound (functor \"conc\") (args (args (args variable))))))))", + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"shiftleft\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args (list (h variable)) (args (args (list (h variable))))))))", + "(clause (head (compound (functor \"conc\") (args (args (args (list (t variable))))))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"last_elem\") (args (args variable)))) (compound (functor \"last_elem\") (args (args variable))))", + "(clause (compound (functor \"last_elem\") (args (args variable))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"conc\") (args (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"del\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (compound (functor \"del\") (args variable)))", + "(clause (binop \"=\" (list (t variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))) (compound (functor \"del_last\") (args variable)))", + "(clause (head (compound (functor \"del_last\") (args (list (t \"[]\")) (args (args variable))))))", + "(clause (head (compound (functor \"del_last\") (args (list (t \"[]\"))))))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (h variable)))))) (compound (functor \"del_last\") (args (args (args variable)))))", + "(clause (head (compound (functor \"del_last\") (args (list (t variable))))) (compound (functor \"del_last\") (args variable)))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (head (compound (functor \"del_last\") (args (list (h variable)) (args \"[]\")))))", + "(clause (head (compound (functor \"conc\") (args (list (h variable))))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (h variable)))))))", + "(clause (head (compound (functor \"del_last\") (args (list (h variable)) (args (args variable))))))", + "(clause (binop variable \"=\") (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"del\") (args variable)) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (binop \"=\" (list (t (list (h variable))))))", + "(clause (head (compound (functor \"del_last\") (args (list (t \"[]\")) (args \"[]\")))))", + "(clause (head (compound (functor \"del_last\") (args (list (h variable) (t \"[]\"))))))", + "(clause (head (compound (functor \"del_last\") (args (args (args variable))))) (compound (functor \"del_last\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftright\") (args \"[]\" (args variable)))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"shiftright\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"last\") (args variable)))", + "(clause (head (compound (functor \"conc\") (args variable))) (binop variable \"=\"))", + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (compound (functor \"findlast\") (args (list (h variable)))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (args variable)))))" + ], + "distribution": [ + 43, + 0 + ], + "quality": 0.9544875092982839 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 42, + 1 + ], + "quality": 0.9256141411419427 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 27, + 0 + ], + "quality": 0.9241448036677106 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (t variable)))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"shiftright\") (args (args (list (h variable)))))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 2, + 66 + ], + "quality": 0.9230760007308819 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 26, + 0 + ], + "quality": 0.920998930735984 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (list (h variable))))))" + ], + "distribution": [ + 33, + 1 + ], + "quality": 0.9036493742845172 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"shiftright\") (args (args variable))))" + ], + "distribution": [ + 21, + 0 + ], + "quality": 0.8994670201920275 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 1, + 40 + ], + "quality": 0.894174740526763 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"shiftleft\") (args (args variable))))" + ], + "distribution": [ + 3, + 47 + ], + "quality": 0.8879015719689589 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 2, + 45 + ], + "quality": 0.8828800380948056 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8746032887862484 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8746032887862484 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8746032887862484 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8574419492958788 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8574419492958788 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (binop variable \"=\"))" + ], + "distribution": [ + 18, + 0 + ], + "quality": 0.823250673256642 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args variable))))" + ], + "distribution": [ + 12, + 0 + ], + "quality": 0.8175234160576993 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"t_elem\") (args variable))))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.7757149640806767 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.7757149640806767 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"shiftright\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7471668102545188 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"conc\") (args variable)) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (binop variable \"=\"))" + ], + "distribution": [ + 1, + 16 + ], + "quality": 0.7359401462937517 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 13, + 0 + ], + "quality": 0.7247160718268745 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (args (list (t variable)))))))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7162895278146735 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args (list (h variable)) (args variable)))))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.6715599948189581 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"shiftright\") (args variable))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.6715599948189581 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"rev\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 0, + 7 + ], + "quality": 0.6625971589972083 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"last_elem\") (args (args variable))) (compound (functor \"conc\") (args (list (h variable)))))" + ], + "distribution": [ + 2, + 11 + ], + "quality": 0.609507882414573 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"del\") (args variable)) (compound (functor \"conc\") (args (list (h variable)))))" + ], + "distribution": [ + 6, + 14 + ], + "quality": 0.4752154241003168 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/lists_advanced/sublist_2/bugs.json b/prolog/problems/lists_advanced/sublist_2/bugs.json new file mode 100644 index 0000000..acce3a7 --- /dev/null +++ b/prolog/problems/lists_advanced/sublist_2/bugs.json @@ -0,0 +1,527 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"sublist\") (args \"[]\"))))", + "(clause (head (compound (functor \"sublist\") (args \"[]\" (args \"[]\")))))", + "(clause (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"sublist\") (args variable)))", + "(clause (binop variable \"=\"))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"sublist\") (args (args variable))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop \"=\" (list (h variable))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"sublist\") (args variable))) (binop variable \"=\"))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable)) (args (list (h variable)))))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"sublist\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"sublist\") (args (args variable))))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"conc\") (args (args (args (list (t variable)))))))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (compound (functor \"conc\") (args (args (args (list (h variable)))))))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args variable))))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))))", + "(clause (binop variable \"=\") (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (h variable))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"sublist\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args variable (args \"[]\")))))", + "(clause (head (compound (functor \"sublist\") (args (args (list (t variable)))))) (compound (functor \"sublist\") (args (args variable))))", + "(clause (binop variable \"=\") (compound (functor \"sublist\") (args (args variable))))", + "(clause (compound (functor \"sublist\") (args (args variable))) (binop \"=\" variable))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (compound (functor \"conc\") (args (args (args (list (t variable)))))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"conc\") (args variable)) (binop \"=\" variable))", + "(clause (compound (functor \"conc\") (args (args variable))) (binop \"=\" variable))", + "(clause (binop \"=\" \"[]\"))", + "(clause (binop variable \"=\" \"[]\"))", + "(clause (compound (functor \"sublist\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"sublist\") (args variable (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (binop \"=\" (list (t variable))) (binop variable \"=\"))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args variable)))", + "(clause (binop \"=\" variable))", + "(clause (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"sublist\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (list (t variable))))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"sublist\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"sublist\") (args (args variable))))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (binop variable \"=\"))", + "(clause (compound (functor \"conc\") (args (args (args (list (t variable)))))) (compound (functor \"sublist\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (binop \"=\" (list (t variable))))", + "(clause (binop variable \"=\") (compound (functor \"sublist\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"sublist\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args (args \"[]\"))))", + "(clause (compound (functor \"sublist\") (args (args variable))) (binop \"=\" (list (t variable))))", + "(clause (compound (functor \"conc\") (args variable (args \"[]\"))))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args \"[]\" (args variable)))))", + "(clause (binop variable \"=\") (binop variable \"=\"))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"sublist\") (args (args variable))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"sublist\") (args variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (compound (functor \"sublist\") (args (list (h variable)))))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args (list (t variable)))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"sublist\") (args (args variable))))", + "(clause (binop variable \"=\") (binop \"=\" variable))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (binop variable \"\\=\"))", + "(clause (binop \"=\" (list (h variable) (t \"[]\"))))", + "(clause (compound (functor \"conc\") (args (args variable (args variable)))))", + "(clause (binop variable \"=\" (list (t \"[]\"))))", + "(clause (binop \"=\" (list (t \"[]\"))))", + "(clause (binop \"=\" (list (t (list (h variable))))) (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"sublist\") (args \"[]\" (args variable)))))", + "(clause (binop variable \"\\=\" \"[]\"))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (unop \\+ (binop variable \"=\")))", + "(clause (binop \"\\=\" \"[]\"))", + "(clause (binop \"=\" (list (t (list (t variable))))))", + "(clause (unop \\+ (binop \"=\" \"[]\")))", + "(clause (unop \\+ (binop variable \"=\" \"[]\")))", + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"sublist\") (args (args variable))))", + "(clause (compound (functor \"sublist\") (args (args variable))) (compound (functor \"conc\") (args variable)))", + "(clause (head (binop variable \"=\")))", + "(clause (head (binop \"=\" variable)))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args (args (list (h variable))))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"sublist\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable)) (args variable)))))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (binop \"=\" variable))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"sublist\") (args (list (h variable)))))", + "(clause (compound (functor \"sublist\") (args (args variable))) (binop variable \"=\"))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (binop \"=\" variable))", + "(clause (binop variable \"\\=\"))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"sublist\") (args (args variable))))", + "(clause (compound (functor \"sublist\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable)) (args variable)))))", + "(clause (binop \"=\" (list (t (list (t variable))))) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (binop variable \"is\"))", + "(clause (compound (functor \"conc\") (args (list (t variable)))))", + "(clause (compound (functor \"sublist\") (args variable (args variable))))", + "(clause (compound (functor \"conc\") (args (args (list (h variable) (t variable))))))", + "(clause (head (compound (functor \"sublist\") (args (list (t (list (t variable))))))) (compound (functor \"sublist\") (args variable)))", + "(clause (binop \"\\==\" \"[]\"))", + "(clause (binop \"=\" (list (t variable))) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable)) (args \"[]\")))))", + "(clause (binop variable \"\\==\" \"[]\"))", + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"append\") (args (args (args variable)))))", + "(clause (compound (functor \"conc\") (args variable (args (args variable)))))", + "(clause (compound (functor \"conc\") (args variable (args (list (t variable))))))", + "(clause (binop variable \"=\") (compound (functor \"conc\") (args (args variable))))", + "(clause (compound (functor \"conc\") (args (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (binop \"=\" variable))", + "(clause (head (compound (functor \"fsub\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable)) (args (list (t variable)))))))", + "(clause (compound (functor \"conc\") (args (args variable))) (binop variable \"\\=\"))", + "(clause (compound (functor \"conc\") (args \"[]\" (args variable))))", + "(clause (compound (functor \"sublist\") (args (args variable))) (unop \\+ (binop variable \"=\")))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (compound (functor \"del\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"conc\") (args variable)))", + "(clause (binop \"=\" (list (h variable))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (compound (functor \"conc\") (args \"[]\" (args (args variable)))))", + "(clause (compound (functor \"conc\") (args (list (h variable)) (args variable))))", + "(clause (head (compound (functor \"fsub\") (args (args (args variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args (args (list (t variable))))))", + "(clause (compound (functor \"conc\") (args \"[]\")))", + "(clause (binop (list (h variable)) \"=\"))", + "(clause (head (compound (functor \"subl\") (args (args (list (t variable)))))) (compound (functor \"subl\") (args (args variable))))", + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"subl\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args (list (h variable))))) (binop \"=\" (list (h variable))))", + "(clause (binop \"=\" (list (t variable))) (binop \"=\" variable))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"subl\") (args (args (args variable)))))", + "(clause (head (compound (functor \"subl\") (args (args (args variable))))) (compound (functor \"conc\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"subl\") (args (args variable))))", + "(clause (head (compound (functor \"sublist\") (args (list (t \"[]\"))))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args (list (h variable)))))", + "(clause (binop variable \"=<\") (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"sublist\") (args (args (list (t variable)))))) (compound (functor \"sublist\") (args variable)))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable) (t \"[]\"))))))", + "(clause (head (compound (functor \"subl\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"sublist\") (args variable)) (compound (functor \"conc\") (args (args variable))))", + "(clause (head (compound (functor \"subl\") (args (args \"[]\" (args variable))))))", + "(clause (head (compound (functor \"subl\") (args variable (args \"[]\")))))", + "(clause (binop \"=\" (list (h variable))) (binop \"=\" (list (t (list (h variable))))))", + "(clause (head (compound (functor \"subl\") (args (args (args variable))))) (compound (functor \"subl\") (args (args (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (binop variable \"=<\"))", + "(clause (binop \"=\" (list (h variable))) (binop \"=<\" variable))", + "(clause (compound (functor \"conc\") (args (args (list (t variable))))) (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"subl\") (args variable))) (compound (functor \"subl\") (args variable)))", + "(clause (compound (functor \"subl\") (args variable (args variable))))", + "(clause (head (compound (functor \"subl\") (args (args \"[]\")))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 96, + 0 + ], + "quality": 0.9822117568233223 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (args variable)))))" + ], + "distribution": [ + 59, + 0 + ], + "quality": 0.9678944049149696 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (args (list (t variable)))))) (compound (functor \"sublist\") (args (args variable))))" + ], + "distribution": [ + 45, + 0 + ], + "quality": 0.95558425679854 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 45, + 0 + ], + "quality": 0.95558425679854 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (list (h variable)) (args (list (h variable)))))))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"sublist\") (args variable)))" + ], + "distribution": [ + 77, + 1 + ], + "quality": 0.9469515797981775 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (binop \"=\" (list (h variable))))" + ], + "distribution": [ + 58, + 1 + ], + "quality": 0.9427119683066102 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (list (h variable)) (args (list (h variable)))))))" + ], + "distribution": [ + 105, + 4 + ], + "quality": 0.9380206385193013 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args variable))) (binop \"=\" variable))" + ], + "distribution": [ + 33, + 0 + ], + "quality": 0.9338975659148043 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args \"[]\" (args \"[]\")))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (binop variable \"=\"))" + ], + "distribution": [ + 122, + 5 + ], + "quality": 0.9291150449571097 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"sublist\") (args variable)))" + ], + "distribution": [ + 60, + 1 + ], + "quality": 0.9260809884815985 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"=\") (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 47, + 1 + ], + "quality": 0.9259029131445955 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 2, + 73 + ], + "quality": 0.9258076118083884 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args \"[]\" (args \"[]\")))))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"sublist\") (args variable)))" + ], + "distribution": [ + 73, + 2 + ], + "quality": 0.9220920542429745 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (binop variable \"=\"))" + ], + "distribution": [ + 156, + 10 + ], + "quality": 0.9195686065251332 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 28, + 0 + ], + "quality": 0.9180369800120464 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 6, + 104 + ], + "quality": 0.9159805216406367 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"sublist\") (args variable)))" + ], + "distribution": [ + 24, + 0 + ], + "quality": 0.9003487095519815 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (list (h variable)))))" + ], + "distribution": [ + 22, + 0 + ], + "quality": 0.8891079363889672 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 22, + 0 + ], + "quality": 0.8891079363889672 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (args variable)))) (compound (functor \"conc\") (args variable)))" + ], + "distribution": [ + 21, + 0 + ], + "quality": 0.8822628861424969 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"sublist\") (args (args variable))))" + ], + "distribution": [ + 21, + 0 + ], + "quality": 0.8822628861424969 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 21, + 0 + ], + "quality": 0.8822628861424969 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args (args (list (t variable)))))) (compound (functor \"sublist\") (args variable)))" + ], + "distribution": [ + 20, + 0 + ], + "quality": 0.8748108331097285 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (binop variable \"=\"))" + ], + "distribution": [ + 19, + 0 + ], + "quality": 0.8663218629482545 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"sublist\") (args (args variable))))" + ], + "distribution": [ + 18, + 0 + ], + "quality": 0.854134114032757 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (list (h variable))))) (compound (functor \"conc\") (args (list (h variable)))))" + ], + "distribution": [ + 18, + 0 + ], + "quality": 0.854134114032757 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"conc\") (args (args variable))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 25, + 109 + ], + "quality": 0.7903132859329443 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args (list (t variable))))) (compound (functor \"sublist\") (args variable)))", + "(clause (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 1, + 15 + ], + "quality": 0.7218208238692915 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (compound (functor \"conc\") (args variable)) (compound (functor \"conc\") (args (args (args variable)))))", + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args (args variable))))" + ], + "distribution": [ + 4, + 22 + ], + "quality": 0.7003614662287178 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sublist\") (args (args variable)))) (compound (functor \"conc\") (args variable)))", + "(clause (binop \"\\==\" \"[]\"))" + ], + "distribution": [ + 0, + 5 + ], + "quality": 0.47276259970016454 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"fsub\") (args variable))) (compound (functor \"conc\") (args (args (args variable)))))" + ], + "distribution": [ + 0, + 3 + ], + "quality": 0.39632794402854515 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/lists_advanced/sum_2/bugs.json b/prolog/problems/lists_advanced/sum_2/bugs.json new file mode 100644 index 0000000..8d43a45 --- /dev/null +++ b/prolog/problems/lists_advanced/sum_2/bugs.json @@ -0,0 +1,403 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"sum\") (args (list (t variable))))) (compound (functor \"sum\") (args variable)))", + "(clause (head (compound (functor \"sum\") (args \"[]\"))))", + "(clause (head (compound (functor \"sum\") (args (args \"0\")))))", + "(clause (head (compound (functor \"sum\") (args \"[]\" (args \"0\")))))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"is\" (binop \"+\" variable)))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"sum\") (args (list (h variable)) (args variable)))))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"is\" (binop variable \"+\")))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"is\" (binop \"+\" variable)))", + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"sum\") (args variable))) (binop variable \"=\"))", + "(clause (head (compound (functor \"sum\") (args (args variable)))) (compound (functor \"sum\") (args (args variable))))", + "(clause (binop variable \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"sum\") (args \"[]\" (args variable)))))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop variable \"is\"))", + "(clause (binop \"=\" (list (t variable))) (compound (functor \"sum\") (args variable)))", + "(clause (binop \"is\" \"0\"))", + "(clause (binop variable \"is\" \"0\"))", + "(clause (binop variable \"=\" \"0\"))", + "(clause (binop \"=\" \"0\"))", + "(clause (binop variable \"=\"))", + "(clause (binop \"is\" (binop variable \"+\")) (compound (functor \"sum\") (args (args variable))))", + "(clause (binop \"=\" (list (h variable))) (binop \"is\" (binop \"+\" variable)))", + "(clause (head (compound (functor \"sum\") (args (list (h variable) (t \"[]\"))))))", + "(clause (head (compound (functor \"sum\") (args (list (t \"[]\")) (args variable)))))", + "(clause (head (compound (functor \"sum\") (args (list (t \"[]\"))))))", + "(clause (binop variable \"is\") (compound (functor \"sum\") (args (args variable))))", + "(clause (binop \"=\" \"[]\"))", + "(clause (binop variable \"=\" \"[]\"))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"=\" (binop variable \"+\")))", + "(clause (binop \"is\" (binop variable \"+\" \"1\")))", + "(clause (binop variable \"is\" (binop \"+\" \"1\")))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"is\" variable))", + "(clause (binop \"is\" (binop \"+\" \"1\")))", + "(clause (binop variable \"is\"))", + "(clause (head (compound (functor \"sum\") (args (args variable)))))", + "(clause (head (compound (functor \"sum\") (args (list (t (list (h variable))))))) (compound (functor \"sum\") (args variable)))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"=\" (binop \"+\" variable)))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"=\" variable))", + "(clause (compound (functor \"sum\") (args (args variable))))", + "(clause (binop \"=\" (list (h variable))))", + "(clause (head (compound (functor \"sum\") (args \"[]\" (args \"[]\")))))", + "(clause (head (compound (functor \"sum\") (args (args \"[]\")))))", + "(clause (head (compound (functor \"sum\") (args (args (binop \"+\" variable))))) (compound (functor \"sum\") (args (args variable))))", + "(clause (head (compound (functor \"sum\") (args (list (h variable)) (args (binop variable \"+\"))))))", + "(clause (binop \"is\" (binop \"+\" variable)) (compound (functor \"sum\") (args (args variable))))", + "(clause (binop variable \"is\" (binop \"+\" variable)))", + "(clause (head (compound (functor \"sum\") (args (args (binop variable \"is\"))))))", + "(clause (binop \"=\" (list (t variable))))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"=\" (binop variable \"+\")))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 50, + 0 + ], + "quality": 0.9632380563802319 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 37, + 0 + ], + "quality": 0.9496444143112104 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (list (h variable))))))" + ], + "distribution": [ + 35, + 0 + ], + "quality": 0.9466471466478726 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"sum\") (args (args variable))) (binop variable \"is\"))" + ], + "distribution": [ + 31, + 0 + ], + "quality": 0.9409973039853357 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"sum\") (args (args \"0\")))))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"is\" (binop \"+\" variable)))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 1, + 60 + ], + "quality": 0.9404658615540767 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (list (t variable))))) (compound (functor \"sum\") (args variable)))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"is\" (binop \"+\" variable)))", + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"sum\") (args (args \"0\")))))" + ], + "distribution": [ + 6, + 120 + ], + "quality": 0.9297290996795977 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (compound (functor \"sum\") (args (args variable))))", + "(clause (head (compound (functor \"sum\") (args (list (t variable))))) (compound (functor \"sum\") (args variable)))" + ], + "distribution": [ + 28, + 0 + ], + "quality": 0.9237451844781032 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (compound (functor \"sum\") (args (args variable))))" + ], + "distribution": [ + 36, + 1 + ], + "quality": 0.9180107826985625 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"sum\") (args \"[]\"))))", + "(clause (head (compound (functor \"sum\") (args (list (t variable))))) (compound (functor \"sum\") (args variable)))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"is\" (binop variable \"+\")))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"is\" (binop \"+\" variable)))" + ], + "distribution": [ + 10, + 130 + ], + "quality": 0.9073820930208183 + }, + { + "class": false, + "condition": [ + "(clause (binop \"is\" (binop variable \"+\")) (compound (functor \"sum\") (args (args variable))))" + ], + "distribution": [ + 18, + 0 + ], + "quality": 0.8963126299115304 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"sum\") (args (args \"0\")))))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"is\" (binop \"+\" variable)))" + ], + "distribution": [ + 5, + 64 + ], + "quality": 0.8839500532375172 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args \"[]\"))))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"is\" (binop variable \"+\")))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"is\" (binop \"+\" variable)))", + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))" + ], + "distribution": [ + 5, + 62 + ], + "quality": 0.8774224263730913 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"=\" (binop variable \"+\")))" + ], + "distribution": [ + 13, + 0 + ], + "quality": 0.8544022016698913 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"sum\") (args (args \"0\")))))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 18, + 125 + ], + "quality": 0.8529414910677036 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args \"0\")))))", + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 8, + 61 + ], + "quality": 0.8398456460259225 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.814606816591379 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"sum\") (args \"[]\"))))", + "(clause (compound (functor \"sum\") (args (args variable))) (binop \"is\" (binop variable \"+\")))" + ], + "distribution": [ + 28, + 136 + ], + "quality": 0.8099451412928996 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"=\" (binop \"+\" variable)))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7945743104893194 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (list (t (list (h variable))))))) (compound (functor \"sum\") (args variable)))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7945743104893194 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"=\"))", + "(clause (head (compound (functor \"sum\") (args (args \"0\")))))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7413419315141939 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args (binop \"+\" variable))))) (compound (functor \"sum\") (args (args variable))))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.7392363690313698 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args \"[]\" (args \"[]\")))))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.7392363690313698 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))", + "(clause (binop \"=\" (list (h variable))) (binop \"is\" (binop \"+\" variable)))" + ], + "distribution": [ + 1, + 13 + ], + "quality": 0.7149447263575659 + }, + { + "class": false, + "condition": [ + "(clause (binop \"is\" (binop \"+\" variable)) (compound (functor \"sum\") (args (args variable))))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.6998879729141584 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"sum\") (args (args variable))))" + ], + "distribution": [ + 5, + 0 + ], + "quality": 0.6569507265887357 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (list (h variable))))) (binop \"=\" (binop variable \"+\")))" + ], + "distribution": [ + 5, + 0 + ], + "quality": 0.6569507265887357 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args (binop variable \"is\"))))))" + ], + "distribution": [ + 5, + 0 + ], + "quality": 0.6569507265887357 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"is\" (binop \"+\" variable)))" + ], + "distribution": [ + 5, + 0 + ], + "quality": 0.6569507265887357 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sum\") (args (args variable)))) (binop variable \"is\"))", + "(clause (head (compound (functor \"sum\") (args variable))) (binop variable \"=\"))" + ], + "distribution": [ + 4, + 18 + ], + "quality": 0.6399461602289443 + } + ] +} \ No newline at end of file -- cgit v1.2.1