Anne is nice. Anne is smart. Anne is young. Erin is furry. Fiona is nice. Fiona is quiet. Fiona is round. Fiona is smart. Fiona is young. Gary is blue. Gary is smart. Gary is young. If something is quiet then it is blue. Round things are quiet. All round, smart things are young. If something is young then it is quiet. If something is young then it is furry. All blue, smart things are round.
Anne is nice.
("Anne" "is" "nice" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is young.
("Anne" "is" "young" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is young.
("Gary" "is" "young" "+")
If something is quiet then it is blue.
((("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
Round things are quiet.
((("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
All round, smart things are young.
((("something" "is" "round" "+") ("something" "is" "smart" "+")) -> ("something" "is" "young" "+"))
If something is young then it is quiet.
((("something" "is" "young" "+")) -> ("something" "is" "quiet" "+"))
If something is young then it is furry.
((("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
All blue, smart things are round.
((("something" "is" "blue" "+") ("something" "is" "smart" "+")) -> ("something" "is" "round" "+"))
Fiona is round.
True
1
proof
[(triple7 OR ((((triple6) -> rule1) triple8) -> rule6) OR ((((((triple9) -> rule4)) -> rule1) triple8) -> rule6))]
("Fiona" "is" "round" "+")
triple7
((((triple6) -> (rule1 % int2)) triple8) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((((triple9) -> (rule4 % int3))) -> (rule1 % int2)) triple8) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is not smart.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "smart" "-")
triple8
Anne is quiet.
True
2
proof
[(((triple3) -> rule4))]
("Anne" "is" "quiet" "+")
((triple3) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Gary is not quiet.
False
2
inv-proof
[(((triple12) -> rule4) OR ((((triple10 triple11) -> rule6)) -> rule2) OR ((((((triple10 triple11) -> rule6) triple11) -> rule3)) -> rule4))]
("Gary" "is" "quiet" "-")
((triple12) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple10 triple11) -> (rule6 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((((triple10 triple11) -> (rule6 % int3)) triple11) -> (rule3 % int2))) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Anne is blue.
True
3
proof
[(((((triple3) -> rule4)) -> rule1))]
("Anne" "is" "blue" "+")
((((triple3) -> (rule4 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is not blue.
False
3
inv-proof
[(((((triple3) -> rule4)) -> rule1))]
("Anne" "is" "blue" "-")
((((triple3) -> (rule4 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is round.
True
5
proof
[(((((((triple3) -> rule4)) -> rule1) triple2) -> rule6))]
("Anne" "is" "round" "+")
((((((triple3) -> (rule4 % int3))) -> (rule1 % int2)) triple2) -> (rule6 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is not round.
False
5
inv-proof
[(((((((triple3) -> rule4)) -> rule1) triple2) -> rule6))]
("Anne" "is" "round" "-")
((((((triple3) -> (rule4 % int3))) -> (rule1 % int2)) triple2) -> (rule6 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Erin is not blue.
Unknown
inv-rconc
[@3: Erin is blue.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule6 <- FAIL)]]
("Erin" "is" "blue" "-")
Erin is round.
Unknown
rconc
[@1: Erin is round.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "round" "+")
Erin is not quiet.
Unknown
inv-rconc
[@2: Erin is quiet.[CWA. Example of deepest failure = (rule2 <- rule6 <- FAIL)]]
("Erin" "is" "quiet" "-")
Erin is young.
Unknown
rconc
[@1: Erin is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "young" "+")
Erin is not smart.
Unknown
inv-random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "-")
Gary is nice.
Unknown
random
[@0: Gary is nice.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "nice" "+")
@0: Anne is nice.[(triple1)] Anne is smart.[(triple2)] Anne is young.[(triple3)] Erin is furry.[(triple4)] Fiona is nice.[(triple5)] Fiona is quiet.[(triple6 OR ((triple7) -> rule2) OR ((triple9) -> rule4) OR ((((triple7 triple8) -> rule3)) -> rule4))] Fiona is round.[(triple7 OR ((((triple6) -> rule1) triple8) -> rule6) OR ((((((triple9) -> rule4)) -> rule1) triple8) -> rule6))] Fiona is smart.[(triple8)] Fiona is young.[(triple9 OR ((triple7 triple8) -> rule3) OR ((((((triple6) -> rule1) triple8) -> rule6) triple8) -> rule3))] Gary is blue.[(triple10 OR ((((triple12) -> rule4)) -> rule1))] Gary is smart.[(triple11)] Gary is young.[(triple12 OR ((((triple10 triple11) -> rule6) triple11) -> rule3))] @1: Anne is furry.[(((triple3) -> rule5))] Anne is quiet.[(((triple3) -> rule4))] Fiona is blue.[(((triple6) -> rule1) OR ((((triple7) -> rule2)) -> rule1) OR ((((triple9) -> rule4)) -> rule1) OR ((((((triple7 triple8) -> rule3)) -> rule4)) -> rule1))] Fiona is furry.[(((triple9) -> rule5) OR ((((triple7 triple8) -> rule3)) -> rule5) OR ((((((((triple6) -> rule1) triple8) -> rule6) triple8) -> rule3)) -> rule5))] Gary is furry.[(((triple12) -> rule5) OR ((((((triple10 triple11) -> rule6) triple11) -> rule3)) -> rule5))] Gary is quiet.[(((triple12) -> rule4) OR ((((triple10 triple11) -> rule6)) -> rule2) OR ((((((triple10 triple11) -> rule6) triple11) -> rule3)) -> rule4))] Gary is round.[(((triple10 triple11) -> rule6) OR ((((((triple12) -> rule4)) -> rule1) triple11) -> rule6))] @2: Anne is blue.[(((((triple3) -> rule4)) -> rule1))] @3: Anne is round.[(((((((triple3) -> rule4)) -> rule1) triple2) -> rule6))]
Anne is nice.
("Anne" "is" "nice" "+")
triple1
Anne is smart.
("Anne" "is" "smart" "+")
triple2
Anne is young.
("Anne" "is" "young" "+")
triple3
Erin is furry.
("Erin" "is" "furry" "+")
triple4
Fiona is nice.
("Fiona" "is" "nice" "+")
triple5
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple6
((triple7) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple9) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((((triple7 triple8) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
triple7
((((triple6) -> (rule1 % int2)) triple8) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((((triple9) -> (rule4 % int3))) -> (rule1 % int2)) triple8) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
triple8
Fiona is young.
("Fiona" "is" "young" "+")
triple9
((triple7 triple8) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((((triple6) -> (rule1 % int3)) triple8) -> (rule6 % int2)) triple8) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
triple10
((((triple12) -> (rule4 % int2))) -> (rule1 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple11
Gary is young.
("Gary" "is" "young" "+")
triple12
((((triple10 triple11) -> (rule6 % int2)) triple11) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
((triple3) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
((triple3) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple6) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple7) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple9) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((((triple7 triple8) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple9) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple7 triple8) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((((((triple6) -> (rule1 % int4)) triple8) -> (rule6 % int3)) triple8) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Gary is furry.
("Gary" "is" "furry" "+")
((triple12) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((((triple10 triple11) -> (rule6 % int3)) triple11) -> (rule3 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple12) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple10 triple11) -> (rule6 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((((triple10 triple11) -> (rule6 % int3)) triple11) -> (rule3 % int2))) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
((triple10 triple11) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((((((triple12) -> (rule4 % int3))) -> (rule1 % int2)) triple11) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
((((triple3) -> (rule4 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
((((((triple3) -> (rule4 % int3))) -> (rule1 % int2)) triple2) -> (rule6 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3