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/family_relations/ancestor_2/bugs.json | 260 ++++++++++ prolog/problems/family_relations/aunt_2/bugs.json | 252 ++++++++++ .../problems/family_relations/brother_2/bugs.json | 115 +++++ .../problems/family_relations/cousin_2/bugs.json | 547 +++++++++++++++++++++ .../family_relations/descendant_2/bugs.json | 251 ++++++++++ .../family_relations/grandparent_2/bugs.json | 134 +++++ .../problems/family_relations/mother_2/bugs.json | 84 ++++ .../problems/family_relations/sister_2/bugs.json | 340 +++++++++++++ 8 files changed, 1983 insertions(+) create mode 100644 prolog/problems/family_relations/ancestor_2/bugs.json create mode 100644 prolog/problems/family_relations/aunt_2/bugs.json create mode 100644 prolog/problems/family_relations/brother_2/bugs.json create mode 100644 prolog/problems/family_relations/cousin_2/bugs.json create mode 100644 prolog/problems/family_relations/descendant_2/bugs.json create mode 100644 prolog/problems/family_relations/grandparent_2/bugs.json create mode 100644 prolog/problems/family_relations/mother_2/bugs.json create mode 100644 prolog/problems/family_relations/sister_2/bugs.json (limited to 'prolog/problems/family_relations') diff --git a/prolog/problems/family_relations/ancestor_2/bugs.json b/prolog/problems/family_relations/ancestor_2/bugs.json new file mode 100644 index 0000000..f56f5c7 --- /dev/null +++ b/prolog/problems/family_relations/ancestor_2/bugs.json @@ -0,0 +1,260 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"ancestor\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"ancestor\") (args variable)))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"ancestor\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"ancestor\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"ancestor\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"ancestor\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))))", + "(clause (head (compound (functor \"ancestor\") (args variable))))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"ancestor\") (args variable)))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"ancestor\") (args variable)))", + "(clause (compound (functor \"ancestor\") (args (args variable))))", + "(clause (binop variable \"==\"))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"ancestor\") (args (args variable))))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"grandparent\") (args (args variable))))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"grandparent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (binop \"==\" variable))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (binop \"\\=\" variable))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"==\"))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"\\=\"))", + "(clause (compound (functor \"ancestor\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (binop \"==\" variable))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (binop variable \"\\=\"))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (binop \"==\" variable))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (binop variable \"is\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"ancestor\") (args (args variable))) (binop \"\\=\" variable))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"ancestor\") (args variable)) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"ancestor\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"is\"))", + "(clause (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"ancestor\") (args variable)) (compound (functor \"brother\") (args (args variable))))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"ancestor\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))", + "(clause (binop \"\\==\" variable) (compound (functor \"parent\") (args (args variable))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"ancestor\") (args variable)))" + ], + "distribution": [ + 49, + 0 + ], + "quality": 0.9629885382291584 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"ancestor\") (args (args variable))))" + ], + "distribution": [ + 39, + 0 + ], + "quality": 0.9541530529030873 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"ancestor\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"ancestor\") (args variable)))" + ], + "distribution": [ + 6, + 170 + ], + "quality": 0.9514788098199769 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args (args variable)))))" + ], + "distribution": [ + 34, + 0 + ], + "quality": 0.9470223522722367 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 33, + 0 + ], + "quality": 0.9453306576768873 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"ancestor\") (args variable)))" + ], + "distribution": [ + 33, + 0 + ], + "quality": 0.9453306576768873 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args variable))))" + ], + "distribution": [ + 32, + 0 + ], + "quality": 0.9435307541149079 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 31, + 0 + ], + "quality": 0.9416119920933244 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"ancestor\") (args (args variable))))" + ], + "distribution": [ + 22, + 0 + ], + "quality": 0.9157923393616936 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 16, + 0 + ], + "quality": 0.884763343524827 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8655912886026441 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"ancestor\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"ancestor\") (args (args variable))))" + ], + "distribution": [ + 10, + 79 + ], + "quality": 0.8502921553589384 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"ancestor\") (args (args variable))))" + ], + "distribution": [ + 52, + 172 + ], + "quality": 0.7525612821040794 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.7358835810639816 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"sister\") (args variable)))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.7012043532450386 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (binop variable \"is\"))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.7012043532450386 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"ancestor\") (args (args variable))) (binop \"\\==\" variable))" + ], + "distribution": [ + 5, + 0 + ], + "quality": 0.6649699835988584 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"ancestor\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"ancestor\") (args variable))) (compound (functor \"ancestor\") (args variable)))" + ], + "distribution": [ + 43, + 84 + ], + "quality": 0.6159501919553191 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/family_relations/aunt_2/bugs.json b/prolog/problems/family_relations/aunt_2/bugs.json new file mode 100644 index 0000000..3dfc1db --- /dev/null +++ b/prolog/problems/family_relations/aunt_2/bugs.json @@ -0,0 +1,252 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"sister\") (args variable)))", + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args (args variable))))", + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"sister\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"sister\") (args variable)))", + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args variable)))", + "(clause (head (compound (functor \"aunt\") (args variable))) (binop variable \"\\==\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\==\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"female\") (args variable)) (binop variable \"\\==\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (binop \"\\==\" variable))", + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (binop \"\\==\" variable))", + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"mother\") (args (args variable))))", + "(clause (head (compound (functor \"aunt\") (args (args variable)))))", + "(clause (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"\\==\"))", + "(clause (compound (functor \"sister\") (args variable)))", + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"brother\") (args variable)))", + "(clause (head (compound (functor \"aunt\") (args variable))) (binop variable \"\\=\"))", + "(clause (head (compound (functor \"aunt\") (args variable))))", + "(clause (compound (functor \"mother\") (args variable)) (compound (functor \"sister\") (args (args variable))))", + "(clause (head (compound (functor \"aunt\") (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"brother\") (args (args variable))))", + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"sister\") (args (args variable))) (binop variable \"\\==\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\=\"))", + "(clause (compound (functor \"female\") (args variable)) (binop \"\\==\" variable))", + "(clause (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"sister\") (args variable)) (compound (functor \"female\") (args variable)))", + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args variable)))", + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (binop \"\\=\" variable))", + "(clause (compound (functor \"sister\") (args variable)) (binop variable \"\\=\"))", + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"female\") (args variable)) (binop variable \"\\=\"))", + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"sister\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"brother\") (args (args variable))))", + "(clause (binop variable \"\\==\") (compound (functor \"female\") (args variable)))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"female\") (args variable)))", + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"sister\") (args variable))) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (binop \"\\==\" variable))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"sister\") (args variable)) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"aunt\") (args variable))) (binop \"\\=\" variable))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"\\=\"))" + ], + "rules": [ + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"sister\") (args (args variable))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 1, + 65 + ], + "quality": 0.947889568617913 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args (args variable))))" + ], + "distribution": [ + 7, + 151 + ], + "quality": 0.9379739504789125 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 24, + 0 + ], + "quality": 0.914813761663181 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"aunt\") (args (args variable)))))" + ], + "distribution": [ + 20, + 0 + ], + "quality": 0.8970351219221164 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"sister\") (args (args variable))))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8783140596236834 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"aunt\") (args variable))))" + ], + "distribution": [ + 15, + 0 + ], + "quality": 0.8622447942091449 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"mother\") (args variable)) (compound (functor \"sister\") (args (args variable))))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8526064437591069 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 13, + 0 + ], + "quality": 0.8415381256574634 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 13, + 0 + ], + "quality": 0.8415381256574634 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"sister\") (args variable)))" + ], + "distribution": [ + 48, + 217 + ], + "quality": 0.8109202887628649 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"sister\") (args (args variable))) (binop variable \"\\==\"))" + ], + "distribution": [ + 11, + 0 + ], + "quality": 0.8101710193035057 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"aunt\") (args (args variable)))) (compound (functor \"sister\") (args variable)))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.792429870081551 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"aunt\") (args variable))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7676282421060165 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"female\") (args variable)))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7381905943393422 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"female\") (args variable)))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.7045898992557954 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.6624455004031453 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/family_relations/brother_2/bugs.json b/prolog/problems/family_relations/brother_2/bugs.json new file mode 100644 index 0000000..252bcdf --- /dev/null +++ b/prolog/problems/family_relations/brother_2/bugs.json @@ -0,0 +1,115 @@ +{ + "patterns": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"brother\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"brother\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"brother\") (args variable))) (compound (functor \"male\") (args variable)))", + "(clause (head (compound (functor \"brother\") (args variable))) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"brother\") (args (args variable)))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\==\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"male\") (args variable)))", + "(clause (compound (functor \"male\") (args variable)) (binop variable \"\\==\"))", + "(clause (compound (functor \"male\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"brother\") (args (args variable)))) (binop \"\\=\" variable))", + "(clause (head (compound (functor \"brother\") (args variable))) (binop variable \"\\=\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\=\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))", + "(clause (compound (functor \"male\") (args variable)) (binop variable \"\\=\"))", + "(clause (binop variable \"\\==\") (compound (functor \"male\") (args variable)))", + "(clause (binop variable \"\\=\") (compound (functor \"male\") (args variable)))", + "(clause (binop \"\\=\" variable) (compound (functor \"parent\") (args (args variable))))", + "(clause (binop variable \"\\=\") (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"brother\") (args (args variable)))) (compound (functor \"not\") (args (binop \"=\" variable))))", + "(clause (head (compound (functor \"brother\") (args variable))) (binop \"\\=\" variable))", + "(clause (head (compound (functor \"brother\") (args (args variable)))) (binop variable \"\\=\"))", + "(clause (head (compound (functor \"brother\") (args variable))) (compound (functor \"not\") (args (binop variable \"=\"))))" + ], + "rules": [ + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"brother\") (args variable))) (compound (functor \"male\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))" + ], + "distribution": [ + 0, + 102 + ], + "quality": 0.9873786600439431 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"brother\") (args variable))) (compound (functor \"male\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))", + "(clause (head (compound (functor \"brother\") (args (args variable)))) (binop \"\\=\" variable))" + ], + "distribution": [ + 0, + 39 + ], + "quality": 0.9574307072764063 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))", + "(clause (compound (functor \"male\") (args variable)) (binop variable \"\\=\"))" + ], + "distribution": [ + 0, + 34 + ], + "quality": 0.9526649947812729 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"brother\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))" + ], + "distribution": [ + 4, + 102 + ], + "quality": 0.9462163947101927 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"brother\") (args variable))) (compound (functor \"male\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))" + ], + "distribution": [ + 1, + 43 + ], + "quality": 0.9357128569764824 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"brother\") (args variable))) (compound (functor \"male\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"male\") (args variable)))" + ], + "distribution": [ + 9, + 80 + ], + "quality": 0.8661764695637234 + }, + { + "class": false, + "condition": [ + "(clause (binop \"\\=\" variable) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7899147086754702 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/family_relations/cousin_2/bugs.json b/prolog/problems/family_relations/cousin_2/bugs.json new file mode 100644 index 0000000..cf1bafe --- /dev/null +++ b/prolog/problems/family_relations/cousin_2/bugs.json @@ -0,0 +1,547 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"cousin\") (args variable))) (binop variable \"\\==\"))", + "(clause (compound (functor \"grandparent\") (args (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"grandparent\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"grandparent\") (args (args variable))))", + "(clause (compound (functor \"grandparent\") (args variable)) (compound (functor \"grandparent\") (args variable)))", + "(clause (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"grandparent\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"grandparent\") (args (args variable))) (binop variable \"\\==\"))", + "(clause (compound (functor \"grandparent\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"brother\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\=\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))", + "(clause (compound (functor \"sister\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"\\=\"))", + "(clause (head (compound (functor \"cousin\") (args variable))) (binop variable \"\\=\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (binop \"\\=\" variable))", + "(clause (compound (functor \"brother\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (binop \"\\=\" variable))", + "(clause (compound (functor \"sister\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (binop variable \"\\==\") (compound (functor \"parent\") (args (args variable))))", + "(clause (binop \"\\==\" variable) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (binop variable \"\\==\")))", + "(clause (head (binop \"\\==\" variable)))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"aunt\") (args (args variable))))", + "(clause (compound (functor \"aunt\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (binop variable \"\\==\") (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"aunt\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sibling\") (args variable)))", + "(clause (compound (functor \"grandparent\") (args (args variable))) (binop variable \"\\=\"))", + "(clause (binop \"\\==\" variable) (compound (functor \"sister\") (args (args variable))))", + "(clause (binop variable \"\\==\") (compound (functor \"sister\") (args variable)))", + "(clause (head (compound (functor \"sibling\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"sibling\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"grandparent\") (args (args variable))) (binop \"\\=\" variable))", + "(clause (binop variable \"\\==\"))", + "(clause (compound (functor \"aunt\") (args variable)))", + "(clause (binop \"\\==\" variable))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"sister\") (args (args variable))) (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"aunt\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"male\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"aunt\") (args variable)))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))))", + "(clause (head (compound (functor \"parent\") (args variable))))", + "(clause (head (compound (functor \"parent\") (args (args variable)))))", + "(clause (binop \"\\==\" variable) (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sibling\") (args (args variable))))", + "(clause (binop \"\\==\" variable) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"sister\") (args variable)))", + "(clause (binop variable \"\\==\") (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"grandparent\") (args variable)))", + "(clause (compound (functor \"male\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"sister\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"uncle\") (args (args variable))))", + "(clause (compound (functor \"sibling\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"sister\") (args variable)) (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"grandparent\") (args (args variable))) (binop (compound (functor \"parent\") (args (args variable))) \"\\==\"))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (binop \"\\==\" (compound (functor \"parent\") (args (args variable)))))", + "(clause (head (compound (functor \"cousin\") (args variable))) (binop (compound (functor \"parent\") (args (args variable))) \"\\==\"))", + "(clause (head (compound (functor \"rel\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"grandparent\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (binop \"\\==\" variable) (binop \"\\==\" variable))", + "(clause (compound (functor \"brother\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"grandparent\") (args (args variable))) (binop \"\\==\" (compound (functor \"parent\") (args (args variable)))))", + "(clause (compound (functor \"male\") (args variable)) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"uncle\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"brother\") (args variable)) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"brother\") (args (args variable))) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"sister\") (args variable)) (binop variable \"\\==\"))", + "(clause (compound (functor \"sister\") (args variable)) (binop \"\\=\" variable))", + "(clause (compound (functor \"grandparent\") (args variable)) (binop variable \"==\"))", + "(clause (binop \"\\=\" variable) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"brother\") (args variable)) (binop \"\\=\" variable))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (binop variable \"\\=\"))", + "(clause (head (compound (functor \"cousin\") (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"rel\") (args variable)))", + "(clause (binop (compound (functor \"parent\") (args (args variable))) \"\\==\") (binop variable \"\\==\"))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"uncle\") (args variable)))", + "(clause (binop \"\\==\" (compound (functor \"parent\") (args (args variable)))) (binop \"\\==\" variable))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"rel\") (args (args variable))))", + "(clause (compound (functor \"grandparent\") (args variable)) (binop \"==\" variable))", + "(clause (binop variable \"\\==\") (compound (functor \"sister\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"sister\") (args variable)))", + "(clause (head (compound (functor \"uncle\") (args variable))) (compound (functor \"brother\") (args variable)))", + "(clause (binop \"\\=\" variable) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"mother\") (args (args variable))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 133, + 6 + ], + "quality": 0.94016212482336 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 29, + 0 + ], + "quality": 0.933779474141905 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"grandparent\") (args (args variable))))" + ], + "distribution": [ + 131, + 9 + ], + "quality": 0.9176017146530752 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"grandparent\") (args (args variable))))" + ], + "distribution": [ + 122, + 9 + ], + "quality": 0.9115239358917779 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 1, + 46 + ], + "quality": 0.9076289132901347 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 32, + 1 + ], + "quality": 0.9018227532951513 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"sister\") (args variable)))" + ], + "distribution": [ + 3, + 61 + ], + "quality": 0.8974982076912563 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args variable)) (binop \"\\==\" variable))" + ], + "distribution": [ + 1, + 40 + ], + "quality": 0.8923400808585659 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"sister\") (args (args variable))))" + ], + "distribution": [ + 5, + 69 + ], + "quality": 0.8778775682779553 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"sister\") (args (args variable))))" + ], + "distribution": [ + 6, + 73 + ], + "quality": 0.8765880199817603 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args (args variable))))", + "(clause (compound (functor \"brother\") (args (args variable))))" + ], + "distribution": [ + 4, + 53 + ], + "quality": 0.8692566844984977 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"brother\") (args variable)))" + ], + "distribution": [ + 5, + 59 + ], + "quality": 0.8673836719098068 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8498355518209159 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"sister\") (args (args variable))) (compound (functor \"brother\") (args (args variable))))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8498355518209159 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"\\==\"))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8498355518209159 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (binop \"\\==\" variable))", + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 5, + 51 + ], + "quality": 0.8470067221446368 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"\\==\"))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 3, + 41 + ], + "quality": 0.8454701631582257 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"male\") (args variable)))" + ], + "distribution": [ + 13, + 0 + ], + "quality": 0.8369844665046267 + }, + { + "class": false, + "condition": [ + "(clause (head (binop variable \"\\==\")))" + ], + "distribution": [ + 13, + 0 + ], + "quality": 0.8369844665046267 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args variable)))" + ], + "distribution": [ + 19, + 117 + ], + "quality": 0.8367214651159391 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args (args variable))))" + ], + "distribution": [ + 20, + 118 + ], + "quality": 0.8317204395318585 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8245830644763305 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))))" + ], + "distribution": [ + 12, + 0 + ], + "quality": 0.8207906119330671 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args (args variable))))" + ], + "distribution": [ + 26, + 134 + ], + "quality": 0.814618215172423 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args variable)))" + ], + "distribution": [ + 27, + 136 + ], + "quality": 0.8145742550525583 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"sister\") (args variable)))" + ], + "distribution": [ + 11, + 0 + ], + "quality": 0.801889173359944 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"brother\") (args variable)))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7274216707800343 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"sister\") (args variable)))", + "(clause (compound (functor \"sister\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 1, + 15 + ], + "quality": 0.7117650610669528 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"\\=\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))" + ], + "distribution": [ + 2, + 18 + ], + "quality": 0.7085607880281732 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop \"\\=\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))" + ], + "distribution": [ + 2, + 18 + ], + "quality": 0.7085607880281732 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"\\=\"))" + ], + "distribution": [ + 4, + 19 + ], + "quality": 0.6686625243584223 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"brother\") (args (args variable))))" + ], + "distribution": [ + 63, + 138 + ], + "quality": 0.6674026842607351 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"brother\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"sister\") (args (args variable))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 6, + 20 + ], + "quality": 0.6144839912537575 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"brother\") (args variable)))", + "(clause (compound (functor \"brother\") (args (args variable))))" + ], + "distribution": [ + 39, + 63 + ], + "quality": 0.5661405653076401 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"cousin\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop \"\\==\" variable))" + ], + "distribution": [ + 65, + 65 + ], + "quality": 0.4334631379481499 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/family_relations/descendant_2/bugs.json b/prolog/problems/family_relations/descendant_2/bugs.json new file mode 100644 index 0000000..0eeaccc --- /dev/null +++ b/prolog/problems/family_relations/descendant_2/bugs.json @@ -0,0 +1,251 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"ancestor\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"descendant\") (args variable)))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"ancestor\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"descendant\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"descendant\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"descendant\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"descendant\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"descendant\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"descendant\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args variable))))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"descendant\") (args variable)))", + "(clause (binop variable \"==\"))", + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"ancestor\") (args variable)))", + "(clause (binop \"==\" variable))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"child\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"ancestor\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"child\") (args variable)))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"ancestor\") (args (args variable))))", + "(clause (head (compound (functor \"descdendant\") (args (args variable)))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"descdendant\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args variable))) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"descandant\") (args (args variable)))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"descandant\") (args variable)))" + ], + "rules": [ + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"ancestor\") (args variable)))" + ], + "distribution": [ + 1, + 105 + ], + "quality": 0.973626841987995 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"descendant\") (args variable)))" + ], + "distribution": [ + 64, + 0 + ], + "quality": 0.9705736245082147 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"descendant\") (args (args variable))))" + ], + "distribution": [ + 63, + 0 + ], + "quality": 0.9700883375409743 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"ancestor\") (args (args variable))))" + ], + "distribution": [ + 2, + 110 + ], + "quality": 0.9654522191878034 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"descendant\") (args (args variable))))" + ], + "distribution": [ + 32, + 0 + ], + "quality": 0.9401859078473961 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args variable))))" + ], + "distribution": [ + 29, + 0 + ], + "quality": 0.933957780902709 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"descendant\") (args variable)))" + ], + "distribution": [ + 28, + 0 + ], + "quality": 0.9315914615339456 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 28, + 0 + ], + "quality": 0.9315914615339456 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"descendant\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"descendant\") (args variable)))" + ], + "distribution": [ + 3, + 71 + ], + "quality": 0.924459733681661 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 20, + 0 + ], + "quality": 0.9044160072989779 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args (args variable)))))" + ], + "distribution": [ + 16, + 0 + ], + "quality": 0.8838503753702701 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"descendant\") (args variable)))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"descendant\") (args (args variable))))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 6, + 64 + ], + "quality": 0.8711158595238758 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"descendant\") (args variable)))", + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"descendant\") (args (args variable))))" + ], + "distribution": [ + 8, + 65 + ], + "quality": 0.849709057252787 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"descdendant\") (args (args variable)))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.7136115876115294 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args (args variable)))) (compound (functor \"ancestor\") (args (args variable))))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.7136115876115294 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"descandant\") (args (args variable)))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.7136115876115294 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"descandant\") (args variable)))" + ], + "distribution": [ + 5, + 0 + ], + "quality": 0.6665876404448069 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"descendant\") (args variable))) (compound (functor \"descendant\") (args variable)))" + ], + "distribution": [ + 34, + 72 + ], + "quality": 0.627337822618307 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"==\"))" + ], + "distribution": [ + 4, + 0 + ], + "quality": 0.6108003755618978 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/family_relations/grandparent_2/bugs.json b/prolog/problems/family_relations/grandparent_2/bugs.json new file mode 100644 index 0000000..03ebb02 --- /dev/null +++ b/prolog/problems/family_relations/grandparent_2/bugs.json @@ -0,0 +1,134 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"grandparent\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"grandparent\") (args (args variable)))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"grandparent\") (args (args variable)))) (compound (functor \"grandparent\") (args (args variable))))", + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"grandparent\") (args variable)))", + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (head (compound (functor \"grandparent\") (args (args variable)))))", + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"male\") (args variable)))", + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"parent\") (args (compound (functor \"parent\") (args variable)))))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"grandparent\") (args variable)))" + ], + "rules": [ + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"grandparent\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 0, + 39 + ], + "quality": 0.9610730922668185 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"grandparent\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 8, + 198 + ], + "quality": 0.9536702271177137 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"grandparent\") (args (args variable)))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 12, + 0 + ], + "quality": 0.8356509258426985 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.8071381578664112 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7681743107725475 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"grandparent\") (args (args variable)))) (compound (functor \"grandparent\") (args (args variable))))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.741594251804507 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.741594251804507 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"female\") (args variable)))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.741594251804507 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"grandparent\") (args (args variable)))))" + ], + "distribution": [ + 7, + 0 + ], + "quality": 0.741594251804507 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"grandparent\") (args variable))) (compound (functor \"parent\") (args (compound (functor \"parent\") (args variable)))))" + ], + "distribution": [ + 5, + 0 + ], + "quality": 0.6643380722879881 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/family_relations/mother_2/bugs.json b/prolog/problems/family_relations/mother_2/bugs.json new file mode 100644 index 0000000..a65eb29 --- /dev/null +++ b/prolog/problems/family_relations/mother_2/bugs.json @@ -0,0 +1,84 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"mother\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"mother\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"mother\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"mother\") (args (args variable)))))", + "(clause (head (compound (functor \"mother\") (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (head (compound (functor \"mother\") (args (args variable)))) (compound (functor \"female\") (args variable)))", + "(clause (head (binop variable \"=\")))" + ], + "rules": [ + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"mother\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"female\") (args variable)))" + ], + "distribution": [ + 1, + 178 + ], + "quality": 0.987052705253526 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"mother\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 0, + 79 + ], + "quality": 0.9826262170902895 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"mother\") (args (args variable)))))" + ], + "distribution": [ + 18, + 0 + ], + "quality": 0.890899775723019 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"mother\") (args variable))))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7987809210948922 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"female\") (args variable)))" + ], + "distribution": [ + 6, + 0 + ], + "quality": 0.720112523275646 + }, + { + "class": false, + "condition": [ + "(clause (head (binop variable \"=\")))" + ], + "distribution": [ + 4, + 0 + ], + "quality": 0.6198615754492156 + } + ] +} \ No newline at end of file diff --git a/prolog/problems/family_relations/sister_2/bugs.json b/prolog/problems/family_relations/sister_2/bugs.json new file mode 100644 index 0000000..2fa8351 --- /dev/null +++ b/prolog/problems/family_relations/sister_2/bugs.json @@ -0,0 +1,340 @@ +{ + "patterns": [ + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (binop \"\\==\" variable))", + "(clause (head (compound (functor \"sister\") (args variable))) (binop variable \"\\==\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\==\"))", + "(clause (compound (functor \"female\") (args variable)) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (compound (functor \"female\") (args variable)))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (binop \"\\=\" variable))", + "(clause (head (compound (functor \"sister\") (args variable))) (binop variable \"\\=\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\=\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\=\"))", + "(clause (compound (functor \"female\") (args variable)) (binop variable \"\\=\"))", + "(clause (binop \"\\==\" variable) (compound (functor \"parent\") (args (args variable))))", + "(clause (binop variable \"\\==\") (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (binop variable \"\\==\") (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"female\") (args variable)) (binop \"\\==\" variable))", + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"parent\") (args variable)))", + "(clause (binop variable \"\\=\") (compound (functor \"female\") (args variable)))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (compound (functor \"parent\") (args variable)))", + "(clause (binop \"\\=\" variable) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"female\") (args variable)))", + "(clause (binop variable \"\\=\") (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"sister\") (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (binop variable \"\\==\"))", + "(clause (head (compound (functor \"sister\") (args variable))) (binop \"\\=\" variable))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (compound (functor \"not\") (args (binop \"=\" variable))))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args variable)))", + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"not\") (args (binop variable \"=\"))))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (binop variable \"\\=\"))", + "(clause (head (compound (functor \"female\") (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"==\"))", + "(clause (compound (functor \"female\") (args variable)) (binop \"\\=\" variable))", + "(clause (binop (compound (functor \"parent\") (args variable)) \"==\" (compound (functor \"parent\") (args variable))))", + "(clause (binop \"\\==\" variable) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"not\") (args (binop variable \"=\"))))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"not\") (args (binop \"=\" variable))))", + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"mother\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args variable)) (binop \"==\" variable))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (binop \"==\" (compound (functor \"parent\") (args (args variable)))))", + "(clause (head (compound (functor \"sister\") (args (args variable)))))", + "(clause (head (compound (functor \"sister\") (args variable))) (binop (compound (functor \"parent\") (args (args variable))) \"==\"))", + "(clause (compound (functor \"parent\") (args variable)) (binop variable \"=\\=\"))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (binop \"=\\=\" variable))", + "(clause (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"mother\") (args (args variable))))", + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"sibling\") (args variable)))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"not\") (args (binop variable \"=\"))))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (compound (functor \"sibling\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"=\\=\" variable))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (binop \"=\" (compound (functor \"parent\") (args (args variable)))))", + "(clause (compound (functor \"female\") (args variable)) (binop variable \"=\\=\"))", + "(clause (head (compound (functor \"sibling\") (args variable))) (compound (functor \"parent\") (args (args variable))))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (compound (functor \"mother\") (args (args variable))))", + "(clause (head (compound (functor \"sibling\") (args (args variable)))) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"mother\") (args variable)) (compound (functor \"mother\") (args variable)))", + "(clause (compound (functor \"sibling\") (args variable)) (compound (functor \"female\") (args variable)))", + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"feamle\") (args variable)))", + "(clause (compound (functor \"female\") (args variable)) (binop (compound (functor \"parent\") (args (args variable))) \"==\"))", + "(clause (head (compound (functor \"sister\") (args variable))) (binop (compound (functor \"parent\") (args (args variable))) \"=\"))", + "(clause (head (compound (functor \"sister\") (args variable))) (binop variable \"=\\=\"))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"feamle\") (args variable)))", + "(clause (binop (compound (functor \"parent\") (args variable)) \"=\" (compound (functor \"parent\") (args variable))))" + ], + "rules": [ + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sister\") (args (args variable)))) (compound (functor \"female\") (args variable)))" + ], + "distribution": [ + 131, + 0 + ], + "quality": 0.98752268394827 + }, + { + "class": false, + "condition": [ + "(clause (binop \"\\==\" variable) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 45, + 0 + ], + "quality": 0.960805156909999 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"\\==\") (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 37, + 0 + ], + "quality": 0.9514793639924134 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\=\"))", + "(clause (head (compound (functor \"sister\") (args (args variable)))) (binop \"\\=\" variable))" + ], + "distribution": [ + 1, + 72 + ], + "quality": 0.9491654216200829 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\=\"))" + ], + "distribution": [ + 3, + 81 + ], + "quality": 0.9323996349698898 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\==\"))", + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 4, + 95 + ], + "quality": 0.9294071429039249 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args (args variable))))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"female\") (args variable)) (binop variable \"\\==\"))" + ], + "distribution": [ + 4, + 89 + ], + "quality": 0.9257398293889815 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 25, + 0 + ], + "quality": 0.9244949834569286 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop \"\\==\" variable))", + "(clause (compound (functor \"parent\") (args (args variable))) (binop variable \"\\==\"))" + ], + "distribution": [ + 17, + 184 + ], + "quality": 0.9097159118083122 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sister\") (args (args variable)))) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 21, + 0 + ], + "quality": 0.9090981834363482 + }, + { + "class": false, + "condition": [ + "(clause (binop \"\\=\" variable) (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 19, + 0 + ], + "quality": 0.899813945496532 + }, + { + "class": false, + "condition": [ + "(clause (binop variable \"\\=\") (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 17, + 0 + ], + "quality": 0.8864346621831894 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)) (compound (functor \"female\") (args variable)))" + ], + "distribution": [ + 14, + 0 + ], + "quality": 0.8577342713242664 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"female\") (args variable))))" + ], + "distribution": [ + 11, + 0 + ], + "quality": 0.8143191401362178 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 11, + 0 + ], + "quality": 0.8143191401362178 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args variable)))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.7963231180678917 + }, + { + "class": false, + "condition": [ + "(clause (compound (functor \"parent\") (args (args variable))))" + ], + "distribution": [ + 10, + 0 + ], + "quality": 0.7963231180678917 + }, + { + "class": false, + "condition": [ + "(clause (binop \"\\==\" variable) (compound (functor \"female\") (args variable)))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7745383217844619 + }, + { + "class": false, + "condition": [ + "(clause (binop (compound (functor \"parent\") (args variable)) \"==\" (compound (functor \"parent\") (args variable))))" + ], + "distribution": [ + 9, + 0 + ], + "quality": 0.7745383217844619 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"mother\") (args (args variable))))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7500360114235385 + }, + { + "class": false, + "condition": [ + "(clause (head (compound (functor \"sister\") (args (args variable)))))" + ], + "distribution": [ + 8, + 0 + ], + "quality": 0.7500360114235385 + }, + { + "class": true, + "condition": [ + "(clause (compound (functor \"female\") (args variable)) (compound (functor \"not\") (args (binop variable \"=\"))))" + ], + "distribution": [ + 0, + 6 + ], + "quality": 0.6828971360185574 + }, + { + "class": true, + "condition": [ + "(clause (head (compound (functor \"sister\") (args variable))) (compound (functor \"female\") (args variable)))", + "(clause (compound (functor \"parent\") (args (args variable))) (compound (functor \"not\") (args (binop variable \"=\"))))" + ], + "distribution": [ + 0, + 7 + ], + "quality": 0.6384215810360028 + } + ] +} \ No newline at end of file -- cgit v1.2.1