Anne is furry. Anne is quiet. Anne is rough. Anne is smart. Anne is white. Charlie is quiet. Erin is cold. Erin is rough. Harry is cold. Harry is rough. Harry is smart. Harry is white. If something is quiet then it is blue. If something is white then it is quiet. Furry, blue things are white. If something is rough and white then it is furry. All quiet, blue things are smart. All cold, blue things are rough.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is white.
("Anne" "is" "white" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is white.
("Harry" "is" "white" "+")
If something is quiet then it is blue.
((("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
If something is white then it is quiet.
((("something" "is" "white" "+")) -> ("something" "is" "quiet" "+"))
Furry, blue things are white.
((("something" "is" "furry" "+") ("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
If something is rough and white then it is furry.
((("something" "is" "rough" "+") ("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
All quiet, blue things are smart.
((("something" "is" "quiet" "+") ("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
All cold, blue things are rough.
((("something" "is" "cold" "+") ("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
Erin is rough.
True
1
proof
[(triple8)]
("Erin" "is" "rough" "+")
triple8
Harry is not rough.
False
1
inv-proof
[(triple10 OR ((triple9 ((((triple12) -> rule2)) -> rule1)) -> rule6))]
("Harry" "is" "rough" "-")
triple10
((triple9 ((((triple12) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is furry.
True
3
proof
[(((triple10 triple12) -> rule4) OR ((((triple9 ((((triple12) -> rule2)) -> rule1)) -> rule6) triple12) -> rule4))]
("Harry" "is" "furry" "+")
((triple10 triple12) -> (rule4 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple9 ((((triple12) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule6 % int2)) triple12) -> (rule4 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Anne is not blue.
False
2
inv-proof
[(((triple2) -> rule1) OR ((((triple5) -> rule2)) -> rule1))]
("Anne" "is" "blue" "-")
((triple2) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple5) -> (rule2 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Harry is blue.
True
3
proof
[(((((triple12) -> rule2)) -> rule1))]
("Harry" "is" "blue" "+")
((((triple12) -> (rule2 % int2))) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Charlie is not smart.
False
4
inv-proof
[(((triple6 ((triple6) -> rule1)) -> rule5))]
("Charlie" "is" "smart" "-")
((triple6 ((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is not white.
Unknown
inv-rconc
[@2: Charlie is white.[CWA. Example of deepest failure = (rule3 <- rule4 <- FAIL)]]
("Charlie" "is" "white" "-")
Charlie is rough.
Unknown
rconc
[@1: Charlie is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "rough" "+")
Erin is not white.
Unknown
inv-rconc
[@2: Erin is white.[CWA. Example of deepest failure = (rule3 <- rule4 <- FAIL)]]
("Erin" "is" "white" "-")
Charlie is cold.
Unknown
random
[@0: Charlie is cold.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "cold" "+")
@0: Anne is furry.[(triple1 OR ((triple3 triple5) -> rule4))] Anne is quiet.[(triple2 OR ((triple5) -> rule2))] Anne is rough.[(triple3)] Anne is smart.[(triple4 OR ((triple2 ((triple2) -> rule1)) -> rule5) OR ((((triple5) -> rule2) ((triple2) -> rule1)) -> rule5) OR ((triple2 ((((triple5) -> rule2)) -> rule1)) -> rule5) OR ((((triple5) -> rule2) ((((triple5) -> rule2)) -> rule1)) -> rule5))] Anne is white.[(triple5 OR ((triple1 ((triple2) -> rule1)) -> rule3))] Charlie is quiet.[(triple6)] Erin is cold.[(triple7)] Erin is rough.[(triple8)] Harry is cold.[(triple9)] Harry is rough.[(triple10 OR ((triple9 ((((triple12) -> rule2)) -> rule1)) -> rule6))] Harry is smart.[(triple11 OR ((((triple12) -> rule2) ((((triple12) -> rule2)) -> rule1)) -> rule5))] Harry is white.[(triple12)] @1: Anne is blue.[(((triple2) -> rule1) OR ((((triple5) -> rule2)) -> rule1))] Charlie is blue.[(((triple6) -> rule1))] Harry is furry.[(((triple10 triple12) -> rule4) OR ((((triple9 ((((triple12) -> rule2)) -> rule1)) -> rule6) triple12) -> rule4))] Harry is quiet.[(((triple12) -> rule2))] @2: Charlie is smart.[(((triple6 ((triple6) -> rule1)) -> rule5))] Harry is blue.[(((((triple12) -> rule2)) -> rule1))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
((triple3 triple5) -> (rule4 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple2
((triple5) -> (rule2 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
triple3
Anne is smart.
("Anne" "is" "smart" "+")
triple4
((triple2 ((triple2) -> (rule1 % int2))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple5) -> (rule2 % int3)) ((triple2) -> (rule1 % int2))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((triple2 ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((triple5) -> (rule2 % int3)) ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
triple5
((triple1 ((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple6
Erin is cold.
("Erin" "is" "cold" "+")
triple7
Erin is rough.
("Erin" "is" "rough" "+")
triple8
Harry is cold.
("Harry" "is" "cold" "+")
triple9
Harry is rough.
("Harry" "is" "rough" "+")
triple10
((triple9 ((((triple12) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
triple11
((((triple12) -> (rule2 % int3)) ((((triple12) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
triple12
Anne is blue.
("Anne" "is" "blue" "+")
((triple2) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple5) -> (rule2 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple6) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
((triple10 triple12) -> (rule4 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple9 ((((triple12) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule6 % int2)) triple12) -> (rule4 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple12) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple6 ((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
((((triple12) -> (rule2 % int2))) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2