Bob is cold. Bob is furry. Bob is green. Bob is quiet. Bob is red. Dave is cold. Dave is furry. Dave is green. Dave is kind. Dave is quiet. Dave is red. Dave is round. Erin is cold. Erin is green. Fiona is red. Fiona is round. Green things are furry. If something is red then it is green. Red, furry things are kind.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is green.
("Erin" "is" "green" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Green things are furry.
((("something" "is" "green" "+")) -> ("something" "is" "furry" "+"))
If something is red then it is green.
((("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
Red, furry things are kind.
((("something" "is" "red" "+") ("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
Bob is green.
True
1
proof
[(triple3 OR ((triple5) -> rule2))]
("Bob" "is" "green" "+")
triple3
((triple5) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is not furry.
False
1
inv-proof
[(triple2 OR ((triple3) -> rule1) OR ((((triple5) -> rule2)) -> rule1))]
("Bob" "is" "furry" "-")
triple2
((triple3) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((((triple5) -> (rule2 % int2))) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is kind.
True
3
proof
[(((triple5 triple2) -> rule3) OR ((triple5 ((triple3) -> rule1)) -> rule3) OR ((triple5 ((((triple5) -> rule2)) -> rule1)) -> rule3))]
("Bob" "is" "kind" "+")
((triple5 triple2) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((triple5 ((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((triple5 ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Fiona is not green.
False
2
inv-proof
[(((triple15) -> rule2))]
("Fiona" "is" "green" "-")
((triple15) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is furry.
True
3
proof
[(((((triple15) -> rule2)) -> rule1))]
("Fiona" "is" "furry" "+")
((((triple15) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is not furry.
False
3
inv-proof
[(((((triple15) -> rule2)) -> rule1))]
("Fiona" "is" "furry" "-")
((((triple15) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is kind.
True
5
proof
[(((triple15 ((((triple15) -> rule2)) -> rule1)) -> rule3))]
("Fiona" "is" "kind" "+")
((triple15 ((((triple15) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is not kind.
False
5
inv-proof
[(((triple15 ((((triple15) -> rule2)) -> rule1)) -> rule3))]
("Fiona" "is" "kind" "-")
((triple15 ((((triple15) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Erin is not kind.
Unknown
inv-rconc
[@1: Erin is kind.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "kind" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Bob is round.
Unknown
random
[@0: Bob is round.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "round" "+")
Erin is not round.
Unknown
inv-random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "-")
Erin is quiet.
Unknown
random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "+")
@0: Bob is cold.[(triple1)] Bob is furry.[(triple2 OR ((triple3) -> rule1) OR ((((triple5) -> rule2)) -> rule1))] Bob is green.[(triple3 OR ((triple5) -> rule2))] Bob is quiet.[(triple4)] Bob is red.[(triple5)] Dave is cold.[(triple6)] Dave is furry.[(triple7 OR ((triple8) -> rule1) OR ((((triple11) -> rule2)) -> rule1))] Dave is green.[(triple8 OR ((triple11) -> rule2))] Dave is kind.[(triple9 OR ((triple11 triple7) -> rule3) OR ((triple11 ((triple8) -> rule1)) -> rule3) OR ((triple11 ((((triple11) -> rule2)) -> rule1)) -> rule3))] Dave is quiet.[(triple10)] Dave is red.[(triple11)] Dave is round.[(triple12)] Erin is cold.[(triple13)] Erin is green.[(triple14)] Fiona is red.[(triple15)] Fiona is round.[(triple16)] @1: Bob is kind.[(((triple5 triple2) -> rule3) OR ((triple5 ((triple3) -> rule1)) -> rule3) OR ((triple5 ((((triple5) -> rule2)) -> rule1)) -> rule3))] Erin is furry.[(((triple14) -> rule1))] Fiona is green.[(((triple15) -> rule2))] @2: Fiona is furry.[(((((triple15) -> rule2)) -> rule1))] @3: Fiona is kind.[(((triple15 ((((triple15) -> rule2)) -> rule1)) -> rule3))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple3) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((((triple5) -> (rule2 % int2))) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
triple3
((triple5) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Bob is red.
("Bob" "is" "red" "+")
triple5
Dave is cold.
("Dave" "is" "cold" "+")
triple6
Dave is furry.
("Dave" "is" "furry" "+")
triple7
((triple8) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple11) -> (rule2 % int2))) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
triple8
((triple11) -> (rule2 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
triple9
((triple11 triple7) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple11 ((triple8) -> (rule1 % int2))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((triple11 ((((triple11) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
triple10
Dave is red.
("Dave" "is" "red" "+")
triple11
Dave is round.
("Dave" "is" "round" "+")
triple12
Erin is cold.
("Erin" "is" "cold" "+")
triple13
Erin is green.
("Erin" "is" "green" "+")
triple14
Fiona is red.
("Fiona" "is" "red" "+")
triple15
Fiona is round.
("Fiona" "is" "round" "+")
triple16
Bob is kind.
("Bob" "is" "kind" "+")
((triple5 triple2) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((triple5 ((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((triple5 ((((triple5) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
((triple14) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple15) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple15) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple15 ((((triple15) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3