Anne is nice. Anne is round. Dave is blue. Dave is cold. Dave is green. Dave is quiet. Fiona is not green. If Anne is round and Anne is nice then Anne is rough. All rough, quiet things are green. If something is rough and round then it is quiet. All green things are cold. Green, quiet things are cold. If something is rough and not nice then it is blue.
Anne is nice.
("Anne" "is" "nice" "+")
Anne is round.
("Anne" "is" "round" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Fiona is not green.
("Fiona" "is" "green" "-")
If Anne is round and Anne is nice then Anne is rough.
((("Anne" "is" "round" "+") ("Anne" "is" "nice" "+")) -> ("Anne" "is" "rough" "+"))
All rough, quiet things are green.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
If something is rough and round then it is quiet.
((("something" "is" "rough" "+") ("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
All green things are cold.
((("something" "is" "green" "+")) -> ("something" "is" "cold" "+"))
Green, quiet things are cold.
((("something" "is" "green" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
If something is rough and not nice then it is blue.
((("something" "is" "rough" "+") ("something" "is" "nice" "~")) -> ("something" "is" "blue" "+"))
Dave is blue.
True
1
proof
[(triple3)]
("Dave" "is" "blue" "+")
triple3
Dave is not green.
False
1
inv-proof
[(triple5)]
("Dave" "is" "green" "-")
triple5
Anne is rough.
True
3
proof
[(((triple2 triple1) -> rule1))]
("Anne" "is" "rough" "+")
((triple2 triple1) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is not rough.
False
3
inv-proof
[(((triple2 triple1) -> rule1))]
("Anne" "is" "rough" "-")
((triple2 triple1) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is quiet.
True
5
proof
[(((((triple2 triple1) -> rule1) triple2) -> rule3))]
("Anne" "is" "quiet" "+")
((((triple2 triple1) -> (rule1 % int2)) triple2) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is not quiet.
False
5
inv-proof
[(((((triple2 triple1) -> rule1) triple2) -> rule3))]
("Anne" "is" "quiet" "-")
((((triple2 triple1) -> (rule1 % int2)) triple2) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is green.
True
9
proof
[(((((triple2 triple1) -> rule1) ((((triple2 triple1) -> rule1) triple2) -> rule3)) -> rule2))]
("Anne" "is" "green" "+")
((((triple2 triple1) -> (rule1 % int3)) ((((triple2 triple1) -> (rule1 % int3)) triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is not green.
False
9
inv-proof
[(((((triple2 triple1) -> rule1) ((((triple2 triple1) -> rule1) triple2) -> rule3)) -> rule2))]
("Anne" "is" "green" "-")
((((triple2 triple1) -> (rule1 % int3)) ((((triple2 triple1) -> (rule1 % int3)) triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Fiona is not cold.
Unknown
inv-rconc
[@1: Fiona is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "cold" "-")
Anne is blue.
Unknown
rconc
[@1: Anne is blue.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Anne" "is" "blue" "+")
Fiona is not quiet.
Unknown
inv-rconc
[@1: Fiona is quiet.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "quiet" "-")
Fiona is blue.
Unknown
rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "blue" "+")
Fiona is not round.
Unknown
inv-random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "-")
Fiona is nice.
Unknown
random
[@0: Fiona is nice.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "nice" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
@0: Anne is nice.[(triple1)] Anne is round.[(triple2)] Dave is blue.[(triple3)] Dave is cold.[(triple4 OR ((triple5) -> rule4) OR ((triple5 triple6) -> rule5))] Dave is green.[(triple5)] Dave is quiet.[(triple6)] Fiona is not green.[(triple7)] @1: Anne is rough.[(((triple2 triple1) -> rule1))] @2: Anne is quiet.[(((((triple2 triple1) -> rule1) triple2) -> rule3))] @3: Anne is green.[(((((triple2 triple1) -> rule1) ((((triple2 triple1) -> rule1) triple2) -> rule3)) -> rule2))] @4: Anne is cold.[(((((((triple2 triple1) -> rule1) ((((triple2 triple1) -> rule1) triple2) -> rule3)) -> rule2)) -> rule4) OR ((((((triple2 triple1) -> rule1) ((((triple2 triple1) -> rule1) triple2) -> rule3)) -> rule2) ((((triple2 triple1) -> rule1) triple2) -> rule3)) -> rule5))]
Anne is nice.
("Anne" "is" "nice" "+")
triple1
Anne is round.
("Anne" "is" "round" "+")
triple2
Dave is blue.
("Dave" "is" "blue" "+")
triple3
Dave is cold.
("Dave" "is" "cold" "+")
triple4
((triple5) -> (rule4 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((triple5 triple6) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple5
Dave is quiet.
("Dave" "is" "quiet" "+")
triple6
Fiona is not green.
("Fiona" "is" "green" "-")
triple7
Anne is rough.
("Anne" "is" "rough" "+")
((triple2 triple1) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
((((triple2 triple1) -> (rule1 % int2)) triple2) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
((((triple2 triple1) -> (rule1 % int3)) ((((triple2 triple1) -> (rule1 % int3)) triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
((((((triple2 triple1) -> (rule1 % int4)) ((((triple2 triple1) -> (rule1 % int4)) triple2) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4
((((((triple2 triple1) -> (rule1 % int4)) ((((triple2 triple1) -> (rule1 % int4)) triple2) -> (rule3 % int3))) -> (rule2 % int2)) ((((triple2 triple1) -> (rule1 % int4)) triple2) -> (rule3 % int3))) -> (rule5 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4