Anne is furry. Anne is kind. Anne is red. Anne is rough. Anne is smart. Anne is young. Bob is red. Bob is smart. Erin is cold. Erin is kind. Erin is rough. Erin is young. Harry is cold. Harry is furry. Harry is red. Kind, smart things are young. All furry, red things are smart. All smart, furry things are kind.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is young.
("Erin" "is" "young" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is red.
("Harry" "is" "red" "+")
Kind, smart things are young.
((("something" "is" "kind" "+") ("something" "is" "smart" "+")) -> ("something" "is" "young" "+"))
All furry, red things are smart.
((("something" "is" "furry" "+") ("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
All smart, furry things are kind.
((("something" "is" "smart" "+") ("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
Anne is young.
True
1
proof
[(triple6 OR ((triple2 triple5) -> rule1) OR ((triple2 ((triple1 triple3) -> rule2)) -> rule1) OR ((((triple5 triple1) -> rule3) triple5) -> rule1) OR ((((triple5 triple1) -> rule3) ((triple1 triple3) -> rule2)) -> rule1) OR ((((((triple1 triple3) -> rule2) triple1) -> rule3) triple5) -> rule1) OR ((((((triple1 triple3) -> rule2) triple1) -> rule3) ((triple1 triple3) -> rule2)) -> rule1))]
("Anne" "is" "young" "+")
triple6
((triple2 triple5) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((triple2 ((triple1 triple3) -> (rule2 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
((((triple5 triple1) -> (rule3 % int2)) triple5) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((triple5 triple1) -> (rule3 % int3)) ((triple1 triple3) -> (rule2 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
((((((triple1 triple3) -> (rule2 % int3)) triple1) -> (rule3 % int2)) triple5) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
((((((triple1 triple3) -> (rule2 % int3)) triple1) -> (rule3 % int2)) ((triple1 triple3) -> (rule2 % int3))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is not furry.
False
1
inv-proof
[(triple1)]
("Anne" "is" "furry" "-")
triple1
Harry is smart.
True
3
proof
[(((triple14 triple15) -> rule2))]
("Harry" "is" "smart" "+")
((triple14 triple15) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is not smart.
False
3
inv-proof
[(((triple14 triple15) -> rule2))]
("Harry" "is" "smart" "-")
((triple14 triple15) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
True
5
proof
[(((((triple14 triple15) -> rule2) triple14) -> rule3))]
("Harry" "is" "kind" "+")
((((triple14 triple15) -> (rule2 % int2)) triple14) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is not kind.
False
5
inv-proof
[(((((triple14 triple15) -> rule2) triple14) -> rule3))]
("Harry" "is" "kind" "-")
((((triple14 triple15) -> (rule2 % int2)) triple14) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
True
9
proof
[(((((((triple14 triple15) -> rule2) triple14) -> rule3) ((triple14 triple15) -> rule2)) -> rule1))]
("Harry" "is" "young" "+")
((((((triple14 triple15) -> (rule2 % int3)) triple14) -> (rule3 % int2)) ((triple14 triple15) -> (rule2 % int3))) -> (rule1 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is not young.
False
9
inv-proof
[(((((((triple14 triple15) -> rule2) triple14) -> rule3) ((triple14 triple15) -> rule2)) -> rule1))]
("Harry" "is" "young" "-")
((((((triple14 triple15) -> (rule2 % int3)) triple14) -> (rule3 % int2)) ((triple14 triple15) -> (rule2 % int3))) -> (rule1 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Bob is not young.
Unknown
inv-rconc
[@2: Bob is young.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Bob" "is" "young" "-")
Erin is smart.
Unknown
rconc
[@1: Erin is smart.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "smart" "+")
Bob is not kind.
Unknown
inv-rconc
[@1: Bob is kind.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "kind" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
Bob is not furry.
Unknown
inv-random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "-")
Erin is furry.
Unknown
random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "+")
Bob is not cold.
Unknown
inv-random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
@0: Anne is furry.[(triple1)] Anne is kind.[(triple2 OR ((triple5 triple1) -> rule3) OR ((((triple1 triple3) -> rule2) triple1) -> rule3))] Anne is red.[(triple3)] Anne is rough.[(triple4)] Anne is smart.[(triple5 OR ((triple1 triple3) -> rule2))] Anne is young.[(triple6 OR ((triple2 triple5) -> rule1) OR ((triple2 ((triple1 triple3) -> rule2)) -> rule1) OR ((((triple5 triple1) -> rule3) triple5) -> rule1) OR ((((triple5 triple1) -> rule3) ((triple1 triple3) -> rule2)) -> rule1) OR ((((((triple1 triple3) -> rule2) triple1) -> rule3) triple5) -> rule1) OR ((((((triple1 triple3) -> rule2) triple1) -> rule3) ((triple1 triple3) -> rule2)) -> rule1))] Bob is red.[(triple7)] Bob is smart.[(triple8)] Erin is cold.[(triple9)] Erin is kind.[(triple10)] Erin is rough.[(triple11)] Erin is young.[(triple12)] Harry is cold.[(triple13)] Harry is furry.[(triple14)] Harry is red.[(triple15)] @1: Harry is smart.[(((triple14 triple15) -> rule2))] @2: Harry is kind.[(((((triple14 triple15) -> rule2) triple14) -> rule3))] @3: Harry is young.[(((((((triple14 triple15) -> rule2) triple14) -> rule3) ((triple14 triple15) -> rule2)) -> rule1))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
((triple5 triple1) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple1 triple3) -> (rule2 % int2)) triple1) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
triple3
Anne is rough.
("Anne" "is" "rough" "+")
triple4
Anne is smart.
("Anne" "is" "smart" "+")
triple5
((triple1 triple3) -> (rule2 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
triple6
((triple2 triple5) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((triple2 ((triple1 triple3) -> (rule2 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
((((triple5 triple1) -> (rule3 % int2)) triple5) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((triple5 triple1) -> (rule3 % int3)) ((triple1 triple3) -> (rule2 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
((((((triple1 triple3) -> (rule2 % int3)) triple1) -> (rule3 % int2)) triple5) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
((((((triple1 triple3) -> (rule2 % int3)) triple1) -> (rule3 % int2)) ((triple1 triple3) -> (rule2 % int3))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
triple7
Bob is smart.
("Bob" "is" "smart" "+")
triple8
Erin is cold.
("Erin" "is" "cold" "+")
triple9
Erin is kind.
("Erin" "is" "kind" "+")
triple10
Erin is rough.
("Erin" "is" "rough" "+")
triple11
Erin is young.
("Erin" "is" "young" "+")
triple12
Harry is cold.
("Harry" "is" "cold" "+")
triple13
Harry is furry.
("Harry" "is" "furry" "+")
triple14
Harry is red.
("Harry" "is" "red" "+")
triple15
Harry is smart.
("Harry" "is" "smart" "+")
((triple14 triple15) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((((triple14 triple15) -> (rule2 % int2)) triple14) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
((((((triple14 triple15) -> (rule2 % int3)) triple14) -> (rule3 % int2)) ((triple14 triple15) -> (rule2 % int3))) -> (rule1 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3