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