Anne is green. Anne is smart. Anne is young. Dave is big. Dave is young. Gary is green. Gary is kind. Gary is round. Gary is young. Harry is smart. All smart, green things are round. If something is smart then it is kind. All smart, green things are white. All white things are big. If Dave is white and Dave is young then Dave is green. All kind, young things are white. All young things are smart.
Anne is green.
("Anne" "is" "green" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is young.
("Anne" "is" "young" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is young.
("Dave" "is" "young" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is smart.
("Harry" "is" "smart" "+")
All smart, green things are round.
((("something" "is" "smart" "+") ("something" "is" "green" "+")) -> ("something" "is" "round" "+"))
If something is smart then it is kind.
((("something" "is" "smart" "+")) -> ("something" "is" "kind" "+"))
All smart, green things are white.
((("something" "is" "smart" "+") ("something" "is" "green" "+")) -> ("something" "is" "white" "+"))
All white things are big.
((("something" "is" "white" "+")) -> ("something" "is" "big" "+"))
If Dave is white and Dave is young then Dave is green.
((("Dave" "is" "white" "+") ("Dave" "is" "young" "+")) -> ("Dave" "is" "green" "+"))
All kind, young things are white.
((("something" "is" "kind" "+") ("something" "is" "young" "+")) -> ("something" "is" "white" "+"))
All young things are smart.
((("something" "is" "young" "+")) -> ("something" "is" "smart" "+"))
Gary is green.
True
1
proof
[(triple6)]
("Gary" "is" "green" "+")
triple6
Dave is not young.
False
1
inv-proof
[(triple5)]
("Dave" "is" "young" "-")
triple5
Dave is smart.
True
2
proof
[(((triple5) -> rule7))]
("Dave" "is" "smart" "+")
((triple5) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is not smart.
False
2
inv-proof
[(((triple5) -> rule7))]
("Dave" "is" "smart" "-")
((triple5) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Gary is big.
True
4
proof
[(((((triple7 triple9) -> rule6)) -> rule4) OR ((((((triple9) -> rule7) triple6) -> rule3)) -> rule4) OR ((((((((triple9) -> rule7)) -> rule2) triple9) -> rule6)) -> rule4))]
("Gary" "is" "big" "+")
((((triple7 triple9) -> (rule6 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((((triple9) -> (rule7 % int3)) triple6) -> (rule3 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((((triple9) -> (rule7 % int4))) -> (rule2 % int3)) triple9) -> (rule6 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is not big.
False
4
inv-proof
[(((((triple7 triple9) -> rule6)) -> rule4) OR ((((((triple9) -> rule7) triple6) -> rule3)) -> rule4) OR ((((((((triple9) -> rule7)) -> rule2) triple9) -> rule6)) -> rule4))]
("Gary" "is" "big" "-")
((((triple7 triple9) -> (rule6 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((((triple9) -> (rule7 % int3)) triple6) -> (rule3 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((((triple9) -> (rule7 % int4))) -> (rule2 % int3)) triple9) -> (rule6 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Dave is white.
True
5
proof
[(((((((triple5) -> rule7)) -> rule2) triple5) -> rule6))]
("Dave" "is" "white" "+")
((((((triple5) -> (rule7 % int3))) -> (rule2 % int2)) triple5) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is not white.
False
5
inv-proof
[(((((((triple5) -> rule7)) -> rule2) triple5) -> rule6))]
("Dave" "is" "white" "-")
((((((triple5) -> (rule7 % int3))) -> (rule2 % int2)) triple5) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is green.
True
7
proof
[(((((((((triple5) -> rule7)) -> rule2) triple5) -> rule6) triple5) -> rule5))]
("Dave" "is" "green" "+")
((((((((triple5) -> (rule7 % int4))) -> (rule2 % int3)) triple5) -> (rule6 % int2)) triple5) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is not green.
False
7
inv-proof
[(((((((((triple5) -> rule7)) -> rule2) triple5) -> rule6) triple5) -> rule5))]
("Dave" "is" "green" "-")
((((((((triple5) -> (rule7 % int4))) -> (rule2 % int3)) triple5) -> (rule6 % int2)) triple5) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is round.
True
10
proof
[(((((triple5) -> rule7) ((((((((triple5) -> rule7)) -> rule2) triple5) -> rule6) triple5) -> rule5)) -> rule1))]
("Dave" "is" "round" "+")
((((triple5) -> (rule7 % int5)) ((((((((triple5) -> (rule7 % int5))) -> (rule2 % int4)) triple5) -> (rule6 % int3)) triple5) -> (rule5 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Dave is smart.
("Dave" "is" "smart" "+")
int5
Dave is not round.
False
10
inv-proof
[(((((triple5) -> rule7) ((((((((triple5) -> rule7)) -> rule2) triple5) -> rule6) triple5) -> rule5)) -> rule1))]
("Dave" "is" "round" "-")
((((triple5) -> (rule7 % int5)) ((((((((triple5) -> (rule7 % int5))) -> (rule2 % int4)) triple5) -> (rule6 % int3)) triple5) -> (rule5 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Dave is smart.
("Dave" "is" "smart" "+")
int5
Harry is not round.
Unknown
inv-rconc
[@1: Harry is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "round" "-")
Harry is big.
Unknown
rconc
[@2: Harry is big.[CWA. Example of deepest failure = (rule4 <- rule3 <- FAIL)]]
("Harry" "is" "big" "+")
Harry is not white.
Unknown
inv-rconc
[@1: Harry is white.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "white" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
@0: Anne is green.[(triple1)] Anne is smart.[(triple2 OR ((triple3) -> rule7))] Anne is young.[(triple3)] Dave is big.[(triple4 OR ((((((((triple5) -> rule7)) -> rule2) triple5) -> rule6)) -> rule4))] Dave is young.[(triple5)] Gary is green.[(triple6)] Gary is kind.[(triple7 OR ((((triple9) -> rule7)) -> rule2))] Gary is round.[(triple8 OR ((((triple9) -> rule7) triple6) -> rule1))] Gary is young.[(triple9)] Harry is smart.[(triple10)] @1: Anne is kind.[(((triple2) -> rule2) OR ((((triple3) -> rule7)) -> rule2))] Anne is round.[(((triple2 triple1) -> rule1) OR ((((triple3) -> rule7) triple1) -> rule1))] Anne is white.[(((triple2 triple1) -> rule3) OR ((((triple2) -> rule2) triple3) -> rule6) OR ((((triple3) -> rule7) triple1) -> rule3) OR ((((((triple3) -> rule7)) -> rule2) triple3) -> rule6))] Dave is smart.[(((triple5) -> rule7))] Gary is smart.[(((triple9) -> rule7))] Gary is white.[(((triple7 triple9) -> rule6) OR ((((triple9) -> rule7) triple6) -> rule3) OR ((((((triple9) -> rule7)) -> rule2) triple9) -> rule6))] Harry is kind.[(((triple10) -> rule2))] @2: Anne is big.[(((((triple2 triple1) -> rule3)) -> rule4) OR ((((((triple2) -> rule2) triple3) -> rule6)) -> rule4) OR ((((((triple3) -> rule7) triple1) -> rule3)) -> rule4) OR ((((((((triple3) -> rule7)) -> rule2) triple3) -> rule6)) -> rule4))] Dave is kind.[(((((triple5) -> rule7)) -> rule2))] Gary is big.[(((((triple7 triple9) -> rule6)) -> rule4) OR ((((((triple9) -> rule7) triple6) -> rule3)) -> rule4) OR ((((((((triple9) -> rule7)) -> rule2) triple9) -> rule6)) -> rule4))] @3: Dave is white.[(((((((triple5) -> rule7)) -> rule2) triple5) -> rule6))] @4: Dave is green.[(((((((((triple5) -> rule7)) -> rule2) triple5) -> rule6) triple5) -> rule5))] @5: Dave is round.[(((((triple5) -> rule7) ((((((((triple5) -> rule7)) -> rule2) triple5) -> rule6) triple5) -> rule5)) -> rule1))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is smart.
("Anne" "is" "smart" "+")
triple2
((triple3) -> (rule7 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
triple3
Dave is big.
("Dave" "is" "big" "+")
triple4
((((((((triple5) -> (rule7 % int4))) -> (rule2 % int3)) triple5) -> (rule6 % int2))) -> (rule4 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
triple5
Gary is green.
("Gary" "is" "green" "+")
triple6
Gary is kind.
("Gary" "is" "kind" "+")
triple7
((((triple9) -> (rule7 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
triple8
((((triple9) -> (rule7 % int2)) triple6) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
triple9
Harry is smart.
("Harry" "is" "smart" "+")
triple10
Anne is kind.
("Anne" "is" "kind" "+")
((triple2) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple3) -> (rule7 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
((triple2 triple1) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((((triple3) -> (rule7 % int2)) triple1) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
((triple2 triple1) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
((((triple2) -> (rule2 % int2)) triple3) -> (rule6 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((triple3) -> (rule7 % int2)) triple1) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
((((((triple3) -> (rule7 % int3))) -> (rule2 % int2)) triple3) -> (rule6 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
((triple5) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
((triple9) -> (rule7 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
((triple7 triple9) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((((triple9) -> (rule7 % int2)) triple6) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
((((((triple9) -> (rule7 % int3))) -> (rule2 % int2)) triple9) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
((triple10) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
((((triple2 triple1) -> (rule3 % int2))) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((((triple2) -> (rule2 % int3)) triple3) -> (rule6 % int2))) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
((((((triple3) -> (rule7 % int3)) triple1) -> (rule3 % int2))) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
((((((((triple3) -> (rule7 % int4))) -> (rule2 % int3)) triple3) -> (rule6 % int2))) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
int4
Dave is kind.
("Dave" "is" "kind" "+")
((((triple5) -> (rule7 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
((((triple7 triple9) -> (rule6 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((((triple9) -> (rule7 % int3)) triple6) -> (rule3 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((((triple9) -> (rule7 % int4))) -> (rule2 % int3)) triple9) -> (rule6 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Dave is white.
("Dave" "is" "white" "+")
((((((triple5) -> (rule7 % int3))) -> (rule2 % int2)) triple5) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
((((((((triple5) -> (rule7 % int4))) -> (rule2 % int3)) triple5) -> (rule6 % int2)) triple5) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is round.
("Dave" "is" "round" "+")
((((triple5) -> (rule7 % int5)) ((((((((triple5) -> (rule7 % int5))) -> (rule2 % int4)) triple5) -> (rule6 % int3)) triple5) -> (rule5 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Dave is smart.
("Dave" "is" "smart" "+")
int5