Anne is big. Anne is furry. Anne is red. Anne is smart. Dave is big. Dave is cold. Dave is furry. Dave is smart. Dave is white. Fiona is white. Harry is green. Harry is smart. If someone is big and red then they are green. All big, smart people are furry. All green, furry people are red. If Anne is green then Anne is big. Red people are green. If someone is white then they are green. If someone is big and smart then they are cold. All big, smart people are white.
Anne is big.
("Anne" "is" "big" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is smart.
("Harry" "is" "smart" "+")
If someone is big and red then they are green.
((("someone" "is" "big" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
All big, smart people are furry.
((("someone" "is" "big" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
All green, furry people are red.
((("someone" "is" "green" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
If Anne is green then Anne is big.
((("Anne" "is" "green" "+")) -> ("Anne" "is" "big" "+"))
Red people are green.
((("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
If someone is white then they are green.
((("someone" "is" "white" "+")) -> ("someone" "is" "green" "+"))
If someone is big and smart then they are cold.
((("someone" "is" "big" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
All big, smart people are white.
((("someone" "is" "big" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "white" "+"))
Anne is red.
True
1
proof
[(triple3 OR ((((((triple1 triple4) -> rule8)) -> rule6) triple2) -> rule3) OR ((((((triple1 triple4) -> rule8)) -> rule6) ((triple1 triple4) -> rule2)) -> rule3))]
("Anne" "is" "red" "+")
triple3
((((((triple1 triple4) -> (rule8 % int3))) -> (rule6 % int2)) triple2) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((((triple1 triple4) -> (rule8 % int4))) -> (rule6 % int3)) ((triple1 triple4) -> (rule2 % int2))) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
Dave is not furry.
False
1
inv-proof
[(triple7 OR ((triple5 triple8) -> rule2))]
("Dave" "is" "furry" "-")
triple7
((triple5 triple8) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Fiona is green.
True
2
proof
[(((triple10) -> rule6))]
("Fiona" "is" "green" "+")
((triple10) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Anne is not green.
False
2
inv-proof
[(((triple3) -> rule5) OR ((triple1 triple3) -> rule1) OR ((((triple1 triple4) -> rule8)) -> rule6))]
("Anne" "is" "green" "-")
((triple3) -> (rule5 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((triple1 triple3) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple1 triple4) -> (rule8 % int2))) -> (rule6 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Dave is red.
True
4
proof
[(((((triple9) -> rule6) triple7) -> rule3) OR ((((triple9) -> rule6) ((triple5 triple8) -> rule2)) -> rule3) OR ((((((triple5 triple8) -> rule8)) -> rule6) triple7) -> rule3) OR ((((((triple5 triple8) -> rule8)) -> rule6) ((triple5 triple8) -> rule2)) -> rule3))]
("Dave" "is" "red" "+")
((((triple9) -> (rule6 % int2)) triple7) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
((((triple9) -> (rule6 % int3)) ((triple5 triple8) -> (rule2 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
((((((triple5 triple8) -> (rule8 % int3))) -> (rule6 % int2)) triple7) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((((triple5 triple8) -> (rule8 % int4))) -> (rule6 % int3)) ((triple5 triple8) -> (rule2 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
Dave is not red.
False
4
inv-proof
[(((((triple9) -> rule6) triple7) -> rule3) OR ((((triple9) -> rule6) ((triple5 triple8) -> rule2)) -> rule3) OR ((((((triple5 triple8) -> rule8)) -> rule6) triple7) -> rule3) OR ((((((triple5 triple8) -> rule8)) -> rule6) ((triple5 triple8) -> rule2)) -> rule3))]
("Dave" "is" "red" "-")
((((triple9) -> (rule6 % int2)) triple7) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
((((triple9) -> (rule6 % int3)) ((triple5 triple8) -> (rule2 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
((((((triple5 triple8) -> (rule8 % int3))) -> (rule6 % int2)) triple7) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((((triple5 triple8) -> (rule8 % int4))) -> (rule6 % int3)) ((triple5 triple8) -> (rule2 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
Fiona is not cold.
Unknown
inv-rconc
[@1: Fiona is cold.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Fiona" "is" "cold" "-")
Harry is furry.
Unknown
rconc
[@1: Harry is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "furry" "+")
Fiona is not red.
Unknown
inv-rconc
[@2: Fiona is red.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Fiona" "is" "red" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
Harry is not big.
Unknown
inv-random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "-")
Fiona is smart.
Unknown
random
[@0: Fiona is smart.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "smart" "+")
@0: Anne is big.[(triple1 OR ((((triple3) -> rule5)) -> rule4))] Anne is furry.[(triple2 OR ((triple1 triple4) -> rule2) OR ((((((triple3) -> rule5)) -> rule4) triple4) -> rule2))] Anne is red.[(triple3 OR ((((((triple1 triple4) -> rule8)) -> rule6) triple2) -> rule3) OR ((((((triple1 triple4) -> rule8)) -> rule6) ((triple1 triple4) -> rule2)) -> rule3))] Anne is smart.[(triple4)] Dave is big.[(triple5)] Dave is cold.[(triple6 OR ((triple5 triple8) -> rule7))] Dave is furry.[(triple7 OR ((triple5 triple8) -> rule2))] Dave is smart.[(triple8)] Dave is white.[(triple9 OR ((triple5 triple8) -> rule8))] Fiona is white.[(triple10)] Harry is green.[(triple11)] Harry is smart.[(triple12)] @1: Anne is cold.[(((triple1 triple4) -> rule7) OR ((((((triple3) -> rule5)) -> rule4) triple4) -> rule7))] Anne is green.[(((triple3) -> rule5) OR ((triple1 triple3) -> rule1) OR ((((triple1 triple4) -> rule8)) -> rule6))] Anne is white.[(((triple1 triple4) -> rule8) OR ((((((triple3) -> rule5)) -> rule4) triple4) -> rule8))] Dave is green.[(((triple9) -> rule6) OR ((((triple5 triple8) -> rule8)) -> rule6))] Fiona is green.[(((triple10) -> rule6))] @2: Dave is red.[(((((triple9) -> rule6) triple7) -> rule3) OR ((((triple9) -> rule6) ((triple5 triple8) -> rule2)) -> rule3) OR ((((((triple5 triple8) -> rule8)) -> rule6) triple7) -> rule3) OR ((((((triple5 triple8) -> rule8)) -> rule6) ((triple5 triple8) -> rule2)) -> rule3))]
Anne is big.
("Anne" "is" "big" "+")
triple1
((((triple3) -> (rule5 % int2))) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple1 triple4) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((((triple3) -> (rule5 % int3))) -> (rule4 % int2)) triple4) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
triple3
((((((triple1 triple4) -> (rule8 % int3))) -> (rule6 % int2)) triple2) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((((triple1 triple4) -> (rule8 % int4))) -> (rule6 % int3)) ((triple1 triple4) -> (rule2 % int2))) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
Anne is smart.
("Anne" "is" "smart" "+")
triple4
Dave is big.
("Dave" "is" "big" "+")
triple5
Dave is cold.
("Dave" "is" "cold" "+")
triple6
((triple5 triple8) -> (rule7 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
triple7
((triple5 triple8) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
triple8
Dave is white.
("Dave" "is" "white" "+")
triple9
((triple5 triple8) -> (rule8 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
triple10
Harry is green.
("Harry" "is" "green" "+")
triple11
Harry is smart.
("Harry" "is" "smart" "+")
triple12
Anne is cold.
("Anne" "is" "cold" "+")
((triple1 triple4) -> (rule7 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
((((((triple3) -> (rule5 % int3))) -> (rule4 % int2)) triple4) -> (rule7 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
((triple3) -> (rule5 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((triple1 triple3) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple1 triple4) -> (rule8 % int2))) -> (rule6 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
((triple1 triple4) -> (rule8 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
((((((triple3) -> (rule5 % int3))) -> (rule4 % int2)) triple4) -> (rule8 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
((triple9) -> (rule6 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
((((triple5 triple8) -> (rule8 % int2))) -> (rule6 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
((triple10) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
((((triple9) -> (rule6 % int2)) triple7) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
((((triple9) -> (rule6 % int3)) ((triple5 triple8) -> (rule2 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
((((((triple5 triple8) -> (rule8 % int3))) -> (rule6 % int2)) triple7) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((((triple5 triple8) -> (rule8 % int4))) -> (rule6 % int3)) ((triple5 triple8) -> (rule2 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4