Bob is furry. Gary is furry. Gary is rough. If Bob is blue then Bob is not rough. If something is quiet then it is round. If something is rough then it is quiet. Big things are red. If something is quiet and not round then it is red. All round things are red.
Bob is furry.
("Bob" "is" "furry" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is rough.
("Gary" "is" "rough" "+")
If Bob is blue then Bob is not rough.
((("Bob" "is" "blue" "+")) -> ("Bob" "is" "rough" "-"))
If something is quiet then it is round.
((("something" "is" "quiet" "+")) -> ("something" "is" "round" "+"))
If something is rough then it is quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
Big things are red.
((("something" "is" "big" "+")) -> ("something" "is" "red" "+"))
If something is quiet and not round then it is red.
((("something" "is" "quiet" "+") ("something" "is" "round" "~")) -> ("something" "is" "red" "+"))
All round things are red.
((("something" "is" "round" "+")) -> ("something" "is" "red" "+"))
Gary is rough.
True
1
proof
[(triple3)]
("Gary" "is" "rough" "+")
triple3
Bob is not furry.
False
1
inv-proof
[(triple1)]
("Bob" "is" "furry" "-")
triple1
Gary is quiet.
True
2
proof
[(((triple3) -> rule3))]
("Gary" "is" "quiet" "+")
((triple3) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is not quiet.
False
2
inv-proof
[(((triple3) -> rule3))]
("Gary" "is" "quiet" "-")
((triple3) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is round.
True
3
proof
[(((((triple3) -> rule3)) -> rule2))]
("Gary" "is" "round" "+")
((((triple3) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is not round.
False
3
inv-proof
[(((((triple3) -> rule3)) -> rule2))]
("Gary" "is" "round" "-")
((((triple3) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is red.
True
4
proof
[(((((((triple3) -> rule3)) -> rule2)) -> rule6))]
("Gary" "is" "red" "+")
((((((triple3) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is not red.
False
4
inv-proof
[(((((((triple3) -> rule3)) -> rule2)) -> rule6))]
("Gary" "is" "red" "-")
((((((triple3) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Bob is not quiet.
Unknown
inv-rconc
[@1: Bob is quiet.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "quiet" "-")
Bob is red.
Unknown
rconc
[@3: Bob is red.[CWA. Example of deepest failure = (rule6 <- rule2 <- rule3 <- FAIL)]]
("Bob" "is" "red" "+")
Bob is not round.
Unknown
inv-rconc
[@2: Bob is round.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Bob" "is" "round" "-")
Gary is big.
Unknown
random
[@0: Gary is big.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "big" "+")
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Bob is blue.
Unknown
random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "+")
@0: Bob is furry.[(triple1)] Gary is furry.[(triple2)] Gary is rough.[(triple3)] @1: Gary is quiet.[(((triple3) -> rule3))] @2: Gary is round.[(((((triple3) -> rule3)) -> rule2))] @3: Gary is red.[(((((((triple3) -> rule3)) -> rule2)) -> rule6))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Gary is furry.
("Gary" "is" "furry" "+")
triple2
Gary is rough.
("Gary" "is" "rough" "+")
triple3
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple3) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((((triple3) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((((((triple3) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3