Anne is rough. Erin is rough. Fiona is round. Harry is red. Round people are furry. If someone is nice then they are blue. If someone is green and rough then they are not blue. If someone is blue and green then they are round. If Fiona is red then Fiona is green. If someone is furry then they are nice. If Harry is round and Harry is nice then Harry is not red. If someone is furry and not rough then they are green.
Anne is rough.
("Anne" "is" "rough" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is red.
("Harry" "is" "red" "+")
Round people are furry.
((("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
If someone is nice then they are blue.
((("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
If someone is green and rough then they are not blue.
((("someone" "is" "green" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "-"))
If someone is blue and green then they are round.
((("someone" "is" "blue" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "round" "+"))
If Fiona is red then Fiona is green.
((("Fiona" "is" "red" "+")) -> ("Fiona" "is" "green" "+"))
If someone is furry then they are nice.
((("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
If Harry is round and Harry is nice then Harry is not red.
((("Harry" "is" "round" "+") ("Harry" "is" "nice" "+")) -> ("Harry" "is" "red" "-"))
If someone is furry and not rough then they are green.
((("someone" "is" "furry" "+") ("someone" "is" "rough" "~")) -> ("someone" "is" "green" "+"))
Fiona is round.
True
1
proof
[(triple3)]
("Fiona" "is" "round" "+")
triple3
Anne is not rough.
False
1
inv-proof
[(triple1)]
("Anne" "is" "rough" "-")
triple1
Fiona is furry.
True
2
proof
[(((triple3) -> rule1))]
("Fiona" "is" "furry" "+")
((triple3) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is not furry.
False
2
inv-proof
[(((triple3) -> rule1))]
("Fiona" "is" "furry" "-")
((triple3) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
True
3
proof
[(((((triple3) -> rule1)) -> rule6))]
("Fiona" "is" "nice" "+")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not nice.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule6))]
("Fiona" "is" "nice" "-")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is blue.
True
4
proof
[(((((((triple3) -> rule1)) -> rule6)) -> rule2))]
("Fiona" "is" "blue" "+")
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is not blue.
False
4
inv-proof
[(((((((triple3) -> rule1)) -> rule6)) -> rule2))]
("Fiona" "is" "blue" "-")
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Anne is not furry.
Unknown
inv-rconc
[@3: Anne is furry.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule8 <- FAIL)]]
("Anne" "is" "furry" "-")
Anne is nice.
Unknown
rconc
[@4: Anne is nice.[CWA. Example of deepest failure = (rule6 <- rule1 <- rule4 <- rule2 <- FAIL)]]
("Anne" "is" "nice" "+")
Erin is not furry.
Unknown
inv-rconc
[@3: Erin is furry.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule8 <- FAIL)]]
("Erin" "is" "furry" "-")
Erin is nice.
Unknown
rconc
[@4: Erin is nice.[CWA. Example of deepest failure = (rule6 <- rule1 <- rule4 <- rule2 <- FAIL)]]
("Erin" "is" "nice" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
Erin is not red.
Unknown
inv-random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
@0: Anne is rough.[(triple1)] Erin is rough.[(triple2)] Fiona is round.[(triple3)] Harry is red.[(triple4)] @1: Fiona is furry.[(((triple3) -> rule1))] @2: Fiona is nice.[(((((triple3) -> rule1)) -> rule6))] @3: Fiona is blue.[(((((((triple3) -> rule1)) -> rule6)) -> rule2))]
Anne is rough.
("Anne" "is" "rough" "+")
triple1
Erin is rough.
("Erin" "is" "rough" "+")
triple2
Fiona is round.
("Fiona" "is" "round" "+")
triple3
Harry is red.
("Harry" "is" "red" "+")
triple4
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple3) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3