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