Anne is big. Anne is furry. Harry is big. Harry is furry. Harry is not kind. Harry is rough. Harry is young. Young things are big. If something is kind then it is big. If Anne is green then Anne is young. All big, green things are kind. If something is rough and big then it is not kind. If Anne is rough then Anne is furry. Big, furry things are rough. If Anne is furry and Anne is not rough then Anne is quiet.
Anne is big.
("Anne" "is" "big" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is not kind.
("Harry" "is" "kind" "-")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is young.
("Harry" "is" "young" "+")
Young things are big.
((("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
If something is kind then it is big.
((("something" "is" "kind" "+")) -> ("something" "is" "big" "+"))
If Anne is green then Anne is young.
((("Anne" "is" "green" "+")) -> ("Anne" "is" "young" "+"))
All big, green things are kind.
((("something" "is" "big" "+") ("something" "is" "green" "+")) -> ("something" "is" "kind" "+"))
If something is rough and big then it is not kind.
((("something" "is" "rough" "+") ("something" "is" "big" "+")) -> ("something" "is" "kind" "-"))
If Anne is rough then Anne is furry.
((("Anne" "is" "rough" "+")) -> ("Anne" "is" "furry" "+"))
Big, furry things are rough.
((("something" "is" "big" "+") ("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If Anne is furry and Anne is not rough then Anne is quiet.
((("Anne" "is" "furry" "+") ("Anne" "is" "rough" "~")) -> ("Anne" "is" "quiet" "+"))
Harry is not kind.
True
1
proof
[(triple5 OR ((triple6 triple3) -> rule5) OR ((triple6 ((triple7) -> rule1)) -> rule5) OR ((((triple3 triple4) -> rule7) triple3) -> rule5) OR ((((triple3 triple4) -> rule7) ((triple7) -> rule1)) -> rule5) OR ((((((triple7) -> rule1) triple4) -> rule7) triple3) -> rule5) OR ((((((triple7) -> rule1) triple4) -> rule7) ((triple7) -> rule1)) -> rule5))]
("Harry" "is" "kind" "-")
triple5
((triple6 triple3) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
((triple6 ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple3 triple4) -> (rule7 % int2)) triple3) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple3 triple4) -> (rule7 % int3)) ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((((triple7) -> (rule1 % int3)) triple4) -> (rule7 % int2)) triple3) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((((((triple7) -> (rule1 % int3)) triple4) -> (rule7 % int2)) ((triple7) -> (rule1 % int3))) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is not big.
False
1
inv-proof
[(triple3 OR ((triple7) -> rule1))]
("Harry" "is" "big" "-")
triple3
((triple7) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Anne is rough.
True
3
proof
[(((triple1 triple2) -> rule7))]
("Anne" "is" "rough" "+")
((triple1 triple2) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is not rough.
False
3
inv-proof
[(((triple1 triple2) -> rule7))]
("Anne" "is" "rough" "-")
((triple1 triple2) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is not kind.
True
5
proof
[(((((triple1 triple2) -> rule7) triple1) -> rule5))]
("Anne" "is" "kind" "-")
((((triple1 triple2) -> (rule7 % int2)) triple1) -> (rule5 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is kind.
False
5
inv-proof
[(((((triple1 triple2) -> rule7) triple1) -> rule5))]
("Anne" "is" "kind" "+")
((((triple1 triple2) -> (rule7 % int2)) triple1) -> (rule5 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is not quiet.
Unknown
inv-rconc
[@1: Anne is quiet.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Anne" "is" "quiet" "-")
Anne is young.
Unknown
rconc
[@1: Anne is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "young" "+")
Harry is not quiet.
Unknown
inv-random
[@0: Harry is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "quiet" "-")
Anne is green.
Unknown
random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "+")
@0: Anne is big.[(triple1)] Anne is furry.[(triple2)] Harry is big.[(triple3 OR ((triple7) -> rule1))] Harry is furry.[(triple4)] Harry is not kind.[(triple5 OR ((triple6 triple3) -> rule5) OR ((triple6 ((triple7) -> rule1)) -> rule5) OR ((((triple3 triple4) -> rule7) triple3) -> rule5) OR ((((triple3 triple4) -> rule7) ((triple7) -> rule1)) -> rule5) OR ((((((triple7) -> rule1) triple4) -> rule7) triple3) -> rule5) OR ((((((triple7) -> rule1) triple4) -> rule7) ((triple7) -> rule1)) -> rule5))] Harry is rough.[(triple6 OR ((triple3 triple4) -> rule7) OR ((((triple7) -> rule1) triple4) -> rule7))] Harry is young.[(triple7)] @1: Anne is rough.[(((triple1 triple2) -> rule7))] @2: Anne is not kind.[(((((triple1 triple2) -> rule7) triple1) -> rule5))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Harry is big.
("Harry" "is" "big" "+")
triple3
((triple7) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
triple4
Harry is not kind.
("Harry" "is" "kind" "-")
triple5
((triple6 triple3) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
((triple6 ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple3 triple4) -> (rule7 % int2)) triple3) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple3 triple4) -> (rule7 % int3)) ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((((triple7) -> (rule1 % int3)) triple4) -> (rule7 % int2)) triple3) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((((((triple7) -> (rule1 % int3)) triple4) -> (rule7 % int2)) ((triple7) -> (rule1 % int3))) -> (rule5 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
triple6
((triple3 triple4) -> (rule7 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((triple7) -> (rule1 % int2)) triple4) -> (rule7 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
triple7
Anne is rough.
("Anne" "is" "rough" "+")
((triple1 triple2) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is not kind.
("Anne" "is" "kind" "-")
((((triple1 triple2) -> (rule7 % int2)) triple1) -> (rule5 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2