Bob is rough. Dave is young. Fiona is kind. Harry is rough. If Fiona is furry and Fiona is kind then Fiona is big. Young things are big. All rough, young things are kind.
Bob is rough.
("Bob" "is" "rough" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If Fiona is furry and Fiona is kind then Fiona is big.
((("Fiona" "is" "furry" "+") ("Fiona" "is" "kind" "+")) -> ("Fiona" "is" "big" "+"))
Young things are big.
((("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
All rough, young things are kind.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
Bob is rough.
True
1
proof
[(triple1)]
("Bob" "is" "rough" "+")
triple1
Dave is not young.
False
1
inv-proof
[(triple2)]
("Dave" "is" "young" "-")
triple2
Harry is not big.
Unknown
inv-rconc
[@1: Harry is big.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "big" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
@0: Bob is rough.[(triple1)] Dave is young.[(triple2)] Fiona is kind.[(triple3)] Harry is rough.[(triple4)] @1: Dave is big.[(((triple2) -> rule2))]
Bob is rough.
("Bob" "is" "rough" "+")
triple1
Dave is young.
("Dave" "is" "young" "+")
triple2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple3
Harry is rough.
("Harry" "is" "rough" "+")
triple4
Dave is big.
("Dave" "is" "big" "+")
((triple2) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1