Anne is big. Anne is green. Erin is nice. Fiona is furry. Harry is green. Harry is nice. Harry is round. All big, round things are green. If something is round then it is quiet. If Erin is quiet and Erin is green then Erin is furry. Nice things are big. Big, green things are furry. Blue, round things are furry. If Anne is blue and Anne is quiet then Anne is big. Nice things are round.
Anne is big.
("Anne" "is" "big" "+")
Anne is green.
("Anne" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is round.
("Harry" "is" "round" "+")
All big, round things are green.
((("something" "is" "big" "+") ("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If something is round then it is quiet.
((("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
If Erin is quiet and Erin is green then Erin is furry.
((("Erin" "is" "quiet" "+") ("Erin" "is" "green" "+")) -> ("Erin" "is" "furry" "+"))
Nice things are big.
((("something" "is" "nice" "+")) -> ("something" "is" "big" "+"))
Big, green things are furry.
((("something" "is" "big" "+") ("something" "is" "green" "+")) -> ("something" "is" "furry" "+"))
Blue, round things are furry.
((("something" "is" "blue" "+") ("something" "is" "round" "+")) -> ("something" "is" "furry" "+"))
If Anne is blue and Anne is quiet then Anne is big.
((("Anne" "is" "blue" "+") ("Anne" "is" "quiet" "+")) -> ("Anne" "is" "big" "+"))
Nice things are round.
((("something" "is" "nice" "+")) -> ("something" "is" "round" "+"))
Erin is nice.
True
1
proof
[(triple3)]
("Erin" "is" "nice" "+")
triple3
Fiona is not furry.
False
1
inv-proof
[(triple4)]
("Fiona" "is" "furry" "-")
triple4
Erin is round.
True
2
proof
[(((triple3) -> rule8))]
("Erin" "is" "round" "+")
((triple3) -> (rule8 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Anne is not furry.
False
3
inv-proof
[(((triple1 triple2) -> rule5))]
("Anne" "is" "furry" "-")
((triple1 triple2) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Harry is furry.
True
4
proof
[(((((triple6) -> rule4) triple5) -> rule5) OR ((((triple6) -> rule4) ((((triple6) -> rule4) triple7) -> rule1)) -> rule5) OR ((((triple6) -> rule4) ((((triple6) -> rule4) ((triple6) -> rule8)) -> rule1)) -> rule5))]
("Harry" "is" "furry" "+")
((((triple6) -> (rule4 % int2)) triple5) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple6) -> (rule4 % int3)) ((((triple6) -> (rule4 % int3)) triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((((triple6) -> (rule4 % int4)) ((((triple6) -> (rule4 % int4)) ((triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is not furry.
False
4
inv-proof
[(((((triple6) -> rule4) triple5) -> rule5) OR ((((triple6) -> rule4) ((((triple6) -> rule4) triple7) -> rule1)) -> rule5) OR ((((triple6) -> rule4) ((((triple6) -> rule4) ((triple6) -> rule8)) -> rule1)) -> rule5))]
("Harry" "is" "furry" "-")
((((triple6) -> (rule4 % int2)) triple5) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple6) -> (rule4 % int3)) ((((triple6) -> (rule4 % int3)) triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((((triple6) -> (rule4 % int4)) ((((triple6) -> (rule4 % int4)) ((triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Anne is not round.
Unknown
inv-rconc
[@1: Anne is round.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Anne" "is" "round" "-")
Fiona is big.
Unknown
rconc
[@1: Fiona is big.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "big" "+")
Anne is not quiet.
Unknown
inv-rconc
[@2: Anne is quiet.[CWA. Example of deepest failure = (rule2 <- rule8 <- FAIL)]]
("Anne" "is" "quiet" "-")
Harry is blue.
Unknown
random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "+")
Fiona is not blue.
Unknown
inv-random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "-")
Anne is nice.
Unknown
random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "+")
@0: Anne is big.[(triple1)] Anne is green.[(triple2)] Erin is nice.[(triple3)] Fiona is furry.[(triple4)] Harry is green.[(triple5 OR ((((triple6) -> rule4) triple7) -> rule1) OR ((((triple6) -> rule4) ((triple6) -> rule8)) -> rule1))] Harry is nice.[(triple6)] Harry is round.[(triple7 OR ((triple6) -> rule8))] @1: Anne is furry.[(((triple1 triple2) -> rule5))] Erin is big.[(((triple3) -> rule4))] Erin is round.[(((triple3) -> rule8))] Harry is big.[(((triple6) -> rule4))] Harry is quiet.[(((triple7) -> rule2) OR ((((triple6) -> rule8)) -> rule2))] @2: Erin is green.[(((((triple3) -> rule4) ((triple3) -> rule8)) -> rule1))] Erin is quiet.[(((((triple3) -> rule8)) -> rule2))] Harry is furry.[(((((triple6) -> rule4) triple5) -> rule5) OR ((((triple6) -> rule4) ((((triple6) -> rule4) triple7) -> rule1)) -> rule5) OR ((((triple6) -> rule4) ((((triple6) -> rule4) ((triple6) -> rule8)) -> rule1)) -> rule5))] @3: Erin is furry.[(((((triple3) -> rule4) ((((triple3) -> rule4) ((triple3) -> rule8)) -> rule1)) -> rule5) OR ((((((triple3) -> rule8)) -> rule2) ((((triple3) -> rule4) ((triple3) -> rule8)) -> rule1)) -> rule3))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Erin is nice.
("Erin" "is" "nice" "+")
triple3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
Harry is green.
("Harry" "is" "green" "+")
triple5
((((triple6) -> (rule4 % int2)) triple7) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple6) -> (rule4 % int3)) ((triple6) -> (rule8 % int2))) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
triple6
Harry is round.
("Harry" "is" "round" "+")
triple7
((triple6) -> (rule8 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((triple1 triple2) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
((triple3) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
((triple3) -> (rule8 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple6) -> (rule4 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple7) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple6) -> (rule8 % int2))) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
((((triple3) -> (rule4 % int3)) ((triple3) -> (rule8 % int2))) -> (rule1 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
((((triple3) -> (rule8 % int2))) -> (rule2 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
((((triple6) -> (rule4 % int2)) triple5) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple6) -> (rule4 % int3)) ((((triple6) -> (rule4 % int3)) triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((((triple6) -> (rule4 % int4)) ((((triple6) -> (rule4 % int4)) ((triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Erin is furry.
("Erin" "is" "furry" "+")
((((triple3) -> (rule4 % int4)) ((((triple3) -> (rule4 % int4)) ((triple3) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
((((((triple3) -> (rule8 % int5))) -> (rule2 % int4)) ((((triple3) -> (rule4 % int3)) ((triple3) -> (rule8 % int5))) -> (rule1 % int2))) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
int5