Anne is big. Anne is blue. Charlie is blue. Charlie is furry. Charlie is red. Charlie is smart. Fiona is big. Fiona is blue. Fiona is cold. Fiona is furry. Fiona is red. Gary is red. All big, quiet things are smart. If something is big then it is cold. All big things are furry. If Gary is blue and Gary is cold then Gary is quiet. Furry, quiet things are cold. All red things are smart.
Anne is big.
("Anne" "is" "big" "+")
Anne is blue.
("Anne" "is" "blue" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Gary is red.
("Gary" "is" "red" "+")
All big, quiet things are smart.
((("something" "is" "big" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "smart" "+"))
If something is big then it is cold.
((("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
All big things are furry.
((("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
If Gary is blue and Gary is cold then Gary is quiet.
((("Gary" "is" "blue" "+") ("Gary" "is" "cold" "+")) -> ("Gary" "is" "quiet" "+"))
Furry, quiet things are cold.
((("something" "is" "furry" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
All red things are smart.
((("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
Anne is blue.
True
1
proof
[(triple2)]
("Anne" "is" "blue" "+")
triple2
Fiona is not furry.
False
1
inv-proof
[(triple10 OR ((triple7) -> rule3))]
("Fiona" "is" "furry" "-")
triple10
((triple7) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Gary is not cold.
Unknown
inv-rconc
[@2: Gary is cold.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Gary" "is" "cold" "-")
Anne is quiet.
Unknown
random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "+")
@0: Anne is big.[(triple1)] Anne is blue.[(triple2)] Charlie is blue.[(triple3)] Charlie is furry.[(triple4)] Charlie is red.[(triple5)] Charlie is smart.[(triple6 OR ((triple5) -> rule6))] Fiona is big.[(triple7)] Fiona is blue.[(triple8)] Fiona is cold.[(triple9 OR ((triple7) -> rule2))] Fiona is furry.[(triple10 OR ((triple7) -> rule3))] Fiona is red.[(triple11)] Gary is red.[(triple12)] @1: Anne is cold.[(((triple1) -> rule2))] Anne is furry.[(((triple1) -> rule3))] Fiona is smart.[(((triple11) -> rule6))] Gary is smart.[(((triple12) -> rule6))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is blue.
("Anne" "is" "blue" "+")
triple2
Charlie is blue.
("Charlie" "is" "blue" "+")
triple3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple4
Charlie is red.
("Charlie" "is" "red" "+")
triple5
Charlie is smart.
("Charlie" "is" "smart" "+")
triple6
((triple5) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
triple7
Fiona is blue.
("Fiona" "is" "blue" "+")
triple8
Fiona is cold.
("Fiona" "is" "cold" "+")
triple9
((triple7) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple10
((triple7) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
triple11
Gary is red.
("Gary" "is" "red" "+")
triple12
Anne is cold.
("Anne" "is" "cold" "+")
((triple1) -> (rule2 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((triple1) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple11) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
((triple12) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1