Anne is red. Bob is kind. Bob is quiet. Charlie is not cold. Charlie is nice. Charlie is quiet. Fiona is kind. Kind things are cold. If something is blue then it is red. All quiet things are blue. Kind, nice things are blue. Cold things are nice. Red things are nice. If something is red then it is quiet. If Bob is green then Bob is not cold.
Anne is red.
("Anne" "is" "red" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Charlie is not cold.
("Charlie" "is" "cold" "-")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Kind things are cold.
((("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
If something is blue then it is red.
((("something" "is" "blue" "+")) -> ("something" "is" "red" "+"))
All quiet things are blue.
((("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
Kind, nice things are blue.
((("something" "is" "kind" "+") ("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
Cold things are nice.
((("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
Red things are nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If something is red then it is quiet.
((("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
If Bob is green then Bob is not cold.
((("Bob" "is" "green" "+")) -> ("Bob" "is" "cold" "-"))
Anne is red.
True
1
proof
[(triple1)]
("Anne" "is" "red" "+")
triple1
Anne is not red.
False
1
inv-proof
[(triple1)]
("Anne" "is" "red" "-")
triple1
Anne is nice.
True
2
proof
[(((triple1) -> rule6))]
("Anne" "is" "nice" "+")
((triple1) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Fiona is not cold.
False
2
inv-proof
[(((triple7) -> rule1))]
("Fiona" "is" "cold" "-")
((triple7) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Charlie is red.
True
3
proof
[(((((triple6) -> rule3)) -> rule2))]
("Charlie" "is" "red" "+")
((((triple6) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is not red.
False
3
inv-proof
[(((((triple6) -> rule3)) -> rule2))]
("Charlie" "is" "red" "-")
((((triple6) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Fiona is blue.
True
5
proof
[(((triple7 ((((triple7) -> rule1)) -> rule5)) -> rule4))]
("Fiona" "is" "blue" "+")
((triple7 ((((triple7) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is not blue.
False
5
inv-proof
[(((triple7 ((((triple7) -> rule1)) -> rule5)) -> rule4))]
("Fiona" "is" "blue" "-")
((triple7 ((((triple7) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is red.
True
6
proof
[(((((triple7 ((((triple7) -> rule1)) -> rule5)) -> rule4)) -> rule2))]
("Fiona" "is" "red" "+")
((((triple7 ((((triple7) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is not red.
False
6
inv-proof
[(((((triple7 ((((triple7) -> rule1)) -> rule5)) -> rule4)) -> rule2))]
("Fiona" "is" "red" "-")
((((triple7 ((((triple7) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is quiet.
True
7
proof
[(((((((triple7 ((((triple7) -> rule1)) -> rule5)) -> rule4)) -> rule2)) -> rule7))]
("Fiona" "is" "quiet" "+")
((((((triple7 ((((triple7) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is cold.
("Fiona" "is" "cold" "+")
int5
Fiona is not quiet.
False
7
inv-proof
[(((((((triple7 ((((triple7) -> rule1)) -> rule5)) -> rule4)) -> rule2)) -> rule7))]
("Fiona" "is" "quiet" "-")
((((((triple7 ((((triple7) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is cold.
("Fiona" "is" "cold" "+")
int5
Anne is not cold.
Unknown
inv-rconc
[@1: Anne is cold.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "cold" "-")
Charlie is green.
Unknown
random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "+")
Anne is not green.
Unknown
inv-random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "-")
Charlie is kind.
Unknown
random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "+")
Anne is not kind.
Unknown
inv-random
[@0: Anne is kind.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "kind" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
@0: Anne is red.[(triple1)] Bob is kind.[(triple2)] Bob is quiet.[(triple3 OR ((((((triple2 ((((triple2) -> rule1)) -> rule5)) -> rule4)) -> rule2)) -> rule7))] Charlie is nice.[(triple5 OR ((((((triple6) -> rule3)) -> rule2)) -> rule6))] Charlie is not cold.[(triple4)] Charlie is quiet.[(triple6)] Fiona is kind.[(triple7)] @1: Anne is nice.[(((triple1) -> rule6))] Anne is quiet.[(((triple1) -> rule7))] Bob is blue.[(((triple3) -> rule3) OR ((triple2 ((((triple2) -> rule1)) -> rule5)) -> rule4))] Bob is cold.[(((triple2) -> rule1))] Charlie is blue.[(((triple6) -> rule3))] Fiona is cold.[(((triple7) -> rule1))] @2: Anne is blue.[(((((triple1) -> rule7)) -> rule3))] Bob is nice.[(((((triple2) -> rule1)) -> rule5) OR ((((((triple3) -> rule3)) -> rule2)) -> rule6))] Bob is red.[(((((triple3) -> rule3)) -> rule2) OR ((((triple2 ((((triple2) -> rule1)) -> rule5)) -> rule4)) -> rule2))] Charlie is red.[(((((triple6) -> rule3)) -> rule2))] Fiona is nice.[(((((triple7) -> rule1)) -> rule5))] @3: Fiona is blue.[(((triple7 ((((triple7) -> rule1)) -> rule5)) -> rule4))] @4: Fiona is red.[(((((triple7 ((((triple7) -> rule1)) -> rule5)) -> rule4)) -> rule2))] @5: Fiona is quiet.[(((((((triple7 ((((triple7) -> rule1)) -> rule5)) -> rule4)) -> rule2)) -> rule7))]
Anne is red.
("Anne" "is" "red" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((((((triple2 ((((triple2) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is cold.
("Bob" "is" "cold" "+")
int5
Charlie is nice.
("Charlie" "is" "nice" "+")
triple5
((((((triple6) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is not cold.
("Charlie" "is" "cold" "-")
triple4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple6
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
Anne is nice.
("Anne" "is" "nice" "+")
((triple1) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
((triple1) -> (rule7 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
((triple3) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple2 ((((triple2) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
((triple2) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple6) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple7) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
((((triple1) -> (rule7 % int2))) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
((((triple2) -> (rule1 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((((triple3) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
((((triple3) -> (rule3 % int2))) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple2 ((((triple2) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
((((triple6) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple7 ((((triple7) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
((((triple7 ((((triple7) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((((((triple7 ((((triple7) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is cold.
("Fiona" "is" "cold" "+")
int5