Anne is blue. Anne is green. Anne is quiet. Anne is red. Anne is round. Bob is blue. Bob is furry. Fiona is cold. Fiona is round. Gary is red. If something is blue and furry then it is green. If something is red then it is round. All green, furry things are red.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is red.
("Gary" "is" "red" "+")
If something is blue and furry then it is green.
((("something" "is" "blue" "+") ("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
If something is red then it is round.
((("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
All green, furry things are red.
((("something" "is" "green" "+") ("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
Anne is blue.
True
1
proof
[(triple1)]
("Anne" "is" "blue" "+")
triple1
Fiona is not cold.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "cold" "-")
triple8
Gary is round.
True
2
proof
[(((triple10) -> rule2))]
("Gary" "is" "round" "+")
((triple10) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is not round.
False
2
inv-proof
[(((triple10) -> rule2))]
("Gary" "is" "round" "-")
((triple10) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Bob is red.
True
5
proof
[(((((triple6 triple7) -> rule1) triple7) -> rule3))]
("Bob" "is" "red" "+")
((((triple6 triple7) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is not red.
False
5
inv-proof
[(((((triple6 triple7) -> rule1) triple7) -> rule3))]
("Bob" "is" "red" "-")
((((triple6 triple7) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Fiona is not red.
Unknown
inv-rconc
[@1: Fiona is red.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "red" "-")
Fiona is green.
Unknown
rconc
[@1: Fiona is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "green" "+")
Gary is not green.
Unknown
inv-rconc
[@1: Gary is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "green" "-")
Gary is furry.
Unknown
random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "+")
Gary is not cold.
Unknown
inv-random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "-")
Gary is blue.
Unknown
random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "+")
@0: Anne is blue.[(triple1)] Anne is green.[(triple2)] Anne is quiet.[(triple3)] Anne is red.[(triple4)] Anne is round.[(triple5 OR ((triple4) -> rule2))] Bob is blue.[(triple6)] Bob is furry.[(triple7)] Fiona is cold.[(triple8)] Fiona is round.[(triple9)] Gary is red.[(triple10)] @1: Bob is green.[(((triple6 triple7) -> rule1))] Gary is round.[(((triple10) -> rule2))] @2: Bob is red.[(((((triple6 triple7) -> rule1) triple7) -> rule3))] @3: Bob is round.[(((((((triple6 triple7) -> rule1) triple7) -> rule3)) -> rule2))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple3
Anne is red.
("Anne" "is" "red" "+")
triple4
Anne is round.
("Anne" "is" "round" "+")
triple5
((triple4) -> (rule2 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
triple6
Bob is furry.
("Bob" "is" "furry" "+")
triple7
Fiona is cold.
("Fiona" "is" "cold" "+")
triple8
Fiona is round.
("Fiona" "is" "round" "+")
triple9
Gary is red.
("Gary" "is" "red" "+")
triple10
Bob is green.
("Bob" "is" "green" "+")
((triple6 triple7) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple10) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
((((triple6 triple7) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
((((((triple6 triple7) -> (rule1 % int3)) triple7) -> (rule3 % int2))) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3