Anne is round. Bob is quiet. Fiona is white. Gary is not furry. If something is white then it is blue. If Bob is young then Bob is white. If something is white and nice then it is quiet. If Gary is quiet then Gary is furry. All blue things are nice. If something is quiet then it is furry. If something is young and not nice then it is round. Quiet, furry things are not round.
Anne is round.
("Anne" "is" "round" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is not furry.
("Gary" "is" "furry" "-")
If something is white then it is blue.
((("something" "is" "white" "+")) -> ("something" "is" "blue" "+"))
If Bob is young then Bob is white.
((("Bob" "is" "young" "+")) -> ("Bob" "is" "white" "+"))
If something is white and nice then it is quiet.
((("something" "is" "white" "+") ("something" "is" "nice" "+")) -> ("something" "is" "quiet" "+"))
If Gary is quiet then Gary is furry.
((("Gary" "is" "quiet" "+")) -> ("Gary" "is" "furry" "+"))
All blue things are nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If something is quiet then it is furry.
((("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
If something is young and not nice then it is round.
((("something" "is" "young" "+") ("something" "is" "nice" "~")) -> ("something" "is" "round" "+"))
Quiet, furry things are not round.
((("something" "is" "quiet" "+") ("something" "is" "furry" "+")) -> ("something" "is" "round" "-"))
Anne is round.
True
1
proof
[(triple1)]
("Anne" "is" "round" "+")
triple1
Anne is not round.
False
1
inv-proof
[(triple1)]
("Anne" "is" "round" "-")
triple1
Bob is furry.
True
2
proof
[(((triple2) -> rule6))]
("Bob" "is" "furry" "+")
((triple2) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is not furry.
False
2
inv-proof
[(((triple2) -> rule6))]
("Bob" "is" "furry" "-")
((triple2) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Fiona is nice.
True
3
proof
[(((((triple3) -> rule1)) -> rule5))]
("Fiona" "is" "nice" "+")
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Bob is round.
False
4
inv-proof
[(((triple2 ((triple2) -> rule6)) -> rule8))]
("Bob" "is" "round" "+")
((triple2 ((triple2) -> (rule6 % int2))) -> (rule8 % int1))
Bob is not round.
("Bob" "is" "round" "-")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Fiona is quiet.
True
5
proof
[(((triple3 ((((triple3) -> rule1)) -> rule5)) -> rule3))]
("Fiona" "is" "quiet" "+")
((triple3 ((((triple3) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is not quiet.
False
5
inv-proof
[(((triple3 ((((triple3) -> rule1)) -> rule5)) -> rule3))]
("Fiona" "is" "quiet" "-")
((triple3 ((((triple3) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Bob is not white.
Unknown
inv-rconc
[@1: Bob is white.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "white" "-")
Bob is blue.
Unknown
rconc
[@2: Bob is blue.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Bob" "is" "blue" "+")
Gary is not round.
Unknown
inv-rconc
[@1: Gary is round.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Gary" "is" "round" "-")
Gary is nice.
Unknown
rconc
[@2: Gary is nice.[CWA. Example of deepest failure = (rule5 <- rule1 <- FAIL)]]
("Gary" "is" "nice" "+")
Gary is not young.
Unknown
inv-random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "-")
Fiona is young.
Unknown
random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "+")
Anne is not young.
Unknown
inv-random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
@0: Anne is round.[(triple1)] Bob is quiet.[(triple2)] Fiona is white.[(triple3)] Gary is not furry.[(triple4)] @1: Bob is furry.[(((triple2) -> rule6))] Fiona is blue.[(((triple3) -> rule1))] @2: Bob is not round.[(((triple2 ((triple2) -> rule6)) -> rule8))] Fiona is nice.[(((((triple3) -> rule1)) -> rule5))] @3: Fiona is quiet.[(((triple3 ((((triple3) -> rule1)) -> rule5)) -> rule3))] @4: Fiona is furry.[(((((triple3 ((((triple3) -> rule1)) -> rule5)) -> rule3)) -> rule6))] @5: Fiona is not round.[(((((triple3 ((((triple3) -> rule1)) -> rule5)) -> rule3) ((((triple3 ((((triple3) -> rule1)) -> rule5)) -> rule3)) -> rule6)) -> rule8))]
Anne is round.
("Anne" "is" "round" "+")
triple1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple2
Fiona is white.
("Fiona" "is" "white" "+")
triple3
Gary is not furry.
("Gary" "is" "furry" "-")
triple4
Bob is furry.
("Bob" "is" "furry" "+")
((triple2) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple3) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Bob is not round.
("Bob" "is" "round" "-")
((triple2 ((triple2) -> (rule6 % int2))) -> (rule8 % int1))
Bob is not round.
("Bob" "is" "round" "-")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple3 ((((triple3) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple3 ((((triple3) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is not round.
("Fiona" "is" "round" "-")
((((triple3 ((((triple3) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3)) ((((triple3 ((((triple3) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5