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