Anne is green. Bob is nice. Dave is kind. If something is red then it is nice. All nice things are blue. Smart things are nice. Blue things are smart. All nice, kind things are smart. All kind things are red.
Anne is green.
("Anne" "is" "green" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Dave is kind.
("Dave" "is" "kind" "+")
If something is red then it is nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
All nice things are blue.
((("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
Smart things are nice.
((("something" "is" "smart" "+")) -> ("something" "is" "nice" "+"))
Blue things are smart.
((("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
All nice, kind things are smart.
((("something" "is" "nice" "+") ("something" "is" "kind" "+")) -> ("something" "is" "smart" "+"))
All kind things are red.
((("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
Bob is nice.
True
1
proof
[(triple2)]
("Bob" "is" "nice" "+")
triple2
Bob is not nice.
False
1
inv-proof
[(triple2)]
("Bob" "is" "nice" "-")
triple2
Bob is blue.
True
2
proof
[(((triple2) -> rule2))]
("Bob" "is" "blue" "+")
((triple2) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is not blue.
False
2
inv-proof
[(((triple2) -> rule2))]
("Bob" "is" "blue" "-")
((triple2) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is smart.
True
3
proof
[(((((triple2) -> rule2)) -> rule4))]
("Bob" "is" "smart" "+")
((((triple2) -> (rule2 % int2))) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Dave is not nice.
False
3
inv-proof
[(((((triple3) -> rule6)) -> rule1))]
("Dave" "is" "nice" "-")
((((triple3) -> (rule6 % int2))) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Anne is not blue.
Unknown
inv-rconc
[@3: Anne is blue.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule6 <- FAIL)]]
("Anne" "is" "blue" "-")
Anne is nice.
Unknown
rconc
[@5: Anne is nice.[CWA. Example of deepest failure = (rule3 <- rule4 <- rule2 <- rule1 <- rule6 <- FAIL)]]
("Anne" "is" "nice" "+")
Anne is not red.
Unknown
inv-rconc
[@1: Anne is red.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Anne" "is" "red" "-")
Dave is green.
Unknown
random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "+")
Bob is not kind.
Unknown
inv-random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "-")
Anne is furry.
Unknown
random
[@0: Anne is furry.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "furry" "+")
@0: Anne is green.[(triple1)] Bob is nice.[(triple2)] Dave is kind.[(triple3)] @1: Bob is blue.[(((triple2) -> rule2))] Dave is red.[(((triple3) -> rule6))] @2: Bob is smart.[(((((triple2) -> rule2)) -> rule4))] Dave is nice.[(((((triple3) -> rule6)) -> rule1))] @3: Dave is blue.[(((((((triple3) -> rule6)) -> rule1)) -> rule2))] Dave is smart.[(((((((triple3) -> rule6)) -> rule1) triple3) -> rule5) OR ((((((((triple3) -> rule6)) -> rule1)) -> rule2)) -> rule4))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Bob is blue.
("Bob" "is" "blue" "+")
((triple2) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
((triple3) -> (rule6 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
((((triple2) -> (rule2 % int2))) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
((((triple3) -> (rule6 % int2))) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
((((((triple3) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
((((((triple3) -> (rule6 % int3))) -> (rule1 % int2)) triple3) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
((((((((triple3) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4