Anne is blue. Anne is kind. Anne is nice. Anne is quiet. Anne is red. Anne is rough. Anne is young. Dave is blue. Dave is not nice. Dave is not young. Fiona is blue. Fiona is kind. Fiona is nice. Fiona is quiet. Fiona is not red. Fiona is rough. If Dave is kind then Dave is nice. If Dave is nice then Dave is quiet. If something is red then it is nice. All kind things are nice. All rough things are young. If something is kind and not rough then it is not young. If Fiona is not quiet then Fiona is kind. If Anne is nice and Anne is kind then Anne is blue.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is young.
("Anne" "is" "young" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is not nice.
("Dave" "is" "nice" "-")
Dave is not young.
("Dave" "is" "young" "-")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is not red.
("Fiona" "is" "red" "-")
Fiona is rough.
("Fiona" "is" "rough" "+")
If Dave is kind then Dave is nice.
((("Dave" "is" "kind" "+")) -> ("Dave" "is" "nice" "+"))
If Dave is nice then Dave is quiet.
((("Dave" "is" "nice" "+")) -> ("Dave" "is" "quiet" "+"))
If something is red then it is nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
All kind things are nice.
((("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
All rough things are young.
((("something" "is" "rough" "+")) -> ("something" "is" "young" "+"))
If something is kind and not rough then it is not young.
((("something" "is" "kind" "+") ("something" "is" "rough" "~")) -> ("something" "is" "young" "-"))
If Fiona is not quiet then Fiona is kind.
((("Fiona" "is" "quiet" "~")) -> ("Fiona" "is" "kind" "+"))
If Anne is nice and Anne is kind then Anne is blue.
((("Anne" "is" "nice" "+") ("Anne" "is" "kind" "+")) -> ("Anne" "is" "blue" "+"))
Anne is blue.
True
1
proof
[(triple1 OR ((triple3 triple2) -> rule8) OR ((((triple2) -> rule4) triple2) -> rule8) OR ((((triple5) -> rule3) triple2) -> rule8))]
("Anne" "is" "blue" "+")
triple1
((triple3 triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple2) -> (rule4 % int2)) triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple5) -> (rule3 % int2)) triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is not blue.
False
1
inv-proof
[(triple1 OR ((triple3 triple2) -> rule8) OR ((((triple2) -> rule4) triple2) -> rule8) OR ((((triple5) -> rule3) triple2) -> rule8))]
("Anne" "is" "blue" "-")
triple1
((triple3 triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple2) -> (rule4 % int2)) triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple5) -> (rule3 % int2)) triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Fiona is young.
True
2
proof
[(((triple16) -> rule5))]
("Fiona" "is" "young" "+")
((triple16) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is not young.
False
2
inv-proof
[(((triple16) -> rule5))]
("Fiona" "is" "young" "-")
((triple16) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Dave is not quiet.
Unknown
inv-rconc
[@1: Dave is quiet.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "quiet" "-")
Dave is kind.
Unknown
random
[@0: Dave is kind.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "kind" "+")
Dave is not red.
Unknown
inv-random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
@0: Anne is blue.[(triple1 OR ((triple3 triple2) -> rule8) OR ((((triple2) -> rule4) triple2) -> rule8) OR ((((triple5) -> rule3) triple2) -> rule8))] Anne is kind.[(triple2)] Anne is nice.[(triple3 OR ((triple2) -> rule4) OR ((triple5) -> rule3))] Anne is quiet.[(triple4)] Anne is red.[(triple5)] Anne is rough.[(triple6)] Anne is young.[(triple7 OR ((triple6) -> rule5))] Dave is blue.[(triple8)] Dave is not nice.[(triple9)] Dave is not young.[(triple10)] Fiona is blue.[(triple11)] Fiona is kind.[(triple12)] Fiona is nice.[(triple13 OR ((triple12) -> rule4))] Fiona is not red.[(triple15)] Fiona is quiet.[(triple14)] Fiona is rough.[(triple16)] @1: Fiona is young.[(((triple16) -> rule5))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple3 triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple2) -> (rule4 % int2)) triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple5) -> (rule3 % int2)) triple2) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Anne is nice.
("Anne" "is" "nice" "+")
triple3
((triple2) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple5) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Anne is red.
("Anne" "is" "red" "+")
triple5
Anne is rough.
("Anne" "is" "rough" "+")
triple6
Anne is young.
("Anne" "is" "young" "+")
triple7
((triple6) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
triple8
Dave is not nice.
("Dave" "is" "nice" "-")
triple9
Dave is not young.
("Dave" "is" "young" "-")
triple10
Fiona is blue.
("Fiona" "is" "blue" "+")
triple11
Fiona is kind.
("Fiona" "is" "kind" "+")
triple12
Fiona is nice.
("Fiona" "is" "nice" "+")
triple13
((triple12) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is not red.
("Fiona" "is" "red" "-")
triple15
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple14
Fiona is rough.
("Fiona" "is" "rough" "+")
triple16
Fiona is young.
("Fiona" "is" "young" "+")
((triple16) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1