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