Anne is nice. Fiona is rough. Fiona is white. If someone is rough then they are nice. Rough people are nice. If someone is nice then they are not round. All rough, round people are not furry. If Anne is not rough and Anne is not white then Anne is green. If Fiona is nice and Fiona is not round then Fiona is not furry.
Anne is nice.
("Anne" "is" "nice" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is white.
("Fiona" "is" "white" "+")
If someone is rough then they are nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
Rough people are nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If someone is nice then they are not round.
((("someone" "is" "nice" "+")) -> ("someone" "is" "round" "-"))
All rough, round people are not furry.
((("someone" "is" "rough" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "-"))
If Anne is not rough and Anne is not white then Anne is green.
((("Anne" "is" "rough" "~") ("Anne" "is" "white" "~")) -> ("Anne" "is" "green" "+"))
If Fiona is nice and Fiona is not round then Fiona is not furry.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "round" "~")) -> ("Fiona" "is" "furry" "-"))
Fiona is rough.
True
1
proof
[(triple2)]
("Fiona" "is" "rough" "+")
triple2
Fiona is not rough.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "rough" "-")
triple2
Anne is not round.
True
2
proof
[(((triple1) -> rule3))]
("Anne" "is" "round" "-")
((triple1) -> (rule3 % int1))
Anne is not round.
("Anne" "is" "round" "-")
int1
Fiona is not nice.
False
2
inv-proof
[(((triple2) -> rule1) OR ((triple2) -> rule2))]
("Fiona" "is" "nice" "-")
((triple2) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple2) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is not round.
True
3
proof
[(((((triple2) -> rule1)) -> rule3) OR ((((triple2) -> rule2)) -> rule3))]
("Fiona" "is" "round" "-")
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is round.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule3) OR ((((triple2) -> rule2)) -> rule3))]
("Fiona" "is" "round" "+")
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is not furry.
True
6
proof
[(((((triple2) -> rule1) ((((triple2) -> rule1)) -> rule3)) -> rule6) OR ((((triple2) -> rule1) ((((triple2) -> rule2)) -> rule3)) -> rule6) OR ((((triple2) -> rule2) ((((triple2) -> rule1)) -> rule3)) -> rule6) OR ((((triple2) -> rule2) ((((triple2) -> rule2)) -> rule3)) -> rule6))]
("Fiona" "is" "furry" "-")
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple2) -> (rule2 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple2) -> (rule2 % int3)) ((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is furry.
False
6
inv-proof
[(((((triple2) -> rule1) ((((triple2) -> rule1)) -> rule3)) -> rule6) OR ((((triple2) -> rule1) ((((triple2) -> rule2)) -> rule3)) -> rule6) OR ((((triple2) -> rule2) ((((triple2) -> rule1)) -> rule3)) -> rule6) OR ((((triple2) -> rule2) ((((triple2) -> rule2)) -> rule3)) -> rule6))]
("Fiona" "is" "furry" "+")
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple2) -> (rule2 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple2) -> (rule2 % int3)) ((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Anne is not green.
Unknown
inv-rconc
[@1: Anne is green.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "green" "-")
Fiona is green.
Unknown
random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "+")
Anne is not quiet.
Unknown
inv-random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "-")
Anne is rough.
Unknown
random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "+")
Anne is not furry.
Unknown
inv-random
[@0: Anne is furry.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "furry" "-")
Fiona is quiet.
Unknown
random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "+")
@0: Anne is nice.[(triple1)] Fiona is rough.[(triple2)] Fiona is white.[(triple3)] @1: Anne is not round.[(((triple1) -> rule3))] Fiona is nice.[(((triple2) -> rule1) OR ((triple2) -> rule2))] @2: Fiona is not round.[(((((triple2) -> rule1)) -> rule3) OR ((((triple2) -> rule2)) -> rule3))] @3: Fiona is not furry.[(((((triple2) -> rule1) ((((triple2) -> rule1)) -> rule3)) -> rule6) OR ((((triple2) -> rule1) ((((triple2) -> rule2)) -> rule3)) -> rule6) OR ((((triple2) -> rule2) ((((triple2) -> rule1)) -> rule3)) -> rule6) OR ((((triple2) -> rule2) ((((triple2) -> rule2)) -> rule3)) -> rule6))]
Anne is nice.
("Anne" "is" "nice" "+")
triple1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple2
Fiona is white.
("Fiona" "is" "white" "+")
triple3
Anne is not round.
("Anne" "is" "round" "-")
((triple1) -> (rule3 % int1))
Anne is not round.
("Anne" "is" "round" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple2) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple2) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is not furry.
("Fiona" "is" "furry" "-")
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple2) -> (rule2 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((triple2) -> (rule2 % int3)) ((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is not round.
("Fiona" "is" "round" "-")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3