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 --- .../problems/lists_advanced/palindrome_1/bugs.json | 403 +++++++++++++++++++++ 1 file changed, 403 insertions(+) create mode 100644 prolog/problems/lists_advanced/palindrome_1/bugs.json (limited to 'prolog/problems/lists_advanced/palindrome_1') 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 -- cgit v1.2.1