Bob is green. Bob is kind. Bob is nice. Charlie is cold. Charlie is green. Charlie is rough. Erin is cold. Erin is kind. Erin is quiet. Erin is rough. Rough things are nice. Green, kind things are big. If something is rough then it is cold. All rough, nice things are kind. Nice things are kind. Big, rough things are kind.
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Rough things are nice.
((("something" "is" "rough" "+")) -> ("something" "is" "nice" "+"))
Green, kind things are big.
((("something" "is" "green" "+") ("something" "is" "kind" "+")) -> ("something" "is" "big" "+"))
If something is rough then it is cold.
((("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
All rough, nice things are kind.
((("something" "is" "rough" "+") ("something" "is" "nice" "+")) -> ("something" "is" "kind" "+"))
Nice things are kind.
((("something" "is" "nice" "+")) -> ("something" "is" "kind" "+"))
Big, rough things are kind.
((("something" "is" "big" "+") ("something" "is" "rough" "+")) -> ("something" "is" "kind" "+"))
Bob is nice.
True
1
proof
[(triple3)]
("Bob" "is" "nice" "+")
triple3
Charlie is not rough.
False
1
inv-proof
[(triple6)]
("Charlie" "is" "rough" "-")
triple6
Charlie is nice.
True
2
proof
[(((triple6) -> rule1))]
("Charlie" "is" "nice" "+")
((triple6) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not nice.
False
2
inv-proof
[(((triple6) -> rule1))]
("Charlie" "is" "nice" "-")
((triple6) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is kind.
True
3
proof
[(((((triple6) -> rule1)) -> rule5) OR ((triple6 ((triple6) -> rule1)) -> rule4))]
("Charlie" "is" "kind" "+")
((((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((triple6 ((triple6) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is not kind.
False
3
inv-proof
[(((((triple6) -> rule1)) -> rule5) OR ((triple6 ((triple6) -> rule1)) -> rule4))]
("Charlie" "is" "kind" "-")
((((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((triple6 ((triple6) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is big.
True
5
proof
[(((triple5 ((((triple6) -> rule1)) -> rule5)) -> rule2) OR ((triple5 ((triple6 ((triple6) -> rule1)) -> rule4)) -> rule2))]
("Charlie" "is" "big" "+")
((triple5 ((((triple6) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((triple5 ((triple6 ((triple6) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is not big.
False
5
inv-proof
[(((triple5 ((((triple6) -> rule1)) -> rule5)) -> rule2) OR ((triple5 ((triple6 ((triple6) -> rule1)) -> rule4)) -> rule2))]
("Charlie" "is" "big" "-")
((triple5 ((((triple6) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((triple5 ((triple6 ((triple6) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Erin is not big.
Unknown
inv-rconc
[@1: Erin is big.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "big" "-")
Bob is cold.
Unknown
rconc
[@1: Bob is cold.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "cold" "+")
Bob is not quiet.
Unknown
inv-random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "-")
Erin is green.
Unknown
random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "+")
Charlie is not quiet.
Unknown
inv-random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
@0: Bob is green.[(triple1)] Bob is kind.[(triple2 OR ((triple3) -> rule5))] Bob is nice.[(triple3)] Charlie is cold.[(triple4 OR ((triple6) -> rule3))] Charlie is green.[(triple5)] Charlie is rough.[(triple6)] Erin is cold.[(triple7 OR ((triple10) -> rule3))] Erin is kind.[(triple8 OR ((((triple10) -> rule1)) -> rule5) OR ((triple10 ((triple10) -> rule1)) -> rule4))] Erin is quiet.[(triple9)] Erin is rough.[(triple10)] @1: Bob is big.[(((triple1 triple2) -> rule2) OR ((triple1 ((triple3) -> rule5)) -> rule2))] Charlie is nice.[(((triple6) -> rule1))] Erin is nice.[(((triple10) -> rule1))] @2: Charlie is kind.[(((((triple6) -> rule1)) -> rule5) OR ((triple6 ((triple6) -> rule1)) -> rule4))] @3: Charlie is big.[(((triple5 ((((triple6) -> rule1)) -> rule5)) -> rule2) OR ((triple5 ((triple6 ((triple6) -> rule1)) -> rule4)) -> rule2))]
Bob is green.
("Bob" "is" "green" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
((triple3) -> (rule5 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
triple3
Charlie is cold.
("Charlie" "is" "cold" "+")
triple4
((triple6) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
triple5
Charlie is rough.
("Charlie" "is" "rough" "+")
triple6
Erin is cold.
("Erin" "is" "cold" "+")
triple7
((triple10) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
triple8
((((triple10) -> (rule1 % int2))) -> (rule5 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((triple10 ((triple10) -> (rule1 % int2))) -> (rule4 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
triple9
Erin is rough.
("Erin" "is" "rough" "+")
triple10
Bob is big.
("Bob" "is" "big" "+")
((triple1 triple2) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple1 ((triple3) -> (rule5 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple6) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple10) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((triple6 ((triple6) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
((triple5 ((((triple6) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((triple5 ((triple6 ((triple6) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3