Bob is blue. Charlie is blue. Charlie is nice. Fiona is blue. Fiona is furry. Fiona is kind. Fiona is nice. Fiona is red. Fiona is smart. Fiona is white. All nice, kind things are smart. All kind, smart things are white. Furry things are blue. All blue things are white. If something is blue and furry then it is kind. If Charlie is white then Charlie is kind.
Bob is blue.
("Bob" "is" "blue" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
All nice, kind things are smart.
((("something" "is" "nice" "+") ("something" "is" "kind" "+")) -> ("something" "is" "smart" "+"))
All kind, smart things are white.
((("something" "is" "kind" "+") ("something" "is" "smart" "+")) -> ("something" "is" "white" "+"))
Furry things are blue.
((("something" "is" "furry" "+")) -> ("something" "is" "blue" "+"))
All blue things are white.
((("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
If something is blue and furry then it is kind.
((("something" "is" "blue" "+") ("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
If Charlie is white then Charlie is kind.
((("Charlie" "is" "white" "+")) -> ("Charlie" "is" "kind" "+"))
Fiona is furry.
True
1
proof
[(triple5)]
("Fiona" "is" "furry" "+")
triple5
Charlie is not blue.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "blue" "-")
triple2
Bob is white.
True
2
proof
[(((triple1) -> rule4))]
("Bob" "is" "white" "+")
((triple1) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is not white.
False
2
inv-proof
[(((triple1) -> rule4))]
("Bob" "is" "white" "-")
((triple1) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Charlie is kind.
True
3
proof
[(((((triple2) -> rule4)) -> rule6))]
("Charlie" "is" "kind" "+")
((((triple2) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is not kind.
False
3
inv-proof
[(((((triple2) -> rule4)) -> rule6))]
("Charlie" "is" "kind" "-")
((((triple2) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is smart.
True
5
proof
[(((triple3 ((((triple2) -> rule4)) -> rule6)) -> rule1))]
("Charlie" "is" "smart" "+")
((triple3 ((((triple2) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is not smart.
False
5
inv-proof
[(((triple3 ((((triple2) -> rule4)) -> rule6)) -> rule1))]
("Charlie" "is" "smart" "-")
((triple3 ((((triple2) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Bob is not smart.
Unknown
inv-rconc
[@1: Bob is smart.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "smart" "-")
Bob is kind.
Unknown
rconc
[@1: Bob is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "kind" "+")
Bob is not red.
Unknown
inv-random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
Bob is not nice.
Unknown
inv-random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "-")
Charlie is red.
Unknown
random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "+")
@0: Bob is blue.[(triple1)] Charlie is blue.[(triple2)] Charlie is nice.[(triple3)] Fiona is blue.[(triple4 OR ((triple5) -> rule3))] Fiona is furry.[(triple5)] Fiona is kind.[(triple6 OR ((triple4 triple5) -> rule5) OR ((((triple5) -> rule3) triple5) -> rule5))] Fiona is nice.[(triple7)] Fiona is red.[(triple8)] Fiona is smart.[(triple9 OR ((triple7 triple6) -> rule1) OR ((triple7 ((triple4 triple5) -> rule5)) -> rule1) OR ((triple7 ((((triple5) -> rule3) triple5) -> rule5)) -> rule1))] Fiona is white.[(triple10 OR ((triple4) -> rule4) OR ((triple6 triple9) -> rule2) OR ((((triple5) -> rule3)) -> rule4) OR ((triple6 ((triple7 triple6) -> rule1)) -> rule2) OR ((((triple4 triple5) -> rule5) triple9) -> rule2) OR ((((triple4 triple5) -> rule5) ((triple7 triple6) -> rule1)) -> rule2) OR ((triple6 ((triple7 ((triple4 triple5) -> rule5)) -> rule1)) -> rule2) OR ((((((triple5) -> rule3) triple5) -> rule5) triple9) -> rule2) OR ((((triple4 triple5) -> rule5) ((triple7 ((triple4 triple5) -> rule5)) -> rule1)) -> rule2) OR ((((((triple5) -> rule3) triple5) -> rule5) ((triple7 triple6) -> rule1)) -> rule2) OR ((((((triple5) -> rule3) triple5) -> rule5) ((triple7 ((triple4 triple5) -> rule5)) -> rule1)) -> rule2) OR ((triple6 ((triple7 ((((triple5) -> rule3) triple5) -> rule5)) -> rule1)) -> rule2) OR ((((triple4 triple5) -> rule5) ((triple7 ((((triple5) -> rule3) triple5) -> rule5)) -> rule1)) -> rule2) OR ((((((triple5) -> rule3) triple5) -> rule5) ((triple7 ((((triple5) -> rule3) triple5) -> rule5)) -> rule1)) -> rule2))] @1: Bob is white.[(((triple1) -> rule4))] Charlie is white.[(((triple2) -> rule4))] @2: Charlie is kind.[(((((triple2) -> rule4)) -> rule6))] @3: Charlie is smart.[(((triple3 ((((triple2) -> rule4)) -> rule6)) -> rule1))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Charlie is nice.
("Charlie" "is" "nice" "+")
triple3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple4
((triple5) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple5
Fiona is kind.
("Fiona" "is" "kind" "+")
triple6
((triple4 triple5) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((((triple5) -> (rule3 % int2)) triple5) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple7
Fiona is red.
("Fiona" "is" "red" "+")
triple8
Fiona is smart.
("Fiona" "is" "smart" "+")
triple9
((triple7 triple6) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple7 ((triple4 triple5) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((triple7 ((((triple5) -> (rule3 % int3)) triple5) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
triple10
((triple4) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((triple6 triple9) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((triple5) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((triple6 ((triple7 triple6) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple4 triple5) -> (rule5 % int2)) triple9) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((((triple4 triple5) -> (rule5 % int3)) ((triple7 triple6) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((triple6 ((triple7 ((triple4 triple5) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((((triple5) -> (rule3 % int3)) triple5) -> (rule5 % int2)) triple9) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((triple4 triple5) -> (rule5 % int3)) ((triple7 ((triple4 triple5) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((((triple5) -> (rule3 % int4)) triple5) -> (rule5 % int3)) ((triple7 triple6) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((((((triple5) -> (rule3 % int4)) triple5) -> (rule5 % int3)) ((triple7 ((triple4 triple5) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((triple6 ((triple7 ((((triple5) -> (rule3 % int4)) triple5) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((((triple4 triple5) -> (rule5 % int4)) ((triple7 ((((triple5) -> (rule3 % int3)) triple5) -> (rule5 % int4))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
int4
((((((triple5) -> (rule3 % int4)) triple5) -> (rule5 % int3)) ((triple7 ((((triple5) -> (rule3 % int4)) triple5) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Bob is white.
("Bob" "is" "white" "+")
((triple1) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
((triple2) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((((triple2) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple3 ((((triple2) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3