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