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