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