Dave is not furry. Dave is green. Dave is kind. Dave is white. Fiona is furry. Fiona is rough. Fiona is young. Gary is kind. Gary is rough. Gary is white. Harry is big. Harry is furry. Harry is not green. Harry is rough. Harry is white. If something is green then it is big. Kind, rough things are green. All rough, big things are white. If something is big and not furry then it is white. If Dave is not furry and Dave is not young then Dave is not green. If something is furry and not kind then it is not rough.
Dave is not furry.
("Dave" "is" "furry" "-")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is white.
("Gary" "is" "white" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is not green.
("Harry" "is" "green" "-")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
If something is green then it is big.
((("something" "is" "green" "+")) -> ("something" "is" "big" "+"))
Kind, rough things are green.
((("something" "is" "kind" "+") ("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
All rough, big things are white.
((("something" "is" "rough" "+") ("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
If something is big and not furry then it is white.
((("something" "is" "big" "+") ("something" "is" "furry" "~")) -> ("something" "is" "white" "+"))
If Dave is not furry and Dave is not young then Dave is not green.
((("Dave" "is" "furry" "~") ("Dave" "is" "young" "~")) -> ("Dave" "is" "green" "-"))
If something is furry and not kind then it is not rough.
((("something" "is" "furry" "+") ("something" "is" "kind" "~")) -> ("something" "is" "rough" "-"))
Dave is not furry.
True
1
proof
[(triple1)]
("Dave" "is" "furry" "-")
triple1
Fiona is not rough.
False
1
inv-proof
[(triple6)]
("Fiona" "is" "rough" "-")
triple6
Gary is green.
True
3
proof
[(((triple8 triple9) -> rule2))]
("Gary" "is" "green" "+")
((triple8 triple9) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Dave is not big.
False
2
inv-proof
[(((triple2) -> rule1))]
("Dave" "is" "big" "-")
((triple2) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Gary is big.
True
4
proof
[(((((triple8 triple9) -> rule2)) -> rule1))]
("Gary" "is" "big" "+")
((((triple8 triple9) -> (rule2 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is not big.
False
4
inv-proof
[(((((triple8 triple9) -> rule2)) -> rule1))]
("Gary" "is" "big" "-")
((((triple8 triple9) -> (rule2 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Fiona is not big.
Unknown
inv-rconc
[@2: Fiona is big.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Fiona" "is" "big" "-")
Fiona is white.
Unknown
rconc
[@3: Fiona is white.[CWA. Example of deepest failure = (rule3 <- rule1 <- rule2 <- FAIL)]]
("Fiona" "is" "white" "+")
Fiona is not green.
Unknown
inv-rconc
[@1: Fiona is green.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "green" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
Gary is not young.
Unknown
inv-random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "-")
Gary is furry.
Unknown
random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "+")
@0: Dave is green.[(triple2)] Dave is kind.[(triple3)] Dave is not furry.[(triple1)] Dave is white.[(triple4 OR ((((triple2) -> rule1) triple1) -> rule4))] Fiona is furry.[(triple5)] Fiona is rough.[(triple6)] Fiona is young.[(triple7)] Gary is kind.[(triple8)] Gary is rough.[(triple9)] Gary is white.[(triple10 OR ((triple9 ((((triple8 triple9) -> rule2)) -> rule1)) -> rule3))] Harry is big.[(triple11)] Harry is furry.[(triple12)] Harry is not green.[(triple13)] Harry is rough.[(triple14)] Harry is white.[(triple15 OR ((triple14 triple11) -> rule3))] @1: Dave is big.[(((triple2) -> rule1))] Gary is green.[(((triple8 triple9) -> rule2))] @2: Gary is big.[(((((triple8 triple9) -> rule2)) -> rule1))]
Dave is green.
("Dave" "is" "green" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Dave is not furry.
("Dave" "is" "furry" "-")
triple1
Dave is white.
("Dave" "is" "white" "+")
triple4
((((triple2) -> (rule1 % int2)) triple1) -> (rule4 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple5
Fiona is rough.
("Fiona" "is" "rough" "+")
triple6
Fiona is young.
("Fiona" "is" "young" "+")
triple7
Gary is kind.
("Gary" "is" "kind" "+")
triple8
Gary is rough.
("Gary" "is" "rough" "+")
triple9
Gary is white.
("Gary" "is" "white" "+")
triple10
((triple9 ((((triple8 triple9) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
triple11
Harry is furry.
("Harry" "is" "furry" "+")
triple12
Harry is not green.
("Harry" "is" "green" "-")
triple13
Harry is rough.
("Harry" "is" "rough" "+")
triple14
Harry is white.
("Harry" "is" "white" "+")
triple15
((triple14 triple11) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
((triple2) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple8 triple9) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((((triple8 triple9) -> (rule2 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2