Anne is kind. Anne is quiet. Anne is rough. Dave is quiet. Dave is round. Fiona is green. Fiona is kind. Fiona is rough. Fiona is round. Fiona is young. All green people are young. All quiet, kind people are round. If Fiona is round and Fiona is green then Fiona is red. Green, red people are quiet. If someone is red then they are round. All green people are kind.
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is round.
("Dave" "is" "round" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is young.
("Fiona" "is" "young" "+")
All green people are young.
((("someone" "is" "green" "+")) -> ("someone" "is" "young" "+"))
All quiet, kind people are round.
((("someone" "is" "quiet" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "round" "+"))
If Fiona is round and Fiona is green then Fiona is red.
((("Fiona" "is" "round" "+") ("Fiona" "is" "green" "+")) -> ("Fiona" "is" "red" "+"))
Green, red people are quiet.
((("someone" "is" "green" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "quiet" "+"))
If someone is red then they are round.
((("someone" "is" "red" "+")) -> ("someone" "is" "round" "+"))
All green people are kind.
((("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
Anne is kind.
True
1
proof
[(triple1)]
("Anne" "is" "kind" "+")
triple1
Anne is not rough.
False
1
inv-proof
[(triple3)]
("Anne" "is" "rough" "-")
triple3
Anne is not young.
Unknown
inv-rconc
[@1: Anne is young.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "young" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
@0: Anne is kind.[(triple1)] Anne is quiet.[(triple2)] Anne is rough.[(triple3)] Dave is quiet.[(triple4)] Dave is round.[(triple5)] Fiona is green.[(triple6)] Fiona is kind.[(triple7 OR ((triple6) -> rule6))] Fiona is rough.[(triple8)] Fiona is round.[(triple9)] Fiona is young.[(triple10 OR ((triple6) -> rule1))] @1: Anne is round.[(((triple2 triple1) -> rule2))] Fiona is red.[(((triple9 triple6) -> rule3))] @2: Fiona is quiet.[(((triple6 ((triple9 triple6) -> rule3)) -> rule4))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
Dave is quiet.
("Dave" "is" "quiet" "+")
triple4
Dave is round.
("Dave" "is" "round" "+")
triple5
Fiona is green.
("Fiona" "is" "green" "+")
triple6
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
((triple6) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple8
Fiona is round.
("Fiona" "is" "round" "+")
triple9
Fiona is young.
("Fiona" "is" "young" "+")
triple10
((triple6) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
((triple2 triple1) -> (rule2 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple9 triple6) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple6 ((triple9 triple6) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2