Charlie is young. Dave is not smart. Harry is nice. All young, nice things are quiet. Nice things are smart. If something is smart then it is nice. If Charlie is quiet then Charlie is not smart. If Harry is not nice then Harry is not cold. If something is cold then it is white.
Charlie is young.
("Charlie" "is" "young" "+")
Dave is not smart.
("Dave" "is" "smart" "-")
Harry is nice.
("Harry" "is" "nice" "+")
All young, nice things are quiet.
((("something" "is" "young" "+") ("something" "is" "nice" "+")) -> ("something" "is" "quiet" "+"))
Nice things are smart.
((("something" "is" "nice" "+")) -> ("something" "is" "smart" "+"))
If something is smart then it is nice.
((("something" "is" "smart" "+")) -> ("something" "is" "nice" "+"))
If Charlie is quiet then Charlie is not smart.
((("Charlie" "is" "quiet" "+")) -> ("Charlie" "is" "smart" "-"))
If Harry is not nice then Harry is not cold.
((("Harry" "is" "nice" "~")) -> ("Harry" "is" "cold" "-"))
If something is cold then it is white.
((("something" "is" "cold" "+")) -> ("something" "is" "white" "+"))
Charlie is young.
True
1
proof
[(triple1)]
("Charlie" "is" "young" "+")
triple1
Harry is not nice.
False
1
inv-proof
[(triple3)]
("Harry" "is" "nice" "-")
triple3
Harry is smart.
True
2
proof
[(((triple3) -> rule2))]
("Harry" "is" "smart" "+")
((triple3) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is not smart.
False
2
inv-proof
[(((triple3) -> rule2))]
("Harry" "is" "smart" "-")
((triple3) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Charlie is not white.
Unknown
inv-rconc
[@1: Charlie is white.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "white" "-")
Charlie is quiet.
Unknown
rconc
[@3: Charlie is quiet.[CWA. Example of deepest failure = (rule1 <- rule3 <- rule2 <- FAIL)]]
("Charlie" "is" "quiet" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
@0: Charlie is young.[(triple1)] Dave is not smart.[(triple2)] Harry is nice.[(triple3)] @1: Harry is smart.[(((triple3) -> rule2))]
Charlie is young.
("Charlie" "is" "young" "+")
triple1
Dave is not smart.
("Dave" "is" "smart" "-")
triple2
Harry is nice.
("Harry" "is" "nice" "+")
triple3
Harry is smart.
("Harry" "is" "smart" "+")
((triple3) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1