Anne is quiet. Charlie is big. Charlie is kind. Charlie is red. Charlie is young. Erin is red. Erin is rough. Harry is quiet. Harry is smart. Harry is young. Red, young people are big. Kind, big people are rough. All big, smart people are red. If someone is quiet and smart then they are big. If someone is big then they are kind. All quiet people are young.
Anne is quiet.
("Anne" "is" "quiet" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is young.
("Harry" "is" "young" "+")
Red, young people are big.
((("someone" "is" "red" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "big" "+"))
Kind, big people are rough.
((("someone" "is" "kind" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "rough" "+"))
All big, smart people are red.
((("someone" "is" "big" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "red" "+"))
If someone is quiet and smart then they are big.
((("someone" "is" "quiet" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "big" "+"))
If someone is big then they are kind.
((("someone" "is" "big" "+")) -> ("someone" "is" "kind" "+"))
All quiet people are young.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "young" "+"))
Charlie is big.
True
1
proof
[(triple2 OR ((triple4 triple5) -> rule1))]
("Charlie" "is" "big" "+")
triple2
((triple4 triple5) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is not kind.
False
1
inv-proof
[(triple3 OR ((triple2) -> rule5) OR ((((triple4 triple5) -> rule1)) -> rule5))]
("Charlie" "is" "kind" "-")
triple3
((triple2) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((((triple4 triple5) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is rough.
True
3
proof
[(((triple3 triple2) -> rule2) OR ((triple3 ((triple4 triple5) -> rule1)) -> rule2) OR ((((triple2) -> rule5) triple2) -> rule2) OR ((((triple2) -> rule5) ((triple4 triple5) -> rule1)) -> rule2) OR ((((((triple4 triple5) -> rule1)) -> rule5) triple2) -> rule2) OR ((((((triple4 triple5) -> rule1)) -> rule5) ((triple4 triple5) -> rule1)) -> rule2))]
("Charlie" "is" "rough" "+")
((triple3 triple2) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple3 ((triple4 triple5) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple2) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple2) -> (rule5 % int3)) ((triple4 triple5) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((((triple4 triple5) -> (rule1 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((((((triple4 triple5) -> (rule1 % int3))) -> (rule5 % int2)) ((triple4 triple5) -> (rule1 % int3))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is not rough.
False
3
inv-proof
[(((triple3 triple2) -> rule2) OR ((triple3 ((triple4 triple5) -> rule1)) -> rule2) OR ((((triple2) -> rule5) triple2) -> rule2) OR ((((triple2) -> rule5) ((triple4 triple5) -> rule1)) -> rule2) OR ((((((triple4 triple5) -> rule1)) -> rule5) triple2) -> rule2) OR ((((((triple4 triple5) -> rule1)) -> rule5) ((triple4 triple5) -> rule1)) -> rule2))]
("Charlie" "is" "rough" "-")
((triple3 triple2) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple3 ((triple4 triple5) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple2) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple2) -> (rule5 % int3)) ((triple4 triple5) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((((triple4 triple5) -> (rule1 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((((((triple4 triple5) -> (rule1 % int3))) -> (rule5 % int2)) ((triple4 triple5) -> (rule1 % int3))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Harry is red.
True
5
proof
[(((((triple8 triple9) -> rule4) triple9) -> rule3))]
("Harry" "is" "red" "+")
((((triple8 triple9) -> (rule4 % int2)) triple9) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is not kind.
False
4
inv-proof
[(((((triple8 triple9) -> rule4)) -> rule5))]
("Harry" "is" "kind" "-")
((((triple8 triple9) -> (rule4 % int2))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is rough.
True
8
proof
[(((((((triple8 triple9) -> rule4)) -> rule5) ((triple8 triple9) -> rule4)) -> rule2))]
("Harry" "is" "rough" "+")
((((((triple8 triple9) -> (rule4 % int3))) -> (rule5 % int2)) ((triple8 triple9) -> (rule4 % int3))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is not rough.
False
8
inv-proof
[(((((((triple8 triple9) -> rule4)) -> rule5) ((triple8 triple9) -> rule4)) -> rule2))]
("Harry" "is" "rough" "-")
((((((triple8 triple9) -> (rule4 % int3))) -> (rule5 % int2)) ((triple8 triple9) -> (rule4 % int3))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Erin is not kind.
Unknown
inv-rconc
[@3: Erin is kind.[CWA. Example of deepest failure = (rule5 <- rule1 <- rule6 <- FAIL)]]
("Erin" "is" "kind" "-")
Anne is big.
Unknown
rconc
[@2: Anne is big.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Anne" "is" "big" "+")
Anne is not kind.
Unknown
inv-rconc
[@3: Anne is kind.[CWA. Example of deepest failure = (rule5 <- rule1 <- rule3 <- FAIL)]]
("Anne" "is" "kind" "-")
Anne is rough.
Unknown
rconc
[@3: Anne is rough.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule3 <- FAIL)]]
("Anne" "is" "rough" "+")
Anne is not smart.
Unknown
inv-random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "-")
Charlie is smart.
Unknown
random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "+")
Erin is not quiet.
Unknown
inv-random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "-")
Erin is smart.
Unknown
random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "+")
@0: Anne is quiet.[(triple1)] Charlie is big.[(triple2 OR ((triple4 triple5) -> rule1))] Charlie is kind.[(triple3 OR ((triple2) -> rule5) OR ((((triple4 triple5) -> rule1)) -> rule5))] Charlie is red.[(triple4)] Charlie is young.[(triple5)] Erin is red.[(triple6)] Erin is rough.[(triple7)] Harry is quiet.[(triple8)] Harry is smart.[(triple9)] Harry is young.[(triple10 OR ((triple8) -> rule6))] @1: Anne is young.[(((triple1) -> rule6))] Charlie is rough.[(((triple3 triple2) -> rule2) OR ((triple3 ((triple4 triple5) -> rule1)) -> rule2) OR ((((triple2) -> rule5) triple2) -> rule2) OR ((((triple2) -> rule5) ((triple4 triple5) -> rule1)) -> rule2) OR ((((((triple4 triple5) -> rule1)) -> rule5) triple2) -> rule2) OR ((((((triple4 triple5) -> rule1)) -> rule5) ((triple4 triple5) -> rule1)) -> rule2))] Harry is big.[(((triple8 triple9) -> rule4))] @2: Harry is kind.[(((((triple8 triple9) -> rule4)) -> rule5))] Harry is red.[(((((triple8 triple9) -> rule4) triple9) -> rule3))] @3: Harry is rough.[(((((((triple8 triple9) -> rule4)) -> rule5) ((triple8 triple9) -> rule4)) -> rule2))]
Anne is quiet.
("Anne" "is" "quiet" "+")
triple1
Charlie is big.
("Charlie" "is" "big" "+")
triple2
((triple4 triple5) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
triple3
((triple2) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((((triple4 triple5) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
triple4
Charlie is young.
("Charlie" "is" "young" "+")
triple5
Erin is red.
("Erin" "is" "red" "+")
triple6
Erin is rough.
("Erin" "is" "rough" "+")
triple7
Harry is quiet.
("Harry" "is" "quiet" "+")
triple8
Harry is smart.
("Harry" "is" "smart" "+")
triple9
Harry is young.
("Harry" "is" "young" "+")
triple10
((triple8) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
((triple1) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple3 triple2) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple3 ((triple4 triple5) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple2) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple2) -> (rule5 % int3)) ((triple4 triple5) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((((triple4 triple5) -> (rule1 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((((((triple4 triple5) -> (rule1 % int3))) -> (rule5 % int2)) ((triple4 triple5) -> (rule1 % int3))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
((triple8 triple9) -> (rule4 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((((triple8 triple9) -> (rule4 % int2))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
((((triple8 triple9) -> (rule4 % int2)) triple9) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
((((((triple8 triple9) -> (rule4 % int3))) -> (rule5 % int2)) ((triple8 triple9) -> (rule4 % int3))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3