Anne is not cold. Anne is furry. Anne is red. Bob is cold. Bob is furry. Bob is round. Fiona is kind. Fiona is not nice. Fiona is round. Fiona is smart. Gary is furry. Gary is kind. Gary is nice. Gary is red. Gary is round. Furry people are kind. All round, kind people are red. If someone is red then they are smart.
Anne is not cold.
("Anne" "is" "cold" "-")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is red.
("Anne" "is" "red" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is round.
("Bob" "is" "round" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is not nice.
("Fiona" "is" "nice" "-")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is round.
("Gary" "is" "round" "+")
Furry people are kind.
((("someone" "is" "furry" "+")) -> ("someone" "is" "kind" "+"))
All round, kind people are red.
((("someone" "is" "round" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
If someone is red then they are smart.
((("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
Gary is red.
True
1
proof
[(triple14 OR ((triple15 triple12) -> rule2) OR ((triple15 ((triple11) -> rule1)) -> rule2))]
("Gary" "is" "red" "+")
triple14
((triple15 triple12) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple15 ((triple11) -> (rule1 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Fiona is not kind.
False
1
inv-proof
[(triple7)]
("Fiona" "is" "kind" "-")
triple7
Bob is kind.
True
2
proof
[(((triple5) -> rule1))]
("Bob" "is" "kind" "+")
((triple5) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Gary is not smart.
False
2
inv-proof
[(((triple14) -> rule3) OR ((((triple15 triple12) -> rule2)) -> rule3) OR ((((triple15 ((triple11) -> rule1)) -> rule2)) -> rule3))]
("Gary" "is" "smart" "-")
((triple14) -> (rule3 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((((triple15 triple12) -> (rule2 % int2))) -> (rule3 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((triple15 ((triple11) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Bob is red.
True
4
proof
[(((triple6 ((triple5) -> rule1)) -> rule2))]
("Bob" "is" "red" "+")
((triple6 ((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is not red.
False
4
inv-proof
[(((triple6 ((triple5) -> rule1)) -> rule2))]
("Bob" "is" "red" "-")
((triple6 ((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is smart.
True
5
proof
[(((((triple6 ((triple5) -> rule1)) -> rule2)) -> rule3))]
("Bob" "is" "smart" "+")
((((triple6 ((triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is not smart.
False
5
inv-proof
[(((((triple6 ((triple5) -> rule1)) -> rule2)) -> rule3))]
("Bob" "is" "smart" "-")
((((triple6 ((triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Anne is nice.
Unknown
random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "+")
Anne is not round.
Unknown
inv-random
[@0: Anne is round.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "round" "-")
Bob is nice.
Unknown
random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Gary is cold.
Unknown
random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "+")
@0: Anne is furry.[(triple2)] Anne is not cold.[(triple1)] Anne is red.[(triple3)] Bob is cold.[(triple4)] Bob is furry.[(triple5)] Bob is round.[(triple6)] Fiona is kind.[(triple7)] Fiona is not nice.[(triple8)] Fiona is round.[(triple9)] Fiona is smart.[(triple10 OR ((((triple9 triple7) -> rule2)) -> rule3))] Gary is furry.[(triple11)] Gary is kind.[(triple12 OR ((triple11) -> rule1))] Gary is nice.[(triple13)] Gary is red.[(triple14 OR ((triple15 triple12) -> rule2) OR ((triple15 ((triple11) -> rule1)) -> rule2))] Gary is round.[(triple15)] @1: Anne is kind.[(((triple2) -> rule1))] Anne is smart.[(((triple3) -> rule3))] Bob is kind.[(((triple5) -> rule1))] Fiona is red.[(((triple9 triple7) -> rule2))] Gary is smart.[(((triple14) -> rule3) OR ((((triple15 triple12) -> rule2)) -> rule3) OR ((((triple15 ((triple11) -> rule1)) -> rule2)) -> rule3))] @2: Bob is red.[(((triple6 ((triple5) -> rule1)) -> rule2))] @3: Bob is smart.[(((((triple6 ((triple5) -> rule1)) -> rule2)) -> rule3))]
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Anne is not cold.
("Anne" "is" "cold" "-")
triple1
Anne is red.
("Anne" "is" "red" "+")
triple3
Bob is cold.
("Bob" "is" "cold" "+")
triple4
Bob is furry.
("Bob" "is" "furry" "+")
triple5
Bob is round.
("Bob" "is" "round" "+")
triple6
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple8
Fiona is round.
("Fiona" "is" "round" "+")
triple9
Fiona is smart.
("Fiona" "is" "smart" "+")
triple10
((((triple9 triple7) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
triple11
Gary is kind.
("Gary" "is" "kind" "+")
triple12
((triple11) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
triple13
Gary is red.
("Gary" "is" "red" "+")
triple14
((triple15 triple12) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple15 ((triple11) -> (rule1 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
triple15
Anne is kind.
("Anne" "is" "kind" "+")
((triple2) -> (rule1 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
((triple3) -> (rule3 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
((triple5) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple9 triple7) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
((triple14) -> (rule3 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((((triple15 triple12) -> (rule2 % int2))) -> (rule3 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((triple15 ((triple11) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
((triple6 ((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
((((triple6 ((triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3