Anne is blue. Anne is cold. Anne is furry. Anne is nice. Anne is smart. Charlie is green. Charlie is kind. Charlie is nice. Erin is furry. Erin is kind. Erin is nice. Erin is smart. If someone is nice and smart then they are furry. Kind people are cold. If someone is cold and kind then they are nice. Green, blue people are nice. If Erin is cold and Erin is blue then Erin is nice. All kind, green people are nice.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is smart.
("Erin" "is" "smart" "+")
If someone is nice and smart then they are furry.
((("someone" "is" "nice" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
Kind people are cold.
((("someone" "is" "kind" "+")) -> ("someone" "is" "cold" "+"))
If someone is cold and kind then they are nice.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
Green, blue people are nice.
((("someone" "is" "green" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
If Erin is cold and Erin is blue then Erin is nice.
((("Erin" "is" "cold" "+") ("Erin" "is" "blue" "+")) -> ("Erin" "is" "nice" "+"))
All kind, green people are nice.
((("someone" "is" "kind" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
Anne is furry.
True
1
proof
[(triple3 OR ((triple4 triple5) -> rule1))]
("Anne" "is" "furry" "+")
triple3
((triple4 triple5) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Charlie is not nice.
False
1
inv-proof
[(triple8 OR ((triple7 triple6) -> rule6) OR ((((triple7) -> rule2) triple7) -> rule3))]
("Charlie" "is" "nice" "-")
triple8
((triple7 triple6) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((triple7) -> (rule2 % int2)) triple7) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is not furry.
Unknown
inv-rconc
[@1: Charlie is furry.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "furry" "-")
Charlie is smart.
Unknown
random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "+")
@0: Anne is blue.[(triple1)] Anne is cold.[(triple2)] Anne is furry.[(triple3 OR ((triple4 triple5) -> rule1))] Anne is nice.[(triple4)] Anne is smart.[(triple5)] Charlie is green.[(triple6)] Charlie is kind.[(triple7)] Charlie is nice.[(triple8 OR ((triple7 triple6) -> rule6) OR ((((triple7) -> rule2) triple7) -> rule3))] Erin is furry.[(triple9 OR ((triple11 triple12) -> rule1) OR ((((((triple10) -> rule2) triple10) -> rule3) triple12) -> rule1))] Erin is kind.[(triple10)] Erin is nice.[(triple11 OR ((((triple10) -> rule2) triple10) -> rule3))] Erin is smart.[(triple12)] @1: Charlie is cold.[(((triple7) -> rule2))] Erin is cold.[(((triple10) -> rule2))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Anne is furry.
("Anne" "is" "furry" "+")
triple3
((triple4 triple5) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
triple4
Anne is smart.
("Anne" "is" "smart" "+")
triple5
Charlie is green.
("Charlie" "is" "green" "+")
triple6
Charlie is kind.
("Charlie" "is" "kind" "+")
triple7
Charlie is nice.
("Charlie" "is" "nice" "+")
triple8
((triple7 triple6) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((triple7) -> (rule2 % int2)) triple7) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
triple9
((triple11 triple12) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((((((triple10) -> (rule2 % int3)) triple10) -> (rule3 % int2)) triple12) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
triple10
Erin is nice.
("Erin" "is" "nice" "+")
triple11
((((triple10) -> (rule2 % int2)) triple10) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
triple12
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple7) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple10) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1