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