Anne is green. Anne is kind. Anne is rough. Anne is smart. Anne is white. Charlie is green. Charlie is white. Gary is quiet. Gary is smart. Harry is green. Harry is kind. Harry is quiet. Harry is smart. Harry is white. All kind people are rough. All young, green people are kind. If someone is quiet then they are young. Young, rough people are white. If Charlie is young then Charlie is smart. Kind, white people are green. If Anne is smart then Anne is rough. If someone is young then they are green.
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is white.
("Anne" "is" "white" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is white.
("Harry" "is" "white" "+")
All kind people are rough.
((("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "+"))
All young, green people are kind.
((("someone" "is" "young" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
If someone is quiet then they are young.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "young" "+"))
Young, rough people are white.
((("someone" "is" "young" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
If Charlie is young then Charlie is smart.
((("Charlie" "is" "young" "+")) -> ("Charlie" "is" "smart" "+"))
Kind, white people are green.
((("someone" "is" "kind" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "green" "+"))
If Anne is smart then Anne is rough.
((("Anne" "is" "smart" "+")) -> ("Anne" "is" "rough" "+"))
If someone is young then they are green.
((("someone" "is" "young" "+")) -> ("someone" "is" "green" "+"))
Gary is smart.
True
1
proof
[(triple9)]
("Gary" "is" "smart" "+")
triple9
Anne is not rough.
False
1
inv-proof
[(triple3 OR ((triple2) -> rule1) OR ((triple4) -> rule7))]
("Anne" "is" "rough" "-")
triple3
((triple2) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((triple4) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Harry is rough.
True
2
proof
[(((triple11) -> rule1) OR ((((((triple12) -> rule3) triple10) -> rule2)) -> rule1) OR ((((((triple12) -> rule3) ((((triple12) -> rule3)) -> rule8)) -> rule2)) -> rule1))]
("Harry" "is" "rough" "+")
((triple11) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((((triple12) -> (rule3 % int3)) triple10) -> (rule2 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((triple12) -> (rule3 % int4)) ((((triple12) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is not young.
False
2
inv-proof
[(((triple12) -> rule3))]
("Harry" "is" "young" "-")
((triple12) -> (rule3 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Gary is green.
True
3
proof
[(((((triple8) -> rule3)) -> rule8))]
("Gary" "is" "green" "+")
((((triple8) -> (rule3 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is not green.
False
3
inv-proof
[(((((triple8) -> rule3)) -> rule8))]
("Gary" "is" "green" "-")
((((triple8) -> (rule3 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is kind.
True
6
proof
[(((((triple8) -> rule3) ((((triple8) -> rule3)) -> rule8)) -> rule2))]
("Gary" "is" "kind" "+")
((((triple8) -> (rule3 % int3)) ((((triple8) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is not kind.
False
6
inv-proof
[(((((triple8) -> rule3) ((((triple8) -> rule3)) -> rule8)) -> rule2))]
("Gary" "is" "kind" "-")
((((triple8) -> (rule3 % int3)) ((((triple8) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is rough.
True
7
proof
[(((((((triple8) -> rule3) ((((triple8) -> rule3)) -> rule8)) -> rule2)) -> rule1))]
("Gary" "is" "rough" "+")
((((((triple8) -> (rule3 % int4)) ((((triple8) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is not rough.
False
7
inv-proof
[(((((((triple8) -> rule3) ((((triple8) -> rule3)) -> rule8)) -> rule2)) -> rule1))]
("Gary" "is" "rough" "-")
((((((triple8) -> (rule3 % int4)) ((((triple8) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is white.
True
10
proof
[(((((triple8) -> rule3) ((((((triple8) -> rule3) ((((triple8) -> rule3)) -> rule8)) -> rule2)) -> rule1)) -> rule4))]
("Gary" "is" "white" "+")
((((triple8) -> (rule3 % int5)) ((((((triple8) -> (rule3 % int5)) ((((triple8) -> (rule3 % int5))) -> (rule8 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
int5
Gary is not white.
False
10
inv-proof
[(((((triple8) -> rule3) ((((((triple8) -> rule3) ((((triple8) -> rule3)) -> rule8)) -> rule2)) -> rule1)) -> rule4))]
("Gary" "is" "white" "-")
((((triple8) -> (rule3 % int5)) ((((((triple8) -> (rule3 % int5)) ((((triple8) -> (rule3 % int5))) -> (rule8 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
int5
Charlie is not rough.
Unknown
inv-rconc
[@3: Charlie is rough.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule3 <- FAIL)]]
("Charlie" "is" "rough" "-")
Anne is young.
Unknown
rconc
[@1: Anne is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "young" "+")
Charlie is not young.
Unknown
inv-rconc
[@1: Charlie is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Charlie" "is" "young" "-")
Charlie is smart.
Unknown
rconc
[@2: Charlie is smart.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Charlie" "is" "smart" "+")
Charlie is not kind.
Unknown
inv-rconc
[@2: Charlie is kind.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Charlie" "is" "kind" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
@0: Anne is green.[(triple1 OR ((triple2 triple5) -> rule6))] Anne is kind.[(triple2)] Anne is rough.[(triple3 OR ((triple2) -> rule1) OR ((triple4) -> rule7))] Anne is smart.[(triple4)] Anne is white.[(triple5)] Charlie is green.[(triple6)] Charlie is white.[(triple7)] Gary is quiet.[(triple8)] Gary is smart.[(triple9)] Harry is green.[(triple10 OR ((triple11 triple14) -> rule6) OR ((((triple12) -> rule3)) -> rule8) OR ((triple11 ((((triple12) -> rule3) ((triple11) -> rule1)) -> rule4)) -> rule6))] Harry is kind.[(triple11 OR ((((triple12) -> rule3) triple10) -> rule2) OR ((((triple12) -> rule3) ((((triple12) -> rule3)) -> rule8)) -> rule2))] Harry is quiet.[(triple12)] Harry is smart.[(triple13)] Harry is white.[(triple14 OR ((((triple12) -> rule3) ((triple11) -> rule1)) -> rule4) OR ((((triple12) -> rule3) ((((((triple12) -> rule3) triple10) -> rule2)) -> rule1)) -> rule4) OR ((((triple12) -> rule3) ((((((triple12) -> rule3) ((((triple12) -> rule3)) -> rule8)) -> rule2)) -> rule1)) -> rule4))] @1: Gary is young.[(((triple8) -> rule3))] Harry is rough.[(((triple11) -> rule1) OR ((((((triple12) -> rule3) triple10) -> rule2)) -> rule1) OR ((((((triple12) -> rule3) ((((triple12) -> rule3)) -> rule8)) -> rule2)) -> rule1))] Harry is young.[(((triple12) -> rule3))] @2: Gary is green.[(((((triple8) -> rule3)) -> rule8))] @3: Gary is kind.[(((((triple8) -> rule3) ((((triple8) -> rule3)) -> rule8)) -> rule2))] @4: Gary is rough.[(((((((triple8) -> rule3) ((((triple8) -> rule3)) -> rule8)) -> rule2)) -> rule1))] @5: Gary is white.[(((((triple8) -> rule3) ((((((triple8) -> rule3) ((((triple8) -> rule3)) -> rule8)) -> rule2)) -> rule1)) -> rule4))]
Anne is green.
("Anne" "is" "green" "+")
triple1
((triple2 triple5) -> (rule6 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
((triple2) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((triple4) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
triple4
Anne is white.
("Anne" "is" "white" "+")
triple5
Charlie is green.
("Charlie" "is" "green" "+")
triple6
Charlie is white.
("Charlie" "is" "white" "+")
triple7
Gary is quiet.
("Gary" "is" "quiet" "+")
triple8
Gary is smart.
("Gary" "is" "smart" "+")
triple9
Harry is green.
("Harry" "is" "green" "+")
triple10
((triple11 triple14) -> (rule6 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
((((triple12) -> (rule3 % int2))) -> (rule8 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((triple11 ((((triple12) -> (rule3 % int4)) ((triple11) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is kind.
("Harry" "is" "kind" "+")
triple11
((((triple12) -> (rule3 % int2)) triple10) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((triple12) -> (rule3 % int3)) ((((triple12) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
triple12
Harry is smart.
("Harry" "is" "smart" "+")
triple13
Harry is white.
("Harry" "is" "white" "+")
triple14
((((triple12) -> (rule3 % int3)) ((triple11) -> (rule1 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((triple12) -> (rule3 % int4)) ((((((triple12) -> (rule3 % int4)) triple10) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
((((triple12) -> (rule3 % int5)) ((((((triple12) -> (rule3 % int5)) ((((triple12) -> (rule3 % int5))) -> (rule8 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Harry is young.
("Harry" "is" "young" "+")
int5
Gary is young.
("Gary" "is" "young" "+")
((triple8) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
((triple11) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((((triple12) -> (rule3 % int3)) triple10) -> (rule2 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((triple12) -> (rule3 % int4)) ((((triple12) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is young.
("Harry" "is" "young" "+")
((triple12) -> (rule3 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((((triple8) -> (rule3 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((((triple8) -> (rule3 % int3)) ((((triple8) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
((((((triple8) -> (rule3 % int4)) ((((triple8) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
((((triple8) -> (rule3 % int5)) ((((((triple8) -> (rule3 % int5)) ((((triple8) -> (rule3 % int5))) -> (rule8 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
int5