Bob is rough. Dave is furry. Dave is kind. Fiona is green. Fiona is kind. Fiona is red. Fiona is rough. If Fiona is young and Fiona is green then Fiona is kind. Furry things are young. Furry, kind things are blue. If something is young and rough then it is furry. Green things are red. If Dave is furry and Dave is blue then Dave is rough.
Bob is rough.
("Bob" "is" "rough" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
If Fiona is young and Fiona is green then Fiona is kind.
((("Fiona" "is" "young" "+") ("Fiona" "is" "green" "+")) -> ("Fiona" "is" "kind" "+"))
Furry things are young.
((("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
Furry, kind things are blue.
((("something" "is" "furry" "+") ("something" "is" "kind" "+")) -> ("something" "is" "blue" "+"))
If something is young and rough then it is furry.
((("something" "is" "young" "+") ("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
Green things are red.
((("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
If Dave is furry and Dave is blue then Dave is rough.
((("Dave" "is" "furry" "+") ("Dave" "is" "blue" "+")) -> ("Dave" "is" "rough" "+"))
Fiona is green.
True
1
proof
[(triple4)]
("Fiona" "is" "green" "+")
triple4
Fiona is not green.
False
1
inv-proof
[(triple4)]
("Fiona" "is" "green" "-")
triple4
Dave is not red.
Unknown
inv-rconc
[@1: Dave is red.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "red" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
@0: Bob is rough.[(triple1)] Dave is furry.[(triple2)] Dave is kind.[(triple3)] Fiona is green.[(triple4)] Fiona is kind.[(triple5)] Fiona is red.[(triple6 OR ((triple4) -> rule5))] Fiona is rough.[(triple7)] @1: Dave is blue.[(((triple2 triple3) -> rule3))] Dave is young.[(((triple2) -> rule2))] @2: Dave is rough.[(((triple2 ((triple2 triple3) -> rule3)) -> rule6))]
Bob is rough.
("Bob" "is" "rough" "+")
triple1
Dave is furry.
("Dave" "is" "furry" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Fiona is green.
("Fiona" "is" "green" "+")
triple4
Fiona is kind.
("Fiona" "is" "kind" "+")
triple5
Fiona is red.
("Fiona" "is" "red" "+")
triple6
((triple4) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple7
Dave is blue.
("Dave" "is" "blue" "+")
((triple2 triple3) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((triple2) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
((triple2 ((triple2 triple3) -> (rule3 % int2))) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2