Bob is big. Bob is blue. Bob is furry. Bob is round. Dave is big. Dave is rough. Erin is big. Erin is rough. Erin is round. Gary is big. Gary is blue. Gary is furry. Gary is nice. Gary is quiet. Gary is rough. Gary is round. All round, big things are nice. All nice things are furry. Furry things are nice.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is round.
("Bob" "is" "round" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
All round, big things are nice.
((("something" "is" "round" "+") ("something" "is" "big" "+")) -> ("something" "is" "nice" "+"))
All nice things are furry.
((("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
Furry things are nice.
((("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
Bob is blue.
True
1
proof
[(triple2)]
("Bob" "is" "blue" "+")
triple2
Gary is not nice.
False
1
inv-proof
[(triple13 OR ((triple12) -> rule3) OR ((triple16 triple10) -> rule1))]
("Gary" "is" "nice" "-")
triple13
((triple12) -> (rule3 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((triple16 triple10) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Erin is nice.
True
3
proof
[(((triple9 triple7) -> rule1))]
("Erin" "is" "nice" "+")
((triple9 triple7) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is not nice.
False
3
inv-proof
[(((triple9 triple7) -> rule1))]
("Erin" "is" "nice" "-")
((triple9 triple7) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Dave is not nice.
Unknown
inv-rconc
[@3: Dave is nice.[CWA. Example of deepest failure = (rule3 <- rule2 <- rule1 <- FAIL)]]
("Dave" "is" "nice" "-")
Dave is furry.
Unknown
rconc
[@2: Dave is furry.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Dave" "is" "furry" "+")
Erin is not quiet.
Unknown
inv-random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
@0: Bob is big.[(triple1)] Bob is blue.[(triple2)] Bob is furry.[(triple3 OR ((((triple4 triple1) -> rule1)) -> rule2))] Bob is round.[(triple4)] Dave is big.[(triple5)] Dave is rough.[(triple6)] Erin is big.[(triple7)] Erin is rough.[(triple8)] Erin is round.[(triple9)] Gary is big.[(triple10)] Gary is blue.[(triple11)] Gary is furry.[(triple12 OR ((triple13) -> rule2) OR ((((triple16 triple10) -> rule1)) -> rule2))] Gary is nice.[(triple13 OR ((triple12) -> rule3) OR ((triple16 triple10) -> rule1))] Gary is quiet.[(triple14)] Gary is rough.[(triple15)] Gary is round.[(triple16)] @1: Bob is nice.[(((triple3) -> rule3) OR ((triple4 triple1) -> rule1))] Erin is nice.[(((triple9 triple7) -> rule1))] @2: Erin is furry.[(((((triple9 triple7) -> rule1)) -> rule2))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Bob is furry.
("Bob" "is" "furry" "+")
triple3
((((triple4 triple1) -> (rule1 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
triple4
Dave is big.
("Dave" "is" "big" "+")
triple5
Dave is rough.
("Dave" "is" "rough" "+")
triple6
Erin is big.
("Erin" "is" "big" "+")
triple7
Erin is rough.
("Erin" "is" "rough" "+")
triple8
Erin is round.
("Erin" "is" "round" "+")
triple9
Gary is big.
("Gary" "is" "big" "+")
triple10
Gary is blue.
("Gary" "is" "blue" "+")
triple11
Gary is furry.
("Gary" "is" "furry" "+")
triple12
((triple13) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((triple16 triple10) -> (rule1 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
triple13
((triple12) -> (rule3 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((triple16 triple10) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
triple14
Gary is rough.
("Gary" "is" "rough" "+")
triple15
Gary is round.
("Gary" "is" "round" "+")
triple16
Bob is nice.
("Bob" "is" "nice" "+")
((triple3) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((triple4 triple1) -> (rule1 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple9 triple7) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((((triple9 triple7) -> (rule1 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2