Bob is big. Harry is cold. Harry is green. Red, kind people are cold. All cold people are nice. If someone is kind then they are red. Kind people are red. Big people are kind. If someone is green then they are cold.
Bob is big.
("Bob" "is" "big" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is green.
("Harry" "is" "green" "+")
Red, kind people are cold.
((("someone" "is" "red" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "cold" "+"))
All cold people are nice.
((("someone" "is" "cold" "+")) -> ("someone" "is" "nice" "+"))
If someone is kind then they are red.
((("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
Kind people are red.
((("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
Big people are kind.
((("someone" "is" "big" "+")) -> ("someone" "is" "kind" "+"))
If someone is green then they are cold.
((("someone" "is" "green" "+")) -> ("someone" "is" "cold" "+"))
Harry is green.
True
1
proof
[(triple3)]
("Harry" "is" "green" "+")
triple3
Bob is not big.
False
1
inv-proof
[(triple1)]
("Bob" "is" "big" "-")
triple1
Harry is nice.
True
2
proof
[(((triple2) -> rule2) OR ((((triple3) -> rule6)) -> rule2))]
("Harry" "is" "nice" "+")
((triple2) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((((triple3) -> (rule6 % int2))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Bob is not kind.
False
2
inv-proof
[(((triple1) -> rule5))]
("Bob" "is" "kind" "-")
((triple1) -> (rule5 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is red.
True
3
proof
[(((((triple1) -> rule5)) -> rule3) OR ((((triple1) -> rule5)) -> rule4))]
("Bob" "is" "red" "+")
((((triple1) -> (rule5 % int2))) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((((triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is not red.
False
3
inv-proof
[(((((triple1) -> rule5)) -> rule3) OR ((((triple1) -> rule5)) -> rule4))]
("Bob" "is" "red" "-")
((((triple1) -> (rule5 % int2))) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((((triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is cold.
True
6
proof
[(((((((triple1) -> rule5)) -> rule3) ((triple1) -> rule5)) -> rule1) OR ((((((triple1) -> rule5)) -> rule4) ((triple1) -> rule5)) -> rule1))]
("Bob" "is" "cold" "+")
((((((triple1) -> (rule5 % int3))) -> (rule3 % int2)) ((triple1) -> (rule5 % int3))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple1) -> (rule5 % int3))) -> (rule4 % int2)) ((triple1) -> (rule5 % int3))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is not cold.
False
6
inv-proof
[(((((((triple1) -> rule5)) -> rule3) ((triple1) -> rule5)) -> rule1) OR ((((((triple1) -> rule5)) -> rule4) ((triple1) -> rule5)) -> rule1))]
("Bob" "is" "cold" "-")
((((((triple1) -> (rule5 % int3))) -> (rule3 % int2)) ((triple1) -> (rule5 % int3))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple1) -> (rule5 % int3))) -> (rule4 % int2)) ((triple1) -> (rule5 % int3))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Harry is not red.
Unknown
inv-rconc
[@2: Harry is red.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Harry" "is" "red" "-")
Harry is kind.
Unknown
rconc
[@1: Harry is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "kind" "+")
Harry is not big.
Unknown
inv-random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
Bob is not green.
Unknown
inv-random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "-")
Bob is smart.
Unknown
random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "+")
@0: Bob is big.[(triple1)] Harry is cold.[(triple2 OR ((triple3) -> rule6))] Harry is green.[(triple3)] @1: Bob is kind.[(((triple1) -> rule5))] Harry is nice.[(((triple2) -> rule2) OR ((((triple3) -> rule6)) -> rule2))] @2: Bob is red.[(((((triple1) -> rule5)) -> rule3) OR ((((triple1) -> rule5)) -> rule4))] @3: Bob is cold.[(((((((triple1) -> rule5)) -> rule3) ((triple1) -> rule5)) -> rule1) OR ((((((triple1) -> rule5)) -> rule4) ((triple1) -> rule5)) -> rule1))] @4: Bob is nice.[(((((((((triple1) -> rule5)) -> rule3) ((triple1) -> rule5)) -> rule1)) -> rule2) OR ((((((((triple1) -> rule5)) -> rule4) ((triple1) -> rule5)) -> rule1)) -> rule2))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Harry is cold.
("Harry" "is" "cold" "+")
triple2
((triple3) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
triple3
Bob is kind.
("Bob" "is" "kind" "+")
((triple1) -> (rule5 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((triple2) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((((triple3) -> (rule6 % int2))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
((((triple1) -> (rule5 % int2))) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((((triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
((((((triple1) -> (rule5 % int3))) -> (rule3 % int2)) ((triple1) -> (rule5 % int3))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple1) -> (rule5 % int3))) -> (rule4 % int2)) ((triple1) -> (rule5 % int3))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
((((((((triple1) -> (rule5 % int4))) -> (rule3 % int3)) ((triple1) -> (rule5 % int4))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
((((((((triple1) -> (rule5 % int4))) -> (rule4 % int3)) ((triple1) -> (rule5 % int4))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4