Charlie is smart. Dave is cold. Dave is green. Dave is red. Dave is smart. Dave is not white. Dave is young. Fiona is red. Fiona is not smart. Fiona is young. All red things are young. Smart things are green. If Charlie is nice and Charlie is smart then Charlie is young. If Charlie is white then Charlie is not young. If something is smart and not nice then it is red. If Dave is smart and Dave is white then Dave is young.
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is not white.
("Dave" "is" "white" "-")
Dave is young.
("Dave" "is" "young" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is not smart.
("Fiona" "is" "smart" "-")
Fiona is young.
("Fiona" "is" "young" "+")
All red things are young.
((("something" "is" "red" "+")) -> ("something" "is" "young" "+"))
Smart things are green.
((("something" "is" "smart" "+")) -> ("something" "is" "green" "+"))
If Charlie is nice and Charlie is smart then Charlie is young.
((("Charlie" "is" "nice" "+") ("Charlie" "is" "smart" "+")) -> ("Charlie" "is" "young" "+"))
If Charlie is white then Charlie is not young.
((("Charlie" "is" "white" "+")) -> ("Charlie" "is" "young" "-"))
If something is smart and not nice then it is red.
((("something" "is" "smart" "+") ("something" "is" "nice" "~")) -> ("something" "is" "red" "+"))
If Dave is smart and Dave is white then Dave is young.
((("Dave" "is" "smart" "+") ("Dave" "is" "white" "+")) -> ("Dave" "is" "young" "+"))
Charlie is smart.
True
1
proof
[(triple1)]
("Charlie" "is" "smart" "+")
triple1
Charlie is not smart.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "smart" "-")
triple1
Charlie is not young.
Unknown
inv-rconc
[@2: Charlie is young.[CWA. Example of deepest failure = (rule1 <- rule5 <- FAIL)]]
("Charlie" "is" "young" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
@0: Charlie is smart.[(triple1)] Dave is cold.[(triple2)] Dave is green.[(triple3 OR ((triple5) -> rule2))] Dave is not white.[(triple6)] Dave is red.[(triple4)] Dave is smart.[(triple5)] Dave is young.[(triple7 OR ((triple4) -> rule1))] Fiona is not smart.[(triple9)] Fiona is red.[(triple8)] Fiona is young.[(triple10 OR ((triple8) -> rule1))] @1: Charlie is green.[(((triple1) -> rule2))]
Charlie is smart.
("Charlie" "is" "smart" "+")
triple1
Dave is cold.
("Dave" "is" "cold" "+")
triple2
Dave is green.
("Dave" "is" "green" "+")
triple3
((triple5) -> (rule2 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is not white.
("Dave" "is" "white" "-")
triple6
Dave is red.
("Dave" "is" "red" "+")
triple4
Dave is smart.
("Dave" "is" "smart" "+")
triple5
Dave is young.
("Dave" "is" "young" "+")
triple7
((triple4) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Fiona is not smart.
("Fiona" "is" "smart" "-")
triple9
Fiona is red.
("Fiona" "is" "red" "+")
triple8
Fiona is young.
("Fiona" "is" "young" "+")
triple10
((triple8) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((triple1) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1