Bob is young. Fiona is nice. Gary is furry. All nice, smart things are kind. If something is kind then it is nice. If Bob is young then Bob is kind. If something is quiet then it is smart. If something is young then it is furry. All kind, nice things are green. All smart, quiet things are nice. Nice, furry things are green.
Bob is young.
("Bob" "is" "young" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Gary is furry.
("Gary" "is" "furry" "+")
All nice, smart things are kind.
((("something" "is" "nice" "+") ("something" "is" "smart" "+")) -> ("something" "is" "kind" "+"))
If something is kind then it is nice.
((("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
If Bob is young then Bob is kind.
((("Bob" "is" "young" "+")) -> ("Bob" "is" "kind" "+"))
If something is quiet then it is smart.
((("something" "is" "quiet" "+")) -> ("something" "is" "smart" "+"))
If something is young then it is furry.
((("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
All kind, nice things are green.
((("something" "is" "kind" "+") ("something" "is" "nice" "+")) -> ("something" "is" "green" "+"))
All smart, quiet things are nice.
((("something" "is" "smart" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "nice" "+"))
Nice, furry things are green.
((("something" "is" "nice" "+") ("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
Fiona is nice.
True
1
proof
[(triple2)]
("Fiona" "is" "nice" "+")
triple2
Fiona is not nice.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "nice" "-")
triple2
Bob is furry.
True
2
proof
[(((triple1) -> rule5))]
("Bob" "is" "furry" "+")
((triple1) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is not furry.
False
2
inv-proof
[(((triple1) -> rule5))]
("Bob" "is" "furry" "-")
((triple1) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is nice.
True
3
proof
[(((((triple1) -> rule3)) -> rule2))]
("Bob" "is" "nice" "+")
((((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is not nice.
False
3
inv-proof
[(((((triple1) -> rule3)) -> rule2))]
("Bob" "is" "nice" "-")
((((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is green.
True
6
proof
[(((((triple1) -> rule3) ((((triple1) -> rule3)) -> rule2)) -> rule6) OR ((((((triple1) -> rule3)) -> rule2) ((triple1) -> rule5)) -> rule8))]
("Bob" "is" "green" "+")
((((triple1) -> (rule3 % int3)) ((((triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple1) -> (rule3 % int4))) -> (rule2 % int3)) ((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
Bob is not green.
False
6
inv-proof
[(((((triple1) -> rule3) ((((triple1) -> rule3)) -> rule2)) -> rule6) OR ((((((triple1) -> rule3)) -> rule2) ((triple1) -> rule5)) -> rule8))]
("Bob" "is" "green" "-")
((((triple1) -> (rule3 % int3)) ((((triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple1) -> (rule3 % int4))) -> (rule2 % int3)) ((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
Bob is not smart.
Unknown
inv-rconc
[@1: Bob is smart.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Bob" "is" "smart" "-")
Fiona is kind.
Unknown
rconc
[@2: Fiona is kind.[CWA. Example of deepest failure = (rule1 <- rule4 <- FAIL)]]
("Fiona" "is" "kind" "+")
Fiona is not furry.
Unknown
inv-rconc
[@1: Fiona is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "furry" "-")
Fiona is green.
Unknown
rconc
[@3: Fiona is green.[CWA. Example of deepest failure = (rule6 <- rule1 <- rule4 <- FAIL)]]
("Fiona" "is" "green" "+")
Gary is not quiet.
Unknown
inv-random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "-")
Fiona is quiet.
Unknown
random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "+")
Fiona is not young.
Unknown
inv-random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "-")
Gary is young.
Unknown
random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "+")
@0: Bob is young.[(triple1)] Fiona is nice.[(triple2)] Gary is furry.[(triple3)] @1: Bob is furry.[(((triple1) -> rule5))] Bob is kind.[(((triple1) -> rule3))] @2: Bob is nice.[(((((triple1) -> rule3)) -> rule2))] @3: Bob is green.[(((((triple1) -> rule3) ((((triple1) -> rule3)) -> rule2)) -> rule6) OR ((((((triple1) -> rule3)) -> rule2) ((triple1) -> rule5)) -> rule8))]
Bob is young.
("Bob" "is" "young" "+")
triple1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
Gary is furry.
("Gary" "is" "furry" "+")
triple3
Bob is furry.
("Bob" "is" "furry" "+")
((triple1) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
((triple1) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
((((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
((((triple1) -> (rule3 % int3)) ((((triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple1) -> (rule3 % int4))) -> (rule2 % int3)) ((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4