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