Anne is blue. Anne is cold. Anne is rough. Bob is blue. Bob is cold. Bob is furry. Bob is green. Bob is nice. Bob is red. Bob is rough. Erin is nice. Erin is red. Erin is rough. Harry is furry. Harry is green. Harry is rough. If someone is nice then they are green. If someone is nice then they are blue. If someone is red then they are cold. If Bob is green and Bob is furry then Bob is rough. If someone is green then they are blue. All green, blue people are furry.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If someone is nice then they are green.
((("someone" "is" "nice" "+")) -> ("someone" "is" "green" "+"))
If someone is nice then they are blue.
((("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
If someone is red then they are cold.
((("someone" "is" "red" "+")) -> ("someone" "is" "cold" "+"))
If Bob is green and Bob is furry then Bob is rough.
((("Bob" "is" "green" "+") ("Bob" "is" "furry" "+")) -> ("Bob" "is" "rough" "+"))
If someone is green then they are blue.
((("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
All green, blue people are furry.
((("someone" "is" "green" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
Harry is green.
True
1
proof
[(triple15)]
("Harry" "is" "green" "+")
triple15
Bob is not nice.
False
1
inv-proof
[(triple8)]
("Bob" "is" "nice" "-")
triple8
Erin is green.
True
2
proof
[(((triple11) -> rule1))]
("Erin" "is" "green" "+")
((triple11) -> (rule1 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Harry is not blue.
False
2
inv-proof
[(((triple15) -> rule5))]
("Harry" "is" "blue" "-")
((triple15) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is not cold.
Unknown
inv-rconc
[@1: Harry is cold.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "cold" "-")
Anne is furry.
Unknown
rconc
[@2: Anne is furry.[CWA. Example of deepest failure = (rule6 <- rule1 <- FAIL)]]
("Anne" "is" "furry" "+")
Anne is not nice.
Unknown
inv-random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "-")
Harry is red.
Unknown
random
[@0: Harry is red.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "red" "+")
@0: Anne is blue.[(triple1)] Anne is cold.[(triple2)] Anne is rough.[(triple3)] Bob is blue.[(triple4 OR ((triple7) -> rule5) OR ((triple8) -> rule2) OR ((((triple8) -> rule1)) -> rule5))] Bob is cold.[(triple5 OR ((triple9) -> rule3))] Bob is furry.[(triple6 OR ((triple7 triple4) -> rule6) OR ((triple7 ((triple7) -> rule5)) -> rule6) OR ((triple7 ((triple8) -> rule2)) -> rule6) OR ((((triple8) -> rule1) triple4) -> rule6) OR ((((triple8) -> rule1) ((triple7) -> rule5)) -> rule6) OR ((((triple8) -> rule1) ((triple8) -> rule2)) -> rule6) OR ((triple7 ((((triple8) -> rule1)) -> rule5)) -> rule6) OR ((((triple8) -> rule1) ((((triple8) -> rule1)) -> rule5)) -> rule6))] Bob is green.[(triple7 OR ((triple8) -> rule1))] Bob is nice.[(triple8)] Bob is red.[(triple9)] Bob is rough.[(triple10 OR ((triple7 triple6) -> rule4) OR ((triple7 ((triple7 triple4) -> rule6)) -> rule4) OR ((((triple8) -> rule1) triple6) -> rule4) OR ((((triple8) -> rule1) ((triple7 triple4) -> rule6)) -> rule4) OR ((triple7 ((triple7 ((triple7) -> rule5)) -> rule6)) -> rule4) OR ((triple7 ((triple7 ((triple8) -> rule2)) -> rule6)) -> rule4) OR ((triple7 ((((triple8) -> rule1) triple4) -> rule6)) -> rule4) OR ((triple7 ((((triple8) -> rule1) ((triple7) -> rule5)) -> rule6)) -> rule4) OR ((triple7 ((((triple8) -> rule1) ((triple8) -> rule2)) -> rule6)) -> rule4) OR ((((triple8) -> rule1) ((triple7 ((triple7) -> rule5)) -> rule6)) -> rule4) OR ((((triple8) -> rule1) ((triple7 ((triple8) -> rule2)) -> rule6)) -> rule4) OR ((((triple8) -> rule1) ((((triple8) -> rule1) triple4) -> rule6)) -> rule4) OR ((((triple8) -> rule1) ((((triple8) -> rule1) ((triple7) -> rule5)) -> rule6)) -> rule4) OR ((((triple8) -> rule1) ((((triple8) -> rule1) ((triple8) -> rule2)) -> rule6)) -> rule4) OR ((triple7 ((triple7 ((((triple8) -> rule1)) -> rule5)) -> rule6)) -> rule4) OR ((triple7 ((((triple8) -> rule1) ((((triple8) -> rule1)) -> rule5)) -> rule6)) -> rule4) OR ((((triple8) -> rule1) ((triple7 ((((triple8) -> rule1)) -> rule5)) -> rule6)) -> rule4) OR ((((triple8) -> rule1) ((((triple8) -> rule1) ((((triple8) -> rule1)) -> rule5)) -> rule6)) -> rule4))] Erin is nice.[(triple11)] Erin is red.[(triple12)] Erin is rough.[(triple13)] Harry is furry.[(triple14 OR ((triple15 ((triple15) -> rule5)) -> rule6))] Harry is green.[(triple15)] Harry is rough.[(triple16)] @1: Erin is blue.[(((triple11) -> rule2) OR ((((triple11) -> rule1)) -> rule5))] Erin is cold.[(((triple12) -> rule3))] Erin is green.[(((triple11) -> rule1))] Harry is blue.[(((triple15) -> rule5))] @2: Erin is furry.[(((((triple11) -> rule1) ((triple11) -> rule2)) -> rule6) OR ((((triple11) -> rule1) ((((triple11) -> rule1)) -> rule5)) -> rule6))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
Bob is blue.
("Bob" "is" "blue" "+")
triple4
((triple7) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple8) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple8) -> (rule1 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
triple5
((triple9) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple6
((triple7 triple4) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple7 ((triple7) -> (rule5 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((triple7 ((triple8) -> (rule2 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple8) -> (rule1 % int2)) triple4) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((triple8) -> (rule1 % int3)) ((triple7) -> (rule5 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple8) -> (rule1 % int3)) ((triple8) -> (rule2 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((triple7 ((((triple8) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple8) -> (rule1 % int3)) ((((triple8) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
triple7
((triple8) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
triple8
Bob is red.
("Bob" "is" "red" "+")
triple9
Bob is rough.
("Bob" "is" "rough" "+")
triple10
((triple7 triple6) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple7 ((triple7 triple4) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((triple8) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((triple8) -> (rule1 % int3)) ((triple7 triple4) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((triple7 ((triple7 ((triple7) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((triple7 ((triple7 ((triple8) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((triple7 ((((triple8) -> (rule1 % int3)) triple4) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((triple7 ((((triple8) -> (rule1 % int4)) ((triple7) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((triple7 ((((triple8) -> (rule1 % int4)) ((triple8) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((triple8) -> (rule1 % int4)) ((triple7 ((triple7) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((triple8) -> (rule1 % int4)) ((triple7 ((triple8) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((triple8) -> (rule1 % int3)) ((((triple8) -> (rule1 % int3)) triple4) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple8) -> (rule1 % int4)) ((((triple8) -> (rule1 % int4)) ((triple7) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((triple8) -> (rule1 % int4)) ((((triple8) -> (rule1 % int4)) ((triple8) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((triple7 ((triple7 ((((triple8) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((triple7 ((((triple8) -> (rule1 % int4)) ((((triple8) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((triple8) -> (rule1 % int4)) ((triple7 ((((triple8) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((triple8) -> (rule1 % int4)) ((((triple8) -> (rule1 % int4)) ((((triple8) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
triple11
Erin is red.
("Erin" "is" "red" "+")
triple12
Erin is rough.
("Erin" "is" "rough" "+")
triple13
Harry is furry.
("Harry" "is" "furry" "+")
triple14
((triple15 ((triple15) -> (rule5 % int2))) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
triple15
Harry is rough.
("Harry" "is" "rough" "+")
triple16
Erin is blue.
("Erin" "is" "blue" "+")
((triple11) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((((triple11) -> (rule1 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
((triple12) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
((triple11) -> (rule1 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple15) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((((triple11) -> (rule1 % int3)) ((triple11) -> (rule2 % int2))) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
((((triple11) -> (rule1 % int3)) ((((triple11) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3