Bob is furry. Bob is not kind. Bob is nice. Dave is cold. Dave is nice. Gary is not cold. Gary is furry. Furry things are young. Young things are furry. Smart, rough things are not nice. If something is nice and not furry then it is smart. All cold, kind things are smart. If something is young then it is not smart.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is not kind.
("Bob" "is" "kind" "-")
Bob is nice.
("Bob" "is" "nice" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Gary is not cold.
("Gary" "is" "cold" "-")
Gary is furry.
("Gary" "is" "furry" "+")
Furry things are young.
((("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
Young things are furry.
((("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
Smart, rough things are not nice.
((("something" "is" "smart" "+") ("something" "is" "rough" "+")) -> ("something" "is" "nice" "-"))
If something is nice and not furry then it is smart.
((("something" "is" "nice" "+") ("something" "is" "furry" "~")) -> ("something" "is" "smart" "+"))
All cold, kind things are smart.
((("something" "is" "cold" "+") ("something" "is" "kind" "+")) -> ("something" "is" "smart" "+"))
If something is young then it is not smart.
((("something" "is" "young" "+")) -> ("something" "is" "smart" "-"))
Bob is nice.
True
1
proof
[(triple3)]
("Bob" "is" "nice" "+")
triple3
Bob is not furry.
False
1
inv-proof
[(triple1)]
("Bob" "is" "furry" "-")
triple1
Bob is young.
True
2
proof
[(((triple1) -> rule1))]
("Bob" "is" "young" "+")
((triple1) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Gary is not young.
False
2
inv-proof
[(((triple7) -> rule1))]
("Gary" "is" "young" "-")
((triple7) -> (rule1 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is not smart.
True
3
proof
[(((((triple7) -> rule1)) -> rule6))]
("Gary" "is" "smart" "-")
((((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Gary is not smart.
("Gary" "is" "smart" "-")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is smart.
False
3
inv-proof
[(((((triple7) -> rule1)) -> rule6))]
("Gary" "is" "smart" "+")
((((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Gary is not smart.
("Gary" "is" "smart" "-")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Dave is not smart.
Unknown
inv-rconc
[@1: Dave is smart.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Dave" "is" "smart" "-")
Dave is furry.
Unknown
rconc
[@2: Dave is furry.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Dave" "is" "furry" "+")
Dave is not young.
Unknown
inv-rconc
[@2: Dave is young.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Dave" "is" "young" "-")
Gary is nice.
Unknown
random
[@0: Gary is nice.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "nice" "+")
Dave is not rough.
Unknown
inv-random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "-")
Bob is cold.
Unknown
random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "+")
@0: Bob is furry.[(triple1)] Bob is nice.[(triple3)] Bob is not kind.[(triple2)] Dave is cold.[(triple4)] Dave is nice.[(triple5)] Gary is furry.[(triple7)] Gary is not cold.[(triple6)] @1: Bob is young.[(((triple1) -> rule1))] Gary is young.[(((triple7) -> rule1))] @2: Bob is not smart.[(((((triple1) -> rule1)) -> rule6))] Gary is not smart.[(((((triple7) -> rule1)) -> rule6))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple3
Bob is not kind.
("Bob" "is" "kind" "-")
triple2
Dave is cold.
("Dave" "is" "cold" "+")
triple4
Dave is nice.
("Dave" "is" "nice" "+")
triple5
Gary is furry.
("Gary" "is" "furry" "+")
triple7
Gary is not cold.
("Gary" "is" "cold" "-")
triple6
Bob is young.
("Bob" "is" "young" "+")
((triple1) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((triple7) -> (rule1 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Bob is not smart.
("Bob" "is" "smart" "-")
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is not smart.
("Bob" "is" "smart" "-")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Gary is not smart.
("Gary" "is" "smart" "-")
((((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Gary is not smart.
("Gary" "is" "smart" "-")
int1
Gary is young.
("Gary" "is" "young" "+")
int2