Charlie is furry. Charlie is nice. Charlie is red. Charlie is rough. Charlie is round. Charlie is white. Charlie is young. Fiona is nice. Fiona is rough. Fiona is white. Fiona is young. Gary is furry. Gary is red. Gary is rough. Gary is white. Nice, red things are white. If Fiona is nice and Fiona is round then Fiona is young. If something is furry and round then it is young. If Charlie is white then Charlie is young. Rough things are round. If something is rough then it is furry.
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is white.
("Gary" "is" "white" "+")
Nice, red things are white.
((("something" "is" "nice" "+") ("something" "is" "red" "+")) -> ("something" "is" "white" "+"))
If Fiona is nice and Fiona is round then Fiona is young.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "round" "+")) -> ("Fiona" "is" "young" "+"))
If something is furry and round then it is young.
((("something" "is" "furry" "+") ("something" "is" "round" "+")) -> ("something" "is" "young" "+"))
If Charlie is white then Charlie is young.
((("Charlie" "is" "white" "+")) -> ("Charlie" "is" "young" "+"))
Rough things are round.
((("something" "is" "rough" "+")) -> ("something" "is" "round" "+"))
If something is rough then it is furry.
((("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
Fiona is white.
True
1
proof
[(triple10)]
("Fiona" "is" "white" "+")
triple10
Charlie is not round.
False
1
inv-proof
[(triple5 OR ((triple4) -> rule5))]
("Charlie" "is" "round" "-")
triple5
((triple4) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Fiona is not red.
Unknown
inv-random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "-")
Gary is nice.
Unknown
random
[@0: Gary is nice.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "nice" "+")
@0: Charlie is furry.[(triple1 OR ((triple4) -> rule6))] Charlie is nice.[(triple2)] Charlie is red.[(triple3)] Charlie is rough.[(triple4)] Charlie is round.[(triple5 OR ((triple4) -> rule5))] Charlie is white.[(triple6 OR ((triple2 triple3) -> rule1))] Charlie is young.[(triple7 OR ((triple6) -> rule4) OR ((triple1 triple5) -> rule3) OR ((((triple2 triple3) -> rule1)) -> rule4) OR ((triple1 ((triple4) -> rule5)) -> rule3) OR ((((triple4) -> rule6) triple5) -> rule3) OR ((((triple4) -> rule6) ((triple4) -> rule5)) -> rule3))] Fiona is nice.[(triple8)] Fiona is rough.[(triple9)] Fiona is white.[(triple10)] Fiona is young.[(triple11 OR ((triple8 ((triple9) -> rule5)) -> rule2) OR ((((triple9) -> rule6) ((triple9) -> rule5)) -> rule3))] Gary is furry.[(triple12 OR ((triple14) -> rule6))] Gary is red.[(triple13)] Gary is rough.[(triple14)] Gary is white.[(triple15)] @1: Fiona is furry.[(((triple9) -> rule6))] Fiona is round.[(((triple9) -> rule5))] Gary is round.[(((triple14) -> rule5))] @2: Gary is young.[(((triple12 ((triple14) -> rule5)) -> rule3) OR ((((triple14) -> rule6) ((triple14) -> rule5)) -> rule3))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
((triple4) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple4
Charlie is round.
("Charlie" "is" "round" "+")
triple5
((triple4) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
triple6
((triple2 triple3) -> (rule1 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple7
((triple6) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple1 triple5) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple2 triple3) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
((triple1 ((triple4) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple4) -> (rule6 % int2)) triple5) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((triple4) -> (rule6 % int3)) ((triple4) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
triple8
Fiona is rough.
("Fiona" "is" "rough" "+")
triple9
Fiona is white.
("Fiona" "is" "white" "+")
triple10
Fiona is young.
("Fiona" "is" "young" "+")
triple11
((triple8 ((triple9) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((triple9) -> (rule6 % int3)) ((triple9) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
triple12
((triple14) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
triple13
Gary is rough.
("Gary" "is" "rough" "+")
triple14
Gary is white.
("Gary" "is" "white" "+")
triple15
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple9) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple9) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple14) -> (rule5 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((triple12 ((triple14) -> (rule5 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((triple14) -> (rule6 % int3)) ((triple14) -> (rule5 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3