Charlie is blue. Charlie is kind. Charlie is quiet. Gary is blue. Gary is furry. Gary is kind. Gary is nice. Gary is quiet. Gary is white. Gary is young. Harry is blue. Harry is kind. Harry is nice. Harry is quiet. Harry is young. Quiet, white people are furry. If someone is blue and kind then they are quiet. All nice people are furry. Furry people are quiet. All blue, nice people are kind. If Charlie is young then Charlie is blue. If someone is blue then they are nice. If Charlie is white then Charlie is nice.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is young.
("Harry" "is" "young" "+")
Quiet, white people are furry.
((("someone" "is" "quiet" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
If someone is blue and kind then they are quiet.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "quiet" "+"))
All nice people are furry.
((("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
Furry people are quiet.
((("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
All blue, nice people are kind.
((("someone" "is" "blue" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
If Charlie is young then Charlie is blue.
((("Charlie" "is" "young" "+")) -> ("Charlie" "is" "blue" "+"))
If someone is blue then they are nice.
((("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
If Charlie is white then Charlie is nice.
((("Charlie" "is" "white" "+")) -> ("Charlie" "is" "nice" "+"))
Gary is kind.
True
1
proof
[(triple6 OR ((triple4 triple7) -> rule5) OR ((triple4 ((triple4) -> rule7)) -> rule5))]
("Gary" "is" "kind" "+")
triple6
((triple4 triple7) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple4 ((triple4) -> (rule7 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not kind.
False
1
inv-proof
[(triple6 OR ((triple4 triple7) -> rule5) OR ((triple4 ((triple4) -> rule7)) -> rule5))]
("Gary" "is" "kind" "-")
triple6
((triple4 triple7) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple4 ((triple4) -> (rule7 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Charlie is nice.
True
2
proof
[(((triple1) -> rule7))]
("Charlie" "is" "nice" "+")
((triple1) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Harry is not furry.
False
2
inv-proof
[(((triple13) -> rule3) OR ((((triple11) -> rule7)) -> rule3))]
("Harry" "is" "furry" "-")
((triple13) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple11) -> (rule7 % int2))) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Charlie is not white.
Unknown
inv-random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
@0: Charlie is blue.[(triple1)] Charlie is kind.[(triple2 OR ((triple1 ((triple1) -> rule7)) -> rule5))] Charlie is quiet.[(triple3 OR ((triple1 triple2) -> rule2) OR ((((((triple1) -> rule7)) -> rule3)) -> rule4) OR ((triple1 ((triple1 ((triple1) -> rule7)) -> rule5)) -> rule2))] Gary is blue.[(triple4)] Gary is furry.[(triple5 OR ((triple7) -> rule3) OR ((triple8 triple9) -> rule1) OR ((((triple4) -> rule7)) -> rule3) OR ((((triple4 triple6) -> rule2) triple9) -> rule1) OR ((((triple4 ((triple4 triple7) -> rule5)) -> rule2) triple9) -> rule1) OR ((((triple4 ((triple4 ((triple4) -> rule7)) -> rule5)) -> rule2) triple9) -> rule1))] Gary is kind.[(triple6 OR ((triple4 triple7) -> rule5) OR ((triple4 ((triple4) -> rule7)) -> rule5))] Gary is nice.[(triple7 OR ((triple4) -> rule7))] Gary is quiet.[(triple8 OR ((triple5) -> rule4) OR ((triple4 triple6) -> rule2) OR ((((triple7) -> rule3)) -> rule4) OR ((triple4 ((triple4 triple7) -> rule5)) -> rule2) OR ((((((triple4) -> rule7)) -> rule3)) -> rule4) OR ((triple4 ((triple4 ((triple4) -> rule7)) -> rule5)) -> rule2))] Gary is white.[(triple9)] Gary is young.[(triple10)] Harry is blue.[(triple11)] Harry is kind.[(triple12 OR ((triple11 triple13) -> rule5) OR ((triple11 ((triple11) -> rule7)) -> rule5))] Harry is nice.[(triple13 OR ((triple11) -> rule7))] Harry is quiet.[(triple14 OR ((triple11 triple12) -> rule2) OR ((((triple13) -> rule3)) -> rule4) OR ((triple11 ((triple11 triple13) -> rule5)) -> rule2) OR ((((((triple11) -> rule7)) -> rule3)) -> rule4) OR ((triple11 ((triple11 ((triple11) -> rule7)) -> rule5)) -> rule2))] Harry is young.[(triple15)] @1: Charlie is nice.[(((triple1) -> rule7))] Harry is furry.[(((triple13) -> rule3) OR ((((triple11) -> rule7)) -> rule3))] @2: Charlie is furry.[(((((triple1) -> rule7)) -> rule3))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Charlie is kind.
("Charlie" "is" "kind" "+")
triple2
((triple1 ((triple1) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple3
((triple1 triple2) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((((triple1) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((triple1 ((triple1 ((triple1) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
triple4
Gary is furry.
("Gary" "is" "furry" "+")
triple5
((triple7) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple8 triple9) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((triple4) -> (rule7 % int2))) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple4 triple6) -> (rule2 % int2)) triple9) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((triple4 ((triple4 triple7) -> (rule5 % int3))) -> (rule2 % int2)) triple9) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((triple4 ((triple4 ((triple4) -> (rule7 % int4))) -> (rule5 % int3))) -> (rule2 % int2)) triple9) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
triple6
((triple4 triple7) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple4 ((triple4) -> (rule7 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
triple7
((triple4) -> (rule7 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
triple8
((triple5) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((triple4 triple6) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple7) -> (rule3 % int2))) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((triple4 ((triple4 triple7) -> (rule5 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((((triple4) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
((triple4 ((triple4 ((triple4) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
triple9
Gary is young.
("Gary" "is" "young" "+")
triple10
Harry is blue.
("Harry" "is" "blue" "+")
triple11
Harry is kind.
("Harry" "is" "kind" "+")
triple12
((triple11 triple13) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple11 ((triple11) -> (rule7 % int2))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
triple13
((triple11) -> (rule7 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
triple14
((triple11 triple12) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple13) -> (rule3 % int2))) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
((triple11 ((triple11 triple13) -> (rule5 % int2))) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((((triple11) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
((triple11 ((triple11 ((triple11) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
triple15
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple1) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
((triple13) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple11) -> (rule7 % int2))) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
((((triple1) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2