Bob is nice. Dave is white. Fiona is white. If Fiona is white and Fiona is smart then Fiona is nice. Smart things are white. If something is white then it is rough. Nice things are kind. Rough, quiet things are nice. All green, quiet things are white.
Bob is nice.
("Bob" "is" "nice" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is white.
("Fiona" "is" "white" "+")
If Fiona is white and Fiona is smart then Fiona is nice.
((("Fiona" "is" "white" "+") ("Fiona" "is" "smart" "+")) -> ("Fiona" "is" "nice" "+"))
Smart things are white.
((("something" "is" "smart" "+")) -> ("something" "is" "white" "+"))
If something is white then it is rough.
((("something" "is" "white" "+")) -> ("something" "is" "rough" "+"))
Nice things are kind.
((("something" "is" "nice" "+")) -> ("something" "is" "kind" "+"))
Rough, quiet things are nice.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "nice" "+"))
All green, quiet things are white.
((("something" "is" "green" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "white" "+"))
Fiona is white.
True
1
proof
[(triple3)]
("Fiona" "is" "white" "+")
triple3
Dave is not white.
False
1
inv-proof
[(triple2)]
("Dave" "is" "white" "-")
triple2
Dave is not kind.
Unknown
inv-rconc
[@2: Dave is kind.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Dave" "is" "kind" "-")
Dave is smart.
Unknown
random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "+")
@0: Bob is nice.[(triple1)] Dave is white.[(triple2)] Fiona is white.[(triple3)] @1: Bob is kind.[(((triple1) -> rule4))] Dave is rough.[(((triple2) -> rule3))] Fiona is rough.[(((triple3) -> rule3))]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Dave is white.
("Dave" "is" "white" "+")
triple2
Fiona is white.
("Fiona" "is" "white" "+")
triple3
Bob is kind.
("Bob" "is" "kind" "+")
((triple1) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
((triple2) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple3) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1