Bob is cold. Bob is furry. Fiona is blue. Fiona is furry. Fiona is white. Gary is big. Gary is blue. Gary is cold. Gary is furry. Gary is kind. Gary is quiet. Gary is white. If someone is furry and cold then they are kind. If someone is kind then they are white. If someone is furry then they are blue. All kind, cold people are blue. All white people are furry. Kind people are white. Blue people are big. White people are quiet.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is white.
("Gary" "is" "white" "+")
If someone is furry and cold then they are kind.
((("someone" "is" "furry" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "kind" "+"))
If someone is kind then they are white.
((("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
If someone is furry then they are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
All kind, cold people are blue.
((("someone" "is" "kind" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "blue" "+"))
All white people are furry.
((("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
Kind people are white.
((("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
Blue people are big.
((("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
White people are quiet.
((("someone" "is" "white" "+")) -> ("someone" "is" "quiet" "+"))
Fiona is furry.
True
1
proof
[(triple4 OR ((triple5) -> rule5))]
("Fiona" "is" "furry" "+")
triple4
((triple5) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is not furry.
False
1
inv-proof
[(triple4 OR ((triple5) -> rule5))]
("Fiona" "is" "furry" "-")
triple4
((triple5) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Bob is kind.
True
3
proof
[(((triple2 triple1) -> rule1))]
("Bob" "is" "kind" "+")
((triple2 triple1) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Fiona is not quiet.
False
2
inv-proof
[(((triple5) -> rule8))]
("Fiona" "is" "quiet" "-")
((triple5) -> (rule8 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Bob is white.
True
4
proof
[(((((triple2 triple1) -> rule1)) -> rule2) OR ((((triple2 triple1) -> rule1)) -> rule6))]
("Bob" "is" "white" "+")
((((triple2 triple1) -> (rule1 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((((triple2 triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is not big.
False
3
inv-proof
[(((((triple2) -> rule3)) -> rule7) OR ((((((triple2 triple1) -> rule1) triple1) -> rule4)) -> rule7))]
("Bob" "is" "big" "-")
((((triple2) -> (rule3 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((((triple2 triple1) -> (rule1 % int3)) triple1) -> (rule4 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Fiona is not kind.
Unknown
inv-rconc
[@1: Fiona is kind.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "kind" "-")
Fiona is cold.
Unknown
random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "+")
@0: Bob is cold.[(triple1)] Bob is furry.[(triple2)] Fiona is blue.[(triple3 OR ((triple4) -> rule3) OR ((((triple5) -> rule5)) -> rule3))] Fiona is furry.[(triple4 OR ((triple5) -> rule5))] Fiona is white.[(triple5)] Gary is big.[(triple6 OR ((triple7) -> rule7) OR ((((triple9) -> rule3)) -> rule7) OR ((((triple10 triple8) -> rule4)) -> rule7) OR ((((((triple12) -> rule5)) -> rule3)) -> rule7) OR ((((((triple9 triple8) -> rule1) triple8) -> rule4)) -> rule7) OR ((((((((triple10) -> rule2)) -> rule5)) -> rule3)) -> rule7) OR ((((((((triple10) -> rule6)) -> rule5)) -> rule3)) -> rule7) OR ((((((((triple12) -> rule5) triple8) -> rule1) triple8) -> rule4)) -> rule7))] Gary is blue.[(triple7 OR ((triple9) -> rule3) OR ((triple10 triple8) -> rule4) OR ((((triple12) -> rule5)) -> rule3) OR ((((triple9 triple8) -> rule1) triple8) -> rule4) OR ((((((triple10) -> rule2)) -> rule5)) -> rule3) OR ((((((triple10) -> rule6)) -> rule5)) -> rule3) OR ((((((triple12) -> rule5) triple8) -> rule1) triple8) -> rule4))] Gary is cold.[(triple8)] Gary is furry.[(triple9 OR ((triple12) -> rule5) OR ((((triple10) -> rule2)) -> rule5) OR ((((triple10) -> rule6)) -> rule5))] Gary is kind.[(triple10 OR ((triple9 triple8) -> rule1) OR ((((triple12) -> rule5) triple8) -> rule1))] Gary is quiet.[(triple11 OR ((triple12) -> rule8) OR ((((triple10) -> rule2)) -> rule8) OR ((((triple10) -> rule6)) -> rule8) OR ((((((triple9 triple8) -> rule1)) -> rule2)) -> rule8) OR ((((((triple9 triple8) -> rule1)) -> rule6)) -> rule8))] Gary is white.[(triple12 OR ((triple10) -> rule2) OR ((triple10) -> rule6) OR ((((triple9 triple8) -> rule1)) -> rule2) OR ((((triple9 triple8) -> rule1)) -> rule6))] @1: Bob is blue.[(((triple2) -> rule3) OR ((((triple2 triple1) -> rule1) triple1) -> rule4))] Bob is kind.[(((triple2 triple1) -> rule1))] Fiona is big.[(((triple3) -> rule7) OR ((((triple4) -> rule3)) -> rule7) OR ((((((triple5) -> rule5)) -> rule3)) -> rule7))] Fiona is quiet.[(((triple5) -> rule8))] @2: Bob is big.[(((((triple2) -> rule3)) -> rule7) OR ((((((triple2 triple1) -> rule1) triple1) -> rule4)) -> rule7))] Bob is white.[(((((triple2 triple1) -> rule1)) -> rule2) OR ((((triple2 triple1) -> rule1)) -> rule6))] @3: Bob is quiet.[(((((((triple2 triple1) -> rule1)) -> rule2)) -> rule8) OR ((((((triple2 triple1) -> rule1)) -> rule6)) -> rule8))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple3
((triple4) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
((triple5) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
triple5
Gary is big.
("Gary" "is" "big" "+")
triple6
((triple7) -> (rule7 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple9) -> (rule3 % int2))) -> (rule7 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
((((triple10 triple8) -> (rule4 % int2))) -> (rule7 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
((((((triple12) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((triple9 triple8) -> (rule1 % int3)) triple8) -> (rule4 % int2))) -> (rule7 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((((((triple10) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
((((((((triple10) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
((((((((triple12) -> (rule5 % int4)) triple8) -> (rule1 % int3)) triple8) -> (rule4 % int2))) -> (rule7 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
triple7
((triple9) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((triple10 triple8) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((((triple12) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple9 triple8) -> (rule1 % int2)) triple8) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((((triple10) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
((((((triple10) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
((((((triple12) -> (rule5 % int3)) triple8) -> (rule1 % int2)) triple8) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
triple8
Gary is furry.
("Gary" "is" "furry" "+")
triple9
((triple12) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((triple10) -> (rule2 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((triple10) -> (rule6 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
triple10
((triple9 triple8) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple12) -> (rule5 % int2)) triple8) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
triple11
((triple12) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple10) -> (rule2 % int2))) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((triple10) -> (rule6 % int2))) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((((triple9 triple8) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((((((triple9 triple8) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
triple12
((triple10) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((triple10) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((((triple9 triple8) -> (rule1 % int2))) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((triple9 triple8) -> (rule1 % int2))) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
((triple2) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple2 triple1) -> (rule1 % int2)) triple1) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
((triple2 triple1) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
((triple3) -> (rule7 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((triple4) -> (rule3 % int2))) -> (rule7 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((((triple5) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple5) -> (rule8 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((((triple2) -> (rule3 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((((triple2 triple1) -> (rule1 % int3)) triple1) -> (rule4 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
((((triple2 triple1) -> (rule1 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((((triple2 triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
((((((triple2 triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple2 triple1) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3