Charlie is blue. Charlie is furry. Charlie is quiet. Charlie is red. Charlie is white. Harry is blue. Harry is furry. Harry is red. Harry is smart. Harry is white. Smart things are red. If something is blue and rough then it is red. All blue, white things are red. If Charlie is blue then Charlie is quiet. All smart things are white. All red things are blue. Furry things are white. All furry things are quiet.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is white.
("Harry" "is" "white" "+")
Smart things are red.
((("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
If something is blue and rough then it is red.
((("something" "is" "blue" "+") ("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
All blue, white things are red.
((("something" "is" "blue" "+") ("something" "is" "white" "+")) -> ("something" "is" "red" "+"))
If Charlie is blue then Charlie is quiet.
((("Charlie" "is" "blue" "+")) -> ("Charlie" "is" "quiet" "+"))
All smart things are white.
((("something" "is" "smart" "+")) -> ("something" "is" "white" "+"))
All red things are blue.
((("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
Furry things are white.
((("something" "is" "furry" "+")) -> ("something" "is" "white" "+"))
All furry things are quiet.
((("something" "is" "furry" "+")) -> ("something" "is" "quiet" "+"))
Harry is blue.
True
1
proof
[(triple6 OR ((triple8) -> rule6) OR ((((triple9) -> rule1)) -> rule6))]
("Harry" "is" "blue" "+")
triple6
((triple8) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((triple9) -> (rule1 % int2))) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Charlie is not quiet.
False
1
inv-proof
[(triple3 OR ((triple1) -> rule4) OR ((triple2) -> rule8) OR ((((triple4) -> rule6)) -> rule4))]
("Charlie" "is" "quiet" "-")
triple3
((triple1) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple2) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple4) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is not smart.
Unknown
inv-random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
@0: Charlie is blue.[(triple1 OR ((triple4) -> rule6))] Charlie is furry.[(triple2)] Charlie is quiet.[(triple3 OR ((triple1) -> rule4) OR ((triple2) -> rule8) OR ((((triple4) -> rule6)) -> rule4))] Charlie is red.[(triple4 OR ((triple1 triple5) -> rule3) OR ((triple1 ((triple2) -> rule7)) -> rule3))] Charlie is white.[(triple5 OR ((triple2) -> rule7))] Harry is blue.[(triple6 OR ((triple8) -> rule6) OR ((((triple9) -> rule1)) -> rule6))] Harry is furry.[(triple7)] Harry is red.[(triple8 OR ((triple9) -> rule1) OR ((triple6 triple10) -> rule3) OR ((triple6 ((triple7) -> rule7)) -> rule3) OR ((triple6 ((triple9) -> rule5)) -> rule3))] Harry is smart.[(triple9)] Harry is white.[(triple10 OR ((triple7) -> rule7) OR ((triple9) -> rule5))] @1: Harry is quiet.[(((triple7) -> rule8))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
((triple4) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple3
((triple1) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple2) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple4) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
triple4
((triple1 triple5) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple1 ((triple2) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
triple5
((triple2) -> (rule7 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
triple6
((triple8) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((triple9) -> (rule1 % int2))) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
triple7
Harry is red.
("Harry" "is" "red" "+")
triple8
((triple9) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((triple6 triple10) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((triple6 ((triple7) -> (rule7 % int2))) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((triple6 ((triple9) -> (rule5 % int2))) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
triple9
Harry is white.
("Harry" "is" "white" "+")
triple10
((triple7) -> (rule7 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((triple9) -> (rule5 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple7) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1