Anne is green. Anne is young. Bob is furry. Bob is green. Bob is kind. Bob is young. Dave is green. Dave is white. Dave is young. Fiona is cold. Fiona is furry. Fiona is green. Fiona is kind. Fiona is white. Fiona is young. If someone is young and smart then they are cold. All young, white people are smart. If Bob is young and Bob is green then Bob is kind. Green people are furry. If someone is kind then they are young. If someone is cold and furry then they are kind.
Anne is green.
("Anne" "is" "green" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If someone is young and smart then they are cold.
((("someone" "is" "young" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
All young, white people are smart.
((("someone" "is" "young" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "smart" "+"))
If Bob is young and Bob is green then Bob is kind.
((("Bob" "is" "young" "+") ("Bob" "is" "green" "+")) -> ("Bob" "is" "kind" "+"))
Green people are furry.
((("someone" "is" "green" "+")) -> ("someone" "is" "furry" "+"))
If someone is kind then they are young.
((("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
If someone is cold and furry then they are kind.
((("someone" "is" "cold" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "kind" "+"))
Bob is young.
True
1
proof
[(triple6 OR ((triple5) -> rule5))]
("Bob" "is" "young" "+")
triple6
((triple5) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is not green.
False
1
inv-proof
[(triple4)]
("Bob" "is" "green" "-")
triple4
Dave is furry.
True
2
proof
[(((triple7) -> rule4))]
("Dave" "is" "furry" "+")
((triple7) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Anne is not furry.
False
2
inv-proof
[(((triple1) -> rule4))]
("Anne" "is" "furry" "-")
((triple1) -> (rule4 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Dave is cold.
True
5
proof
[(((triple9 ((triple9 triple8) -> rule2)) -> rule1))]
("Dave" "is" "cold" "+")
((triple9 ((triple9 triple8) -> (rule2 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is not cold.
False
5
inv-proof
[(((triple9 ((triple9 triple8) -> rule2)) -> rule1))]
("Dave" "is" "cold" "-")
((triple9 ((triple9 triple8) -> (rule2 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is kind.
True
8
proof
[(((((triple9 ((triple9 triple8) -> rule2)) -> rule1) ((triple7) -> rule4)) -> rule6))]
("Dave" "is" "kind" "+")
((((triple9 ((triple9 triple8) -> (rule2 % int4))) -> (rule1 % int3)) ((triple7) -> (rule4 % int2))) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is not kind.
False
8
inv-proof
[(((((triple9 ((triple9 triple8) -> rule2)) -> rule1) ((triple7) -> rule4)) -> rule6))]
("Dave" "is" "kind" "-")
((((triple9 ((triple9 triple8) -> (rule2 % int4))) -> (rule1 % int3)) ((triple7) -> (rule4 % int2))) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Bob is not smart.
Unknown
inv-rconc
[@1: Bob is smart.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "smart" "-")
Bob is cold.
Unknown
rconc
[@2: Bob is cold.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Bob" "is" "cold" "+")
Anne is not kind.
Unknown
inv-rconc
[@3: Anne is kind.[CWA. Example of deepest failure = (rule6 <- rule1 <- rule2 <- FAIL)]]
("Anne" "is" "kind" "-")
Anne is smart.
Unknown
rconc
[@1: Anne is smart.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "smart" "+")
Bob is not white.
Unknown
inv-random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
@0: Anne is green.[(triple1)] Anne is young.[(triple2)] Bob is furry.[(triple3 OR ((triple4) -> rule4))] Bob is green.[(triple4)] Bob is kind.[(triple5 OR ((triple6 triple4) -> rule3))] Bob is young.[(triple6 OR ((triple5) -> rule5))] Dave is green.[(triple7)] Dave is white.[(triple8)] Dave is young.[(triple9)] Fiona is cold.[(triple10 OR ((triple15 ((triple15 triple14) -> rule2)) -> rule1) OR ((((triple13) -> rule5) ((triple15 triple14) -> rule2)) -> rule1) OR ((triple15 ((((triple13) -> rule5) triple14) -> rule2)) -> rule1) OR ((((triple13) -> rule5) ((((triple13) -> rule5) triple14) -> rule2)) -> rule1))] Fiona is furry.[(triple11 OR ((triple12) -> rule4))] Fiona is green.[(triple12)] Fiona is kind.[(triple13 OR ((triple10 triple11) -> rule6) OR ((triple10 ((triple12) -> rule4)) -> rule6) OR ((((triple15 ((triple15 triple14) -> rule2)) -> rule1) triple11) -> rule6) OR ((((triple15 ((triple15 triple14) -> rule2)) -> rule1) ((triple12) -> rule4)) -> rule6))] Fiona is white.[(triple14)] Fiona is young.[(triple15 OR ((triple13) -> rule5) OR ((((triple10 triple11) -> rule6)) -> rule5) OR ((((triple10 ((triple12) -> rule4)) -> rule6)) -> rule5))] @1: Anne is furry.[(((triple1) -> rule4))] Dave is furry.[(((triple7) -> rule4))] Dave is smart.[(((triple9 triple8) -> rule2))] Fiona is smart.[(((triple15 triple14) -> rule2) OR ((((triple13) -> rule5) triple14) -> rule2) OR ((((((triple10 triple11) -> rule6)) -> rule5) triple14) -> rule2) OR ((((((triple10 ((triple12) -> rule4)) -> rule6)) -> rule5) triple14) -> rule2))] @2: Dave is cold.[(((triple9 ((triple9 triple8) -> rule2)) -> rule1))] @3: Dave is kind.[(((((triple9 ((triple9 triple8) -> rule2)) -> rule1) ((triple7) -> rule4)) -> rule6))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is young.
("Anne" "is" "young" "+")
triple2
Bob is furry.
("Bob" "is" "furry" "+")
triple3
((triple4) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple4
Bob is kind.
("Bob" "is" "kind" "+")
triple5
((triple6 triple4) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple6
((triple5) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple7
Dave is white.
("Dave" "is" "white" "+")
triple8
Dave is young.
("Dave" "is" "young" "+")
triple9
Fiona is cold.
("Fiona" "is" "cold" "+")
triple10
((triple15 ((triple15 triple14) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple13) -> (rule5 % int3)) ((triple15 triple14) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((triple15 ((((triple13) -> (rule5 % int3)) triple14) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((triple13) -> (rule5 % int3)) ((((triple13) -> (rule5 % int3)) triple14) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple11
((triple12) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
triple12
Fiona is kind.
("Fiona" "is" "kind" "+")
triple13
((triple10 triple11) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((triple10 ((triple12) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple15 ((triple15 triple14) -> (rule2 % int3))) -> (rule1 % int2)) triple11) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((triple15 ((triple15 triple14) -> (rule2 % int4))) -> (rule1 % int3)) ((triple12) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is white.
("Fiona" "is" "white" "+")
triple14
Fiona is young.
("Fiona" "is" "young" "+")
triple15
((triple13) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple10 triple11) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((((triple10 ((triple12) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
((triple1) -> (rule4 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple7) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple9 triple8) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple15 triple14) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple13) -> (rule5 % int2)) triple14) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((((triple10 triple11) -> (rule6 % int3))) -> (rule5 % int2)) triple14) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((((triple10 ((triple12) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule5 % int2)) triple14) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
int4
Dave is cold.
("Dave" "is" "cold" "+")
((triple9 ((triple9 triple8) -> (rule2 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
((((triple9 ((triple9 triple8) -> (rule2 % int4))) -> (rule1 % int3)) ((triple7) -> (rule4 % int2))) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4