Bob is kind. Harry is cold. Harry is green. Harry is kind. Harry is red. Harry is rough. Harry is white. Red, white people are rough. If someone is kind then they are white. If someone is cold then they are green. If Harry is green and Harry is red then Harry is cold. If someone is white then they are cold. If Harry is rough then Harry is white.
Bob is kind.
("Bob" "is" "kind" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
Red, white people are rough.
((("someone" "is" "red" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "rough" "+"))
If someone is kind then they are white.
((("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
If someone is cold then they are green.
((("someone" "is" "cold" "+")) -> ("someone" "is" "green" "+"))
If Harry is green and Harry is red then Harry is cold.
((("Harry" "is" "green" "+") ("Harry" "is" "red" "+")) -> ("Harry" "is" "cold" "+"))
If someone is white then they are cold.
((("someone" "is" "white" "+")) -> ("someone" "is" "cold" "+"))
If Harry is rough then Harry is white.
((("Harry" "is" "rough" "+")) -> ("Harry" "is" "white" "+"))
Harry is white.
True
1
proof
[(triple7 OR ((triple4) -> rule2) OR ((triple6) -> rule6))]
("Harry" "is" "white" "+")
triple7
((triple4) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((triple6) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is not green.
False
1
inv-proof
[(triple3 OR ((triple2) -> rule3) OR ((((triple7) -> rule5)) -> rule3) OR ((((((triple4) -> rule2)) -> rule5)) -> rule3) OR ((((((triple6) -> rule6)) -> rule5)) -> rule3))]
("Harry" "is" "green" "-")
triple3
((triple2) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
((((triple7) -> (rule5 % int2))) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
((((((triple4) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
((((((triple6) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Bob is white.
True
2
proof
[(((triple1) -> rule2))]
("Bob" "is" "white" "+")
((triple1) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is not white.
False
2
inv-proof
[(((triple1) -> rule2))]
("Bob" "is" "white" "-")
((triple1) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is cold.
True
3
proof
[(((((triple1) -> rule2)) -> rule5))]
("Bob" "is" "cold" "+")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is not cold.
False
3
inv-proof
[(((((triple1) -> rule2)) -> rule5))]
("Bob" "is" "cold" "-")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is green.
True
4
proof
[(((((((triple1) -> rule2)) -> rule5)) -> rule3))]
("Bob" "is" "green" "+")
((((((triple1) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is not green.
False
4
inv-proof
[(((((((triple1) -> rule2)) -> rule5)) -> rule3))]
("Bob" "is" "green" "-")
((((((triple1) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is not rough.
Unknown
inv-rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "rough" "-")
Harry is furry.
Unknown
random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "+")
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" "+")
@0: Bob is kind.[(triple1)] Harry is cold.[(triple2 OR ((triple7) -> rule5) OR ((triple3 triple5) -> rule4) OR ((((triple4) -> rule2)) -> rule5) OR ((((triple6) -> rule6)) -> rule5))] Harry is green.[(triple3 OR ((triple2) -> rule3) OR ((((triple7) -> rule5)) -> rule3) OR ((((((triple4) -> rule2)) -> rule5)) -> rule3) OR ((((((triple6) -> rule6)) -> rule5)) -> rule3))] Harry is kind.[(triple4)] Harry is red.[(triple5)] Harry is rough.[(triple6 OR ((triple5 triple7) -> rule1) OR ((triple5 ((triple4) -> rule2)) -> rule1))] Harry is white.[(triple7 OR ((triple4) -> rule2) OR ((triple6) -> rule6))] @1: Bob is white.[(((triple1) -> rule2))] @2: Bob is cold.[(((((triple1) -> rule2)) -> rule5))] @3: Bob is green.[(((((((triple1) -> rule2)) -> rule5)) -> rule3))]
Bob is kind.
("Bob" "is" "kind" "+")
triple1
Harry is cold.
("Harry" "is" "cold" "+")
triple2
((triple7) -> (rule5 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((triple3 triple5) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((((triple4) -> (rule2 % int2))) -> (rule5 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((((triple6) -> (rule6 % int2))) -> (rule5 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
triple3
((triple2) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
((((triple7) -> (rule5 % int2))) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
((((((triple4) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
((((((triple6) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
triple4
Harry is red.
("Harry" "is" "red" "+")
triple5
Harry is rough.
("Harry" "is" "rough" "+")
triple6
((triple5 triple7) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple5 ((triple4) -> (rule2 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
triple7
((triple4) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((triple6) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
((triple1) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
((((((triple1) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3