Anne is furry. Erin is big. Erin is cold. Erin is furry. Erin is kind. Erin is young. Fiona is big. Fiona is furry. Fiona is young. Gary is big. If someone is young and white then they are furry. If Anne is young and Anne is white then Anne is big. If someone is young and cold then they are kind. White, young people are furry. Kind, furry people are cold. Young people are kind. If Gary is big then Gary is furry. If Erin is big and Erin is cold then Erin is kind.
Anne is furry.
("Anne" "is" "furry" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
If someone is young and white then they are furry.
((("someone" "is" "young" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
If Anne is young and Anne is white then Anne is big.
((("Anne" "is" "young" "+") ("Anne" "is" "white" "+")) -> ("Anne" "is" "big" "+"))
If someone is young and cold then they are kind.
((("someone" "is" "young" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "kind" "+"))
White, young people are furry.
((("someone" "is" "white" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "furry" "+"))
Kind, furry people are cold.
((("someone" "is" "kind" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
Young people are kind.
((("someone" "is" "young" "+")) -> ("someone" "is" "kind" "+"))
If Gary is big then Gary is furry.
((("Gary" "is" "big" "+")) -> ("Gary" "is" "furry" "+"))
If Erin is big and Erin is cold then Erin is kind.
((("Erin" "is" "big" "+") ("Erin" "is" "cold" "+")) -> ("Erin" "is" "kind" "+"))
Erin is cold.
True
1
proof
[(triple3 OR ((triple5 triple4) -> rule5) OR ((((triple6) -> rule6) triple4) -> rule5))]
("Erin" "is" "cold" "+")
triple3
((triple5 triple4) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple6) -> (rule6 % int2)) triple4) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Gary is not big.
False
1
inv-proof
[(triple10)]
("Gary" "is" "big" "-")
triple10
Gary is not cold.
Unknown
inv-rconc
[@2: Gary is cold.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Gary" "is" "cold" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
@0: Anne is furry.[(triple1)] Erin is big.[(triple2)] Erin is cold.[(triple3 OR ((triple5 triple4) -> rule5) OR ((((triple6) -> rule6) triple4) -> rule5))] Erin is furry.[(triple4)] Erin is kind.[(triple5 OR ((triple6) -> rule6) OR ((triple2 triple3) -> rule8) OR ((triple6 triple3) -> rule3))] Erin is young.[(triple6)] Fiona is big.[(triple7)] Fiona is furry.[(triple8)] Fiona is young.[(triple9)] Gary is big.[(triple10)] @1: Fiona is kind.[(((triple9) -> rule6))] Gary is furry.[(((triple10) -> rule7))] @2: Fiona is cold.[(((((triple9) -> rule6) triple8) -> rule5))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Erin is big.
("Erin" "is" "big" "+")
triple2
Erin is cold.
("Erin" "is" "cold" "+")
triple3
((triple5 triple4) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple6) -> (rule6 % int2)) triple4) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
triple4
Erin is kind.
("Erin" "is" "kind" "+")
triple5
((triple6) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple2 triple3) -> (rule8 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple6 triple3) -> (rule3 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
triple6
Fiona is big.
("Fiona" "is" "big" "+")
triple7
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
Fiona is young.
("Fiona" "is" "young" "+")
triple9
Gary is big.
("Gary" "is" "big" "+")
triple10
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple9) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((triple10) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple9) -> (rule6 % int2)) triple8) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2