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