Anne is big. Anne is blue. Anne is furry. Anne is green. Anne is kind. Anne is quiet. Anne is red. Erin is red. Fiona is blue. Fiona is green. Fiona is kind. Fiona is quiet. Fiona is red. Harry is blue. Harry is kind. Harry is quiet. Big people are kind. If someone is furry then they are big. If someone is quiet then they are furry.
Anne is big.
("Anne" "is" "big" "+")
Anne is blue.
("Anne" "is" "blue" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Erin is red.
("Erin" "is" "red" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Big people are kind.
((("someone" "is" "big" "+")) -> ("someone" "is" "kind" "+"))
If someone is furry then they are big.
((("someone" "is" "furry" "+")) -> ("someone" "is" "big" "+"))
If someone is quiet then they are furry.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "furry" "+"))
Fiona is blue.
True
1
proof
[(triple9)]
("Fiona" "is" "blue" "+")
triple9
Anne is not green.
False
1
inv-proof
[(triple4)]
("Anne" "is" "green" "-")
triple4
Harry is furry.
True
2
proof
[(((triple16) -> rule3))]
("Harry" "is" "furry" "+")
((triple16) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is not furry.
False
2
inv-proof
[(((triple16) -> rule3))]
("Harry" "is" "furry" "-")
((triple16) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Fiona is big.
True
3
proof
[(((((triple12) -> rule3)) -> rule2))]
("Fiona" "is" "big" "+")
((((triple12) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not big.
False
3
inv-proof
[(((((triple12) -> rule3)) -> rule2))]
("Fiona" "is" "big" "-")
((((triple12) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Erin is not big.
Unknown
inv-rconc
[@2: Erin is big.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Erin" "is" "big" "-")
Erin is furry.
Unknown
rconc
[@1: Erin is furry.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "furry" "+")
Erin is not kind.
Unknown
inv-rconc
[@3: Erin is kind.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule3 <- FAIL)]]
("Erin" "is" "kind" "-")
Harry is red.
Unknown
random
[@0: Harry is red.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "red" "+")
Erin is not quiet.
Unknown
inv-random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "-")
Erin is green.
Unknown
random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "+")
@0: Anne is big.[(triple1 OR ((triple3) -> rule2) OR ((((triple6) -> rule3)) -> rule2))] Anne is blue.[(triple2)] Anne is furry.[(triple3 OR ((triple6) -> rule3))] Anne is green.[(triple4)] Anne is kind.[(triple5 OR ((triple1) -> rule1) OR ((((triple3) -> rule2)) -> rule1) OR ((((((triple6) -> rule3)) -> rule2)) -> rule1))] Anne is quiet.[(triple6)] Anne is red.[(triple7)] Erin is red.[(triple8)] Fiona is blue.[(triple9)] Fiona is green.[(triple10)] Fiona is kind.[(triple11 OR ((((((triple12) -> rule3)) -> rule2)) -> rule1))] Fiona is quiet.[(triple12)] Fiona is red.[(triple13)] Harry is blue.[(triple14)] Harry is kind.[(triple15 OR ((((((triple16) -> rule3)) -> rule2)) -> rule1))] Harry is quiet.[(triple16)] @1: Fiona is furry.[(((triple12) -> rule3))] Harry is furry.[(((triple16) -> rule3))] @2: Fiona is big.[(((((triple12) -> rule3)) -> rule2))] Harry is big.[(((((triple16) -> rule3)) -> rule2))]
Anne is big.
("Anne" "is" "big" "+")
triple1
((triple3) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
triple2
Anne is furry.
("Anne" "is" "furry" "+")
triple3
((triple6) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
triple4
Anne is kind.
("Anne" "is" "kind" "+")
triple5
((triple1) -> (rule1 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((((((triple6) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple6
Anne is red.
("Anne" "is" "red" "+")
triple7
Erin is red.
("Erin" "is" "red" "+")
triple8
Fiona is blue.
("Fiona" "is" "blue" "+")
triple9
Fiona is green.
("Fiona" "is" "green" "+")
triple10
Fiona is kind.
("Fiona" "is" "kind" "+")
triple11
((((((triple12) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple12
Fiona is red.
("Fiona" "is" "red" "+")
triple13
Harry is blue.
("Harry" "is" "blue" "+")
triple14
Harry is kind.
("Harry" "is" "kind" "+")
triple15
((((((triple16) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
triple16
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple12) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
((triple16) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
((((triple12) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
((((triple16) -> (rule3 % int2))) -> (rule2 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2