Anne is not big. Anne is not blue. Anne is not green. Anne is red. Anne is rough. Anne is not young. Dave is big. Fiona is big. Fiona is green. Fiona is red. Fiona is smart. Fiona is young. Harry is big. Harry is rough. Harry is smart. Harry is young. All green things are red. If something is big then it is blue. All smart, green things are blue. All blue things are green. If something is blue then it is green. If something is young and not smart then it is big. If something is big and not red then it is rough. If something is blue and red then it is rough.
Anne is not big.
("Anne" "is" "big" "-")
Anne is not blue.
("Anne" "is" "blue" "-")
Anne is not green.
("Anne" "is" "green" "-")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is not young.
("Anne" "is" "young" "-")
Dave is big.
("Dave" "is" "big" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is young.
("Harry" "is" "young" "+")
All green things are red.
((("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
If something is big then it is blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
All smart, green things are blue.
((("something" "is" "smart" "+") ("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
All blue things are green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
If something is blue then it is green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
If something is young and not smart then it is big.
((("something" "is" "young" "+") ("something" "is" "smart" "~")) -> ("something" "is" "big" "+"))
If something is big and not red then it is rough.
((("something" "is" "big" "+") ("something" "is" "red" "~")) -> ("something" "is" "rough" "+"))
If something is blue and red then it is rough.
((("something" "is" "blue" "+") ("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
Harry is rough.
True
1
proof
[(triple14 OR ((((triple13) -> rule2) ((((((triple13) -> rule2)) -> rule4)) -> rule1)) -> rule8) OR ((((triple13) -> rule2) ((((((triple13) -> rule2)) -> rule5)) -> rule1)) -> rule8))]
("Harry" "is" "rough" "+")
triple14
((((triple13) -> (rule2 % int4)) ((((((triple13) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
((((triple13) -> (rule2 % int4)) ((((((triple13) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Harry is not smart.
False
1
inv-proof
[(triple15)]
("Harry" "is" "smart" "-")
triple15
Fiona is blue.
True
2
proof
[(((triple8) -> rule2) OR ((triple11 triple9) -> rule3))]
("Fiona" "is" "blue" "+")
((triple8) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple11 triple9) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Harry is not blue.
False
2
inv-proof
[(((triple13) -> rule2))]
("Harry" "is" "blue" "-")
((triple13) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Dave is green.
True
3
proof
[(((((triple7) -> rule2)) -> rule4) OR ((((triple7) -> rule2)) -> rule5))]
("Dave" "is" "green" "+")
((((triple7) -> (rule2 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple7) -> (rule2 % int2))) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Harry is not green.
False
3
inv-proof
[(((((triple13) -> rule2)) -> rule4) OR ((((triple13) -> rule2)) -> rule5))]
("Harry" "is" "green" "-")
((((triple13) -> (rule2 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((triple13) -> (rule2 % int2))) -> (rule5 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Dave is red.
True
4
proof
[(((((((triple7) -> rule2)) -> rule4)) -> rule1) OR ((((((triple7) -> rule2)) -> rule5)) -> rule1))]
("Dave" "is" "red" "+")
((((((triple7) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple7) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Harry is not red.
False
4
inv-proof
[(((((((triple13) -> rule2)) -> rule4)) -> rule1) OR ((((((triple13) -> rule2)) -> rule5)) -> rule1))]
("Harry" "is" "red" "-")
((((((triple13) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
((((((triple13) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Dave is not smart.
Unknown
inv-random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
@0: Anne is not big.[(triple1)] Anne is not blue.[(triple2)] Anne is not green.[(triple3)] Anne is not young.[(triple6)] Anne is red.[(triple4)] Anne is rough.[(triple5)] Dave is big.[(triple7)] Fiona is big.[(triple8)] Fiona is green.[(triple9 OR ((((triple8) -> rule2)) -> rule4) OR ((((triple8) -> rule2)) -> rule5))] Fiona is red.[(triple10 OR ((triple9) -> rule1) OR ((((((triple8) -> rule2)) -> rule4)) -> rule1) OR ((((((triple8) -> rule2)) -> rule5)) -> rule1))] Fiona is smart.[(triple11)] Fiona is young.[(triple12)] Harry is big.[(triple13)] Harry is rough.[(triple14 OR ((((triple13) -> rule2) ((((((triple13) -> rule2)) -> rule4)) -> rule1)) -> rule8) OR ((((triple13) -> rule2) ((((((triple13) -> rule2)) -> rule5)) -> rule1)) -> rule8))] Harry is smart.[(triple15)] Harry is young.[(triple16)] @1: Dave is blue.[(((triple7) -> rule2))] Fiona is blue.[(((triple8) -> rule2) OR ((triple11 triple9) -> rule3))] Harry is blue.[(((triple13) -> rule2))] @2: Dave is green.[(((((triple7) -> rule2)) -> rule4) OR ((((triple7) -> rule2)) -> rule5))] Fiona is rough.[(((((triple8) -> rule2) triple10) -> rule8) OR ((((triple11 triple9) -> rule3) triple10) -> rule8) OR ((((triple8) -> rule2) ((triple9) -> rule1)) -> rule8) OR ((((triple11 triple9) -> rule3) ((triple9) -> rule1)) -> rule8) OR ((((triple8) -> rule2) ((((((triple8) -> rule2)) -> rule4)) -> rule1)) -> rule8) OR ((((triple8) -> rule2) ((((((triple8) -> rule2)) -> rule5)) -> rule1)) -> rule8) OR ((((triple11 triple9) -> rule3) ((((((triple8) -> rule2)) -> rule4)) -> rule1)) -> rule8) OR ((((triple11 triple9) -> rule3) ((((((triple8) -> rule2)) -> rule5)) -> rule1)) -> rule8))] Harry is green.[(((((triple13) -> rule2)) -> rule4) OR ((((triple13) -> rule2)) -> rule5))] @3: Dave is red.[(((((((triple7) -> rule2)) -> rule4)) -> rule1) OR ((((((triple7) -> rule2)) -> rule5)) -> rule1))] Harry is red.[(((((((triple13) -> rule2)) -> rule4)) -> rule1) OR ((((((triple13) -> rule2)) -> rule5)) -> rule1))] @4: Dave is rough.[(((((triple7) -> rule2) ((((((triple7) -> rule2)) -> rule4)) -> rule1)) -> rule8) OR ((((triple7) -> rule2) ((((((triple7) -> rule2)) -> rule5)) -> rule1)) -> rule8))]
Anne is not big.
("Anne" "is" "big" "-")
triple1
Anne is not blue.
("Anne" "is" "blue" "-")
triple2
Anne is not green.
("Anne" "is" "green" "-")
triple3
Anne is not young.
("Anne" "is" "young" "-")
triple6
Anne is red.
("Anne" "is" "red" "+")
triple4
Anne is rough.
("Anne" "is" "rough" "+")
triple5
Dave is big.
("Dave" "is" "big" "+")
triple7
Fiona is big.
("Fiona" "is" "big" "+")
triple8
Fiona is green.
("Fiona" "is" "green" "+")
triple9
((((triple8) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple8) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
triple10
((triple9) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((((triple8) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((((triple8) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
triple11
Fiona is young.
("Fiona" "is" "young" "+")
triple12
Harry is big.
("Harry" "is" "big" "+")
triple13
Harry is rough.
("Harry" "is" "rough" "+")
triple14
((((triple13) -> (rule2 % int4)) ((((((triple13) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
((((triple13) -> (rule2 % int4)) ((((((triple13) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Harry is smart.
("Harry" "is" "smart" "+")
triple15
Harry is young.
("Harry" "is" "young" "+")
triple16
Dave is blue.
("Dave" "is" "blue" "+")
((triple7) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple8) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple11 triple9) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple13) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((((triple7) -> (rule2 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple7) -> (rule2 % int2))) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
((((triple8) -> (rule2 % int2)) triple10) -> (rule8 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple11 triple9) -> (rule3 % int2)) triple10) -> (rule8 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple8) -> (rule2 % int3)) ((triple9) -> (rule1 % int2))) -> (rule8 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((triple11 triple9) -> (rule3 % int3)) ((triple9) -> (rule1 % int2))) -> (rule8 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((triple8) -> (rule2 % int4)) ((((((triple8) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((((triple8) -> (rule2 % int4)) ((((((triple8) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((((triple11 triple9) -> (rule3 % int4)) ((((((triple8) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
((((triple11 triple9) -> (rule3 % int4)) ((((((triple8) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
((((triple13) -> (rule2 % int2))) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((triple13) -> (rule2 % int2))) -> (rule5 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
((((((triple7) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple7) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
((((((triple13) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
((((((triple13) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
((((triple7) -> (rule2 % int4)) ((((((triple7) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
((((triple7) -> (rule2 % int4)) ((((((triple7) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4