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