Anne is round. Erin is quiet. Fiona is cold. Fiona is green. Fiona is smart. Fiona is white. Harry is green. If someone is green and quiet then they are furry. If Erin is furry and Erin is white then Erin is cold. All white people are quiet. If someone is smart then they are green. Quiet people are smart. All cold people are round. White people are cold. Cold people are furry.
Anne is round.
("Anne" "is" "round" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is green.
("Harry" "is" "green" "+")
If someone is green and quiet then they are furry.
((("someone" "is" "green" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "furry" "+"))
If Erin is furry and Erin is white then Erin is cold.
((("Erin" "is" "furry" "+") ("Erin" "is" "white" "+")) -> ("Erin" "is" "cold" "+"))
All white people are quiet.
((("someone" "is" "white" "+")) -> ("someone" "is" "quiet" "+"))
If someone is smart then they are green.
((("someone" "is" "smart" "+")) -> ("someone" "is" "green" "+"))
Quiet people are smart.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "smart" "+"))
All cold people are round.
((("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
White people are cold.
((("someone" "is" "white" "+")) -> ("someone" "is" "cold" "+"))
Cold people are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
Fiona is white.
True
1
proof
[(triple6)]
("Fiona" "is" "white" "+")
triple6
Harry is not green.
False
1
inv-proof
[(triple7)]
("Harry" "is" "green" "-")
triple7
Fiona is furry.
True
2
proof
[(((triple3) -> rule8) OR ((((triple6) -> rule7)) -> rule8) OR ((triple4 ((triple6) -> rule3)) -> rule1) OR ((((triple5) -> rule4) ((triple6) -> rule3)) -> rule1) OR ((((((((triple6) -> rule3)) -> rule5)) -> rule4) ((triple6) -> rule3)) -> rule1))]
("Fiona" "is" "furry" "+")
((triple3) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple6) -> (rule7 % int2))) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((triple4 ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple5) -> (rule4 % int3)) ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
((((((((triple6) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2)) ((triple6) -> (rule3 % int4))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is not quiet.
False
2
inv-proof
[(((triple6) -> rule3))]
("Fiona" "is" "quiet" "-")
((triple6) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Erin is green.
True
3
proof
[(((((triple2) -> rule5)) -> rule4))]
("Erin" "is" "green" "+")
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is not green.
False
3
inv-proof
[(((((triple2) -> rule5)) -> rule4))]
("Erin" "is" "green" "-")
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is furry.
True
5
proof
[(((((((triple2) -> rule5)) -> rule4) triple2) -> rule1))]
("Erin" "is" "furry" "+")
((((((triple2) -> (rule5 % int3))) -> (rule4 % int2)) triple2) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is not furry.
False
5
inv-proof
[(((((((triple2) -> rule5)) -> rule4) triple2) -> rule1))]
("Erin" "is" "furry" "-")
((((((triple2) -> (rule5 % int3))) -> (rule4 % int2)) triple2) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Anne is not quiet.
Unknown
inv-rconc
[@1: Anne is quiet.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "quiet" "-")
Harry is round.
Unknown
rconc
[@2: Harry is round.[CWA. Example of deepest failure = (rule6 <- rule7 <- FAIL)]]
("Harry" "is" "round" "+")
Anne is not furry.
Unknown
inv-rconc
[@2: Anne is furry.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Anne" "is" "furry" "-")
Erin is cold.
Unknown
rconc
[@1: Erin is cold.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "cold" "+")
Harry is not white.
Unknown
inv-random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "-")
Erin is white.
Unknown
random
[@0: Erin is white.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "white" "+")
@0: Anne is round.[(triple1)] Erin is quiet.[(triple2)] Fiona is cold.[(triple3 OR ((triple6) -> rule7))] Fiona is green.[(triple4 OR ((triple5) -> rule4) OR ((((((triple6) -> rule3)) -> rule5)) -> rule4))] Fiona is smart.[(triple5 OR ((((triple6) -> rule3)) -> rule5))] Fiona is white.[(triple6)] Harry is green.[(triple7)] @1: Erin is smart.[(((triple2) -> rule5))] Fiona is furry.[(((triple3) -> rule8) OR ((((triple6) -> rule7)) -> rule8) OR ((triple4 ((triple6) -> rule3)) -> rule1) OR ((((triple5) -> rule4) ((triple6) -> rule3)) -> rule1) OR ((((((((triple6) -> rule3)) -> rule5)) -> rule4) ((triple6) -> rule3)) -> rule1))] Fiona is quiet.[(((triple6) -> rule3))] Fiona is round.[(((triple3) -> rule6) OR ((((triple6) -> rule7)) -> rule6))] @2: Erin is green.[(((((triple2) -> rule5)) -> rule4))] @3: Erin is furry.[(((((((triple2) -> rule5)) -> rule4) triple2) -> rule1))]
Anne is round.
("Anne" "is" "round" "+")
triple1
Erin is quiet.
("Erin" "is" "quiet" "+")
triple2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple3
((triple6) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
triple4
((triple5) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((((((triple6) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
triple5
((((triple6) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple6
Harry is green.
("Harry" "is" "green" "+")
triple7
Erin is smart.
("Erin" "is" "smart" "+")
((triple2) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple3) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple6) -> (rule7 % int2))) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((triple4 ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple5) -> (rule4 % int3)) ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
((((((((triple6) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2)) ((triple6) -> (rule3 % int4))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple6) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple3) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple6) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((((((triple2) -> (rule5 % int3))) -> (rule4 % int2)) triple2) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3