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