Bob is furry. Bob is green. Bob is red. Bob is not rough. Bob is round. Bob is white. Charlie is not big. Charlie is furry. Charlie is green. Charlie is red. Charlie is not round. Fiona is red. Fiona is round. Fiona is white. Gary is green. Gary is white. If something is rough then it is not green. All big things are green. Big things are not green. If something is furry then it is green. If Charlie is red then Charlie is furry. All green things are not rough. If something is white then it is round. All white things are furry.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is not rough.
("Bob" "is" "rough" "-")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is not big.
("Charlie" "is" "big" "-")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is not round.
("Charlie" "is" "round" "-")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is white.
("Gary" "is" "white" "+")
If something is rough then it is not green.
((("something" "is" "rough" "+")) -> ("something" "is" "green" "-"))
All big things are green.
((("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
Big things are not green.
((("something" "is" "big" "+")) -> ("something" "is" "green" "-"))
If something is furry then it is green.
((("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
If Charlie is red then Charlie is furry.
((("Charlie" "is" "red" "+")) -> ("Charlie" "is" "furry" "+"))
All green things are not rough.
((("something" "is" "green" "+")) -> ("something" "is" "rough" "-"))
If something is white then it is round.
((("something" "is" "white" "+")) -> ("something" "is" "round" "+"))
All white things are furry.
((("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
Charlie is not round.
True
1
proof
[(triple11)]
("Charlie" "is" "round" "-")
triple11
Bob is not furry.
False
1
inv-proof
[(triple1 OR ((triple6) -> rule8))]
("Bob" "is" "furry" "-")
triple1
((triple6) -> (rule8 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Gary is round.
True
2
proof
[(((triple16) -> rule7))]
("Gary" "is" "round" "+")
((triple16) -> (rule7 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is not round.
False
2
inv-proof
[(((triple16) -> rule7))]
("Gary" "is" "round" "-")
((triple16) -> (rule7 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Fiona is green.
True
3
proof
[(((((triple14) -> rule8)) -> rule4))]
("Fiona" "is" "green" "+")
((((triple14) -> (rule8 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not green.
False
3
inv-proof
[(((((triple14) -> rule8)) -> rule4))]
("Fiona" "is" "green" "-")
((((triple14) -> (rule8 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Gary is not red.
Unknown
inv-random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
@0: Bob is furry.[(triple1 OR ((triple6) -> rule8))] Bob is green.[(triple2 OR ((triple1) -> rule4) OR ((((triple6) -> rule8)) -> rule4))] Bob is not rough.[(triple4 OR ((triple2) -> rule6) OR ((((triple1) -> rule4)) -> rule6) OR ((((((triple6) -> rule8)) -> rule4)) -> rule6))] Bob is red.[(triple3)] Bob is round.[(triple5 OR ((triple6) -> rule7))] Bob is white.[(triple6)] Charlie is furry.[(triple8 OR ((triple10) -> rule5))] Charlie is green.[(triple9 OR ((triple8) -> rule4) OR ((((triple10) -> rule5)) -> rule4))] Charlie is not big.[(triple7)] Charlie is not round.[(triple11)] Charlie is red.[(triple10)] Fiona is red.[(triple12)] Fiona is round.[(triple13 OR ((triple14) -> rule7))] Fiona is white.[(triple14)] Gary is green.[(triple15 OR ((((triple16) -> rule8)) -> rule4))] Gary is white.[(triple16)] @1: Charlie is not rough.[(((triple9) -> rule6) OR ((((triple8) -> rule4)) -> rule6) OR ((((((triple10) -> rule5)) -> rule4)) -> rule6))] Fiona is furry.[(((triple14) -> rule8))] Gary is furry.[(((triple16) -> rule8))] Gary is not rough.[(((triple15) -> rule6) OR ((((((triple16) -> rule8)) -> rule4)) -> rule6))] Gary is round.[(((triple16) -> rule7))] @2: Fiona is green.[(((((triple14) -> rule8)) -> rule4))] @3: Fiona is not rough.[(((((((triple14) -> rule8)) -> rule4)) -> rule6))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
((triple6) -> (rule8 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple2
((triple1) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((((triple6) -> (rule8 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is not rough.
("Bob" "is" "rough" "-")
triple4
((triple2) -> (rule6 % int1))
Bob is not rough.
("Bob" "is" "rough" "-")
int1
((((triple1) -> (rule4 % int2))) -> (rule6 % int1))
Bob is not rough.
("Bob" "is" "rough" "-")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((((triple6) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Bob is not rough.
("Bob" "is" "rough" "-")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple6) -> (rule7 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple6
Charlie is furry.
("Charlie" "is" "furry" "+")
triple8
((triple10) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
triple9
((triple8) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
((((triple10) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is not big.
("Charlie" "is" "big" "-")
triple7
Charlie is not round.
("Charlie" "is" "round" "-")
triple11
Charlie is red.
("Charlie" "is" "red" "+")
triple10
Fiona is red.
("Fiona" "is" "red" "+")
triple12
Fiona is round.
("Fiona" "is" "round" "+")
triple13
((triple14) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
triple14
Gary is green.
("Gary" "is" "green" "+")
triple15
((((triple16) -> (rule8 % int2))) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
triple16
Charlie is not rough.
("Charlie" "is" "rough" "-")
((triple9) -> (rule6 % int1))
Charlie is not rough.
("Charlie" "is" "rough" "-")
int1
((((triple8) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is not rough.
("Charlie" "is" "rough" "-")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
((((((triple10) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is not rough.
("Charlie" "is" "rough" "-")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple14) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((triple16) -> (rule8 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is not rough.
("Gary" "is" "rough" "-")
((triple15) -> (rule6 % int1))
Gary is not rough.
("Gary" "is" "rough" "-")
int1
((((((triple16) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Gary is not rough.
("Gary" "is" "rough" "-")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
((triple16) -> (rule7 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((((triple14) -> (rule8 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not rough.
("Fiona" "is" "rough" "-")
((((((triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is not rough.
("Fiona" "is" "rough" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3