Anne is blue. Anne is red. Bob is green. Bob is quiet. Bob is red. Gary is blue. Gary is quiet. Gary is red. Gary is smart. Harry is furry. Harry is smart. If something is red then it is green. All green, kind things are furry. Kind, quiet things are green. Green things are blue. Smart things are kind. If something is kind then it is red. If something is blue then it is quiet.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is red.
("Anne" "is" "red" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is smart.
("Harry" "is" "smart" "+")
If something is red then it is green.
((("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
All green, kind things are furry.
((("something" "is" "green" "+") ("something" "is" "kind" "+")) -> ("something" "is" "furry" "+"))
Kind, quiet things are green.
((("something" "is" "kind" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
Green things are blue.
((("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
Smart things are kind.
((("something" "is" "smart" "+")) -> ("something" "is" "kind" "+"))
If something is kind then it is red.
((("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
If something is blue then it is quiet.
((("something" "is" "blue" "+")) -> ("something" "is" "quiet" "+"))
Gary is red.
True
1
proof
[(triple8 OR ((((triple9) -> rule5)) -> rule6))]
("Gary" "is" "red" "+")
triple8
((((triple9) -> (rule5 % int2))) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Anne is not red.
False
1
inv-proof
[(triple2)]
("Anne" "is" "red" "-")
triple2
Gary is green.
True
2
proof
[(((triple8) -> rule1) OR ((((triple9) -> rule5) triple7) -> rule3) OR ((((triple9) -> rule5) ((triple6) -> rule7)) -> rule3) OR ((((((triple9) -> rule5)) -> rule6)) -> rule1))]
("Gary" "is" "green" "+")
((triple8) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((((triple9) -> (rule5 % int2)) triple7) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((triple9) -> (rule5 % int3)) ((triple6) -> (rule7 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((((triple9) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Anne is not quiet.
False
2
inv-proof
[(((triple1) -> rule7) OR ((((((triple2) -> rule1)) -> rule4)) -> rule7))]
("Anne" "is" "quiet" "-")
((triple1) -> (rule7 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Harry is red.
True
3
proof
[(((((triple11) -> rule5)) -> rule6))]
("Harry" "is" "red" "+")
((((triple11) -> (rule5 % int2))) -> (rule6 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Gary is not furry.
False
5
inv-proof
[(((((triple8) -> rule1) ((triple9) -> rule5)) -> rule2) OR ((((((triple9) -> rule5) triple7) -> rule3) ((triple9) -> rule5)) -> rule2) OR ((((((triple9) -> rule5) ((triple6) -> rule7)) -> rule3) ((triple9) -> rule5)) -> rule2) OR ((((((((triple9) -> rule5)) -> rule6)) -> rule1) ((triple9) -> rule5)) -> rule2))]
("Gary" "is" "furry" "-")
((((triple8) -> (rule1 % int3)) ((triple9) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
((((((triple9) -> (rule5 % int3)) triple7) -> (rule3 % int2)) ((triple9) -> (rule5 % int3))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((((triple9) -> (rule5 % int4)) ((triple6) -> (rule7 % int3))) -> (rule3 % int2)) ((triple9) -> (rule5 % int4))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
((((((((triple9) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule1 % int2)) ((triple9) -> (rule5 % int4))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Harry is green.
True
4
proof
[(((((((triple11) -> rule5)) -> rule6)) -> rule1))]
("Harry" "is" "green" "+")
((((((triple11) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is not green.
False
4
inv-proof
[(((((((triple11) -> rule5)) -> rule6)) -> rule1))]
("Harry" "is" "green" "-")
((((((triple11) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is blue.
True
5
proof
[(((((((((triple11) -> rule5)) -> rule6)) -> rule1)) -> rule4))]
("Harry" "is" "blue" "+")
((((((((triple11) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is not blue.
False
5
inv-proof
[(((((((((triple11) -> rule5)) -> rule6)) -> rule1)) -> rule4))]
("Harry" "is" "blue" "-")
((((((((triple11) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is quiet.
True
6
proof
[(((((((((((triple11) -> rule5)) -> rule6)) -> rule1)) -> rule4)) -> rule7))]
("Harry" "is" "quiet" "+")
((((((((((triple11) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is kind.
("Harry" "is" "kind" "+")
int5
Harry is not quiet.
False
6
inv-proof
[(((((((((((triple11) -> rule5)) -> rule6)) -> rule1)) -> rule4)) -> rule7))]
("Harry" "is" "quiet" "-")
((((((((((triple11) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is kind.
("Harry" "is" "kind" "+")
int5
Anne is not kind.
Unknown
inv-rconc
[@1: Anne is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "kind" "-")
Bob is kind.
Unknown
rconc
[@1: Bob is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "kind" "+")
Anne is not furry.
Unknown
inv-rconc
[@2: Anne is furry.[CWA. Example of deepest failure = (rule2 <- rule5 <- FAIL)]]
("Anne" "is" "furry" "-")
Bob is furry.
Unknown
rconc
[@2: Bob is furry.[CWA. Example of deepest failure = (rule2 <- rule5 <- FAIL)]]
("Bob" "is" "furry" "+")
Bob is not smart.
Unknown
inv-random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "-")
Anne is smart.
Unknown
random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "+")
@0: Anne is blue.[(triple1 OR ((((triple2) -> rule1)) -> rule4))] Anne is red.[(triple2)] Bob is green.[(triple3 OR ((triple5) -> rule1))] Bob is quiet.[(triple4 OR ((((triple3) -> rule4)) -> rule7) OR ((((((triple5) -> rule1)) -> rule4)) -> rule7))] Bob is red.[(triple5)] Gary is blue.[(triple6 OR ((((triple8) -> rule1)) -> rule4) OR ((((((triple9) -> rule5) triple7) -> rule3)) -> rule4) OR ((((((((triple9) -> rule5)) -> rule6)) -> rule1)) -> rule4))] Gary is quiet.[(triple7 OR ((triple6) -> rule7) OR ((((((triple8) -> rule1)) -> rule4)) -> rule7) OR ((((((((((triple9) -> rule5)) -> rule6)) -> rule1)) -> rule4)) -> rule7))] Gary is red.[(triple8 OR ((((triple9) -> rule5)) -> rule6))] Gary is smart.[(triple9)] Harry is furry.[(triple10 OR ((((((((triple11) -> rule5)) -> rule6)) -> rule1) ((triple11) -> rule5)) -> rule2))] Harry is smart.[(triple11)] @1: Anne is green.[(((triple2) -> rule1))] Anne is quiet.[(((triple1) -> rule7) OR ((((((triple2) -> rule1)) -> rule4)) -> rule7))] Bob is blue.[(((triple3) -> rule4) OR ((((triple5) -> rule1)) -> rule4))] Gary is green.[(((triple8) -> rule1) OR ((((triple9) -> rule5) triple7) -> rule3) OR ((((triple9) -> rule5) ((triple6) -> rule7)) -> rule3) OR ((((((triple9) -> rule5)) -> rule6)) -> rule1))] Gary is kind.[(((triple9) -> rule5))] Harry is kind.[(((triple11) -> rule5))] @2: Gary is furry.[(((((triple8) -> rule1) ((triple9) -> rule5)) -> rule2) OR ((((((triple9) -> rule5) triple7) -> rule3) ((triple9) -> rule5)) -> rule2) OR ((((((triple9) -> rule5) ((triple6) -> rule7)) -> rule3) ((triple9) -> rule5)) -> rule2) OR ((((((((triple9) -> rule5)) -> rule6)) -> rule1) ((triple9) -> rule5)) -> rule2))] Harry is red.[(((((triple11) -> rule5)) -> rule6))] @3: Harry is green.[(((((((triple11) -> rule5)) -> rule6)) -> rule1))] @4: Harry is blue.[(((((((((triple11) -> rule5)) -> rule6)) -> rule1)) -> rule4))] @5: Harry is quiet.[(((((((((((triple11) -> rule5)) -> rule6)) -> rule1)) -> rule4)) -> rule7))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
triple2
Bob is green.
("Bob" "is" "green" "+")
triple3
((triple5) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
((((triple3) -> (rule4 % int2))) -> (rule7 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((((triple5) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
triple5
Gary is blue.
("Gary" "is" "blue" "+")
triple6
((((triple8) -> (rule1 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
((((((triple9) -> (rule5 % int3)) triple7) -> (rule3 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((((((triple9) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
((triple6) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((((triple8) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
((((((((((triple9) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5
Gary is red.
("Gary" "is" "red" "+")
triple8
((((triple9) -> (rule5 % int2))) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple9
Harry is furry.
("Harry" "is" "furry" "+")
triple10
((((((((triple11) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule1 % int2)) ((triple11) -> (rule5 % int4))) -> (rule2 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is smart.
("Harry" "is" "smart" "+")
triple11
Anne is green.
("Anne" "is" "green" "+")
((triple2) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
((triple1) -> (rule7 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
((triple3) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple5) -> (rule1 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
((triple8) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((((triple9) -> (rule5 % int2)) triple7) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((triple9) -> (rule5 % int3)) ((triple6) -> (rule7 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((((triple9) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
((triple9) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple11) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((((triple8) -> (rule1 % int3)) ((triple9) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
((((((triple9) -> (rule5 % int3)) triple7) -> (rule3 % int2)) ((triple9) -> (rule5 % int3))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((((triple9) -> (rule5 % int4)) ((triple6) -> (rule7 % int3))) -> (rule3 % int2)) ((triple9) -> (rule5 % int4))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
((((((((triple9) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule1 % int2)) ((triple9) -> (rule5 % int4))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
((((triple11) -> (rule5 % int2))) -> (rule6 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
((((((triple11) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
((((((((triple11) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
((((((((((triple11) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is kind.
("Harry" "is" "kind" "+")
int5