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