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