Bob is big. Bob is quiet. Bob is smart. Erin is furry. Erin is smart. Fiona is big. Fiona is cold. Fiona is furry. Fiona is kind. Fiona is smart. All cold, furry things are kind. Smart things are cold. If something is quiet and furry then it is kind. Kind, cold things are young. All quiet things are big. If something is big then it is cold.
Bob is big.
("Bob" "is" "big" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
All cold, furry things are kind.
((("something" "is" "cold" "+") ("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
Smart things are cold.
((("something" "is" "smart" "+")) -> ("something" "is" "cold" "+"))
If something is quiet and furry then it is kind.
((("something" "is" "quiet" "+") ("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
Kind, cold things are young.
((("something" "is" "kind" "+") ("something" "is" "cold" "+")) -> ("something" "is" "young" "+"))
All quiet things are big.
((("something" "is" "quiet" "+")) -> ("something" "is" "big" "+"))
If something is big then it is cold.
((("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
Fiona is cold.
True
1
proof
[(triple7 OR ((triple10) -> rule2) OR ((triple6) -> rule6))]
("Fiona" "is" "cold" "+")
triple7
((triple10) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple6) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is not cold.
False
1
inv-proof
[(triple7 OR ((triple10) -> rule2) OR ((triple6) -> rule6))]
("Fiona" "is" "cold" "-")
triple7
((triple10) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple6) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is young.
True
3
proof
[(((triple9 triple7) -> rule4) OR ((triple9 ((triple10) -> rule2)) -> rule4) OR ((triple9 ((triple6) -> rule6)) -> rule4) OR ((((triple7 triple8) -> rule1) triple7) -> rule4) OR ((((triple7 triple8) -> rule1) ((triple10) -> rule2)) -> rule4) OR ((((triple7 triple8) -> rule1) ((triple6) -> rule6)) -> rule4) OR ((((((triple10) -> rule2) triple8) -> rule1) triple7) -> rule4) OR ((((((triple6) -> rule6) triple8) -> rule1) triple7) -> rule4) OR ((((((triple10) -> rule2) triple8) -> rule1) ((triple10) -> rule2)) -> rule4) OR ((((((triple10) -> rule2) triple8) -> rule1) ((triple6) -> rule6)) -> rule4) OR ((((((triple6) -> rule6) triple8) -> rule1) ((triple10) -> rule2)) -> rule4) OR ((((((triple6) -> rule6) triple8) -> rule1) ((triple6) -> rule6)) -> rule4))]
("Fiona" "is" "young" "+")
((triple9 triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((triple9 ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((triple9 ((triple6) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple7 triple8) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((((triple7 triple8) -> (rule1 % int3)) ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((triple7 triple8) -> (rule1 % int3)) ((triple6) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((((triple10) -> (rule2 % int3)) triple8) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple6) -> (rule6 % int3)) triple8) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple10) -> (rule2 % int3)) triple8) -> (rule1 % int2)) ((triple10) -> (rule2 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple10) -> (rule2 % int3)) triple8) -> (rule1 % int2)) ((triple6) -> (rule6 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple6) -> (rule6 % int3)) triple8) -> (rule1 % int2)) ((triple10) -> (rule2 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple6) -> (rule6 % int3)) triple8) -> (rule1 % int2)) ((triple6) -> (rule6 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is not young.
False
3
inv-proof
[(((triple9 triple7) -> rule4) OR ((triple9 ((triple10) -> rule2)) -> rule4) OR ((triple9 ((triple6) -> rule6)) -> rule4) OR ((((triple7 triple8) -> rule1) triple7) -> rule4) OR ((((triple7 triple8) -> rule1) ((triple10) -> rule2)) -> rule4) OR ((((triple7 triple8) -> rule1) ((triple6) -> rule6)) -> rule4) OR ((((((triple10) -> rule2) triple8) -> rule1) triple7) -> rule4) OR ((((((triple6) -> rule6) triple8) -> rule1) triple7) -> rule4) OR ((((((triple10) -> rule2) triple8) -> rule1) ((triple10) -> rule2)) -> rule4) OR ((((((triple10) -> rule2) triple8) -> rule1) ((triple6) -> rule6)) -> rule4) OR ((((((triple6) -> rule6) triple8) -> rule1) ((triple10) -> rule2)) -> rule4) OR ((((((triple6) -> rule6) triple8) -> rule1) ((triple6) -> rule6)) -> rule4))]
("Fiona" "is" "young" "-")
((triple9 triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((triple9 ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((triple9 ((triple6) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple7 triple8) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((((triple7 triple8) -> (rule1 % int3)) ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((triple7 triple8) -> (rule1 % int3)) ((triple6) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((((triple10) -> (rule2 % int3)) triple8) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple6) -> (rule6 % int3)) triple8) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple10) -> (rule2 % int3)) triple8) -> (rule1 % int2)) ((triple10) -> (rule2 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple10) -> (rule2 % int3)) triple8) -> (rule1 % int2)) ((triple6) -> (rule6 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple6) -> (rule6 % int3)) triple8) -> (rule1 % int2)) ((triple10) -> (rule2 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple6) -> (rule6 % int3)) triple8) -> (rule1 % int2)) ((triple6) -> (rule6 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Erin is kind.
True
4
proof
[(((((triple5) -> rule2) triple4) -> rule1))]
("Erin" "is" "kind" "+")
((((triple5) -> (rule2 % int2)) triple4) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is not kind.
False
4
inv-proof
[(((((triple5) -> rule2) triple4) -> rule1))]
("Erin" "is" "kind" "-")
((((triple5) -> (rule2 % int2)) triple4) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Bob is not kind.
Unknown
inv-rconc
[@1: Bob is kind.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "kind" "-")
Erin is big.
Unknown
rconc
[@1: Erin is big.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "big" "+")
Bob is not young.
Unknown
inv-rconc
[@2: Bob is young.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Bob" "is" "young" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
Fiona is not quiet.
Unknown
inv-random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "-")
Erin is quiet.
Unknown
random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "+")
@0: Bob is big.[(triple1 OR ((triple2) -> rule5))] Bob is quiet.[(triple2)] Bob is smart.[(triple3)] Erin is furry.[(triple4)] Erin is smart.[(triple5)] Fiona is big.[(triple6)] Fiona is cold.[(triple7 OR ((triple10) -> rule2) OR ((triple6) -> rule6))] Fiona is furry.[(triple8)] Fiona is kind.[(triple9 OR ((triple7 triple8) -> rule1) OR ((((triple10) -> rule2) triple8) -> rule1) OR ((((triple6) -> rule6) triple8) -> rule1))] Fiona is smart.[(triple10)] @1: Bob is cold.[(((triple1) -> rule6) OR ((triple3) -> rule2) OR ((((triple2) -> rule5)) -> rule6))] Erin is cold.[(((triple5) -> rule2))] Fiona is young.[(((triple9 triple7) -> rule4) OR ((triple9 ((triple10) -> rule2)) -> rule4) OR ((triple9 ((triple6) -> rule6)) -> rule4) OR ((((triple7 triple8) -> rule1) triple7) -> rule4) OR ((((triple7 triple8) -> rule1) ((triple10) -> rule2)) -> rule4) OR ((((triple7 triple8) -> rule1) ((triple6) -> rule6)) -> rule4) OR ((((((triple10) -> rule2) triple8) -> rule1) triple7) -> rule4) OR ((((((triple6) -> rule6) triple8) -> rule1) triple7) -> rule4) OR ((((((triple10) -> rule2) triple8) -> rule1) ((triple10) -> rule2)) -> rule4) OR ((((((triple10) -> rule2) triple8) -> rule1) ((triple6) -> rule6)) -> rule4) OR ((((((triple6) -> rule6) triple8) -> rule1) ((triple10) -> rule2)) -> rule4) OR ((((((triple6) -> rule6) triple8) -> rule1) ((triple6) -> rule6)) -> rule4))] @2: Erin is kind.[(((((triple5) -> rule2) triple4) -> rule1))] @3: Erin is young.[(((((((triple5) -> rule2) triple4) -> rule1) ((triple5) -> rule2)) -> rule4))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple2) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple2
Bob is smart.
("Bob" "is" "smart" "+")
triple3
Erin is furry.
("Erin" "is" "furry" "+")
triple4
Erin is smart.
("Erin" "is" "smart" "+")
triple5
Fiona is big.
("Fiona" "is" "big" "+")
triple6
Fiona is cold.
("Fiona" "is" "cold" "+")
triple7
((triple10) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple6) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
Fiona is kind.
("Fiona" "is" "kind" "+")
triple9
((triple7 triple8) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((((triple10) -> (rule2 % int2)) triple8) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple6) -> (rule6 % int2)) triple8) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
triple10
Bob is cold.
("Bob" "is" "cold" "+")
((triple1) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple3) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple2) -> (rule5 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
((triple5) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple9 triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((triple9 ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((triple9 ((triple6) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple7 triple8) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((((triple7 triple8) -> (rule1 % int3)) ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((triple7 triple8) -> (rule1 % int3)) ((triple6) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((((triple10) -> (rule2 % int3)) triple8) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple6) -> (rule6 % int3)) triple8) -> (rule1 % int2)) triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple10) -> (rule2 % int3)) triple8) -> (rule1 % int2)) ((triple10) -> (rule2 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple10) -> (rule2 % int3)) triple8) -> (rule1 % int2)) ((triple6) -> (rule6 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple6) -> (rule6 % int3)) triple8) -> (rule1 % int2)) ((triple10) -> (rule2 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple6) -> (rule6 % int3)) triple8) -> (rule1 % int2)) ((triple6) -> (rule6 % int3))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
((((triple5) -> (rule2 % int2)) triple4) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
((((((triple5) -> (rule2 % int3)) triple4) -> (rule1 % int2)) ((triple5) -> (rule2 % int3))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3