Bob is furry. Bob is green. Bob is quiet. Bob is red. Bob is smart. Bob is white. Bob is young. Dave is furry. Dave is smart. Fiona is quiet. Fiona is white. Fiona is young. If something is green then it is smart. White things are green. Smart, green things are furry.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If something is green then it is smart.
((("something" "is" "green" "+")) -> ("something" "is" "smart" "+"))
White things are green.
((("something" "is" "white" "+")) -> ("something" "is" "green" "+"))
Smart, green things are furry.
((("something" "is" "smart" "+") ("something" "is" "green" "+")) -> ("something" "is" "furry" "+"))
Bob is young.
True
1
proof
[(triple7)]
("Bob" "is" "young" "+")
triple7
Fiona is not young.
False
1
inv-proof
[(triple12)]
("Fiona" "is" "young" "-")
triple12
Fiona is green.
True
2
proof
[(((triple11) -> rule2))]
("Fiona" "is" "green" "+")
((triple11) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is not green.
False
2
inv-proof
[(((triple11) -> rule2))]
("Fiona" "is" "green" "-")
((triple11) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is smart.
True
3
proof
[(((((triple11) -> rule2)) -> rule1))]
("Fiona" "is" "smart" "+")
((((triple11) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is not smart.
False
3
inv-proof
[(((((triple11) -> rule2)) -> rule1))]
("Fiona" "is" "smart" "-")
((((triple11) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is furry.
True
6
proof
[(((((((triple11) -> rule2)) -> rule1) ((triple11) -> rule2)) -> rule3))]
("Fiona" "is" "furry" "+")
((((((triple11) -> (rule2 % int3))) -> (rule1 % int2)) ((triple11) -> (rule2 % int3))) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is not furry.
False
6
inv-proof
[(((((((triple11) -> rule2)) -> rule1) ((triple11) -> rule2)) -> rule3))]
("Fiona" "is" "furry" "-")
((((((triple11) -> (rule2 % int3))) -> (rule1 % int2)) ((triple11) -> (rule2 % int3))) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Dave is not green.
Unknown
inv-rconc
[@1: Dave is green.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "green" "-")
Dave is quiet.
Unknown
random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "+")
Dave is not white.
Unknown
inv-random
[@0: Dave is white.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "white" "-")
Fiona is red.
Unknown
random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "+")
Dave is not young.
Unknown
inv-random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "-")
Dave is red.
Unknown
random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "+")
@0: Bob is furry.[(triple1 OR ((triple5 triple2) -> rule3) OR ((triple5 ((triple6) -> rule2)) -> rule3) OR ((((triple2) -> rule1) triple2) -> rule3) OR ((((triple2) -> rule1) ((triple6) -> rule2)) -> rule3) OR ((((((triple6) -> rule2)) -> rule1) triple2) -> rule3) OR ((((((triple6) -> rule2)) -> rule1) ((triple6) -> rule2)) -> rule3))] Bob is green.[(triple2 OR ((triple6) -> rule2))] Bob is quiet.[(triple3)] Bob is red.[(triple4)] Bob is smart.[(triple5 OR ((triple2) -> rule1) OR ((((triple6) -> rule2)) -> rule1))] Bob is white.[(triple6)] Bob is young.[(triple7)] Dave is furry.[(triple8)] Dave is smart.[(triple9)] Fiona is quiet.[(triple10)] Fiona is white.[(triple11)] Fiona is young.[(triple12)] @1: Fiona is green.[(((triple11) -> rule2))] @2: Fiona is smart.[(((((triple11) -> rule2)) -> rule1))] @3: Fiona is furry.[(((((((triple11) -> rule2)) -> rule1) ((triple11) -> rule2)) -> rule3))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
((triple5 triple2) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple5 ((triple6) -> (rule2 % int2))) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((triple2) -> (rule1 % int2)) triple2) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple2) -> (rule1 % int3)) ((triple6) -> (rule2 % int2))) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple6) -> (rule2 % int3))) -> (rule1 % int2)) triple2) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((triple6) -> (rule2 % int3))) -> (rule1 % int2)) ((triple6) -> (rule2 % int3))) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
triple2
((triple6) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Bob is red.
("Bob" "is" "red" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
((triple2) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
triple6
Bob is young.
("Bob" "is" "young" "+")
triple7
Dave is furry.
("Dave" "is" "furry" "+")
triple8
Dave is smart.
("Dave" "is" "smart" "+")
triple9
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple10
Fiona is white.
("Fiona" "is" "white" "+")
triple11
Fiona is young.
("Fiona" "is" "young" "+")
triple12
Fiona is green.
("Fiona" "is" "green" "+")
((triple11) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
((((triple11) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
((((((triple11) -> (rule2 % int3))) -> (rule1 % int2)) ((triple11) -> (rule2 % int3))) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3