Bob is big. Bob is cold. Charlie is big. If someone is smart then they are round. All cold, round people are furry. If someone is furry then they are round. If Bob is cold then Bob is round. Young, cold people are round. If someone is cold then they are round.
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Charlie is big.
("Charlie" "is" "big" "+")
If someone is smart then they are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
All cold, round people are furry.
((("someone" "is" "cold" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
If someone is furry then they are round.
((("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
If Bob is cold then Bob is round.
((("Bob" "is" "cold" "+")) -> ("Bob" "is" "round" "+"))
Young, cold people are round.
((("someone" "is" "young" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
If someone is cold then they are round.
((("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
Charlie is big.
True
1
proof
[(triple3)]
("Charlie" "is" "big" "+")
triple3
Charlie is not big.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "big" "-")
triple3
Bob is round.
True
2
proof
[(((triple2) -> rule4) OR ((triple2) -> rule6))]
("Bob" "is" "round" "+")
((triple2) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is not round.
False
2
inv-proof
[(((triple2) -> rule4) OR ((triple2) -> rule6))]
("Bob" "is" "round" "-")
((triple2) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is furry.
True
4
proof
[(((triple2 ((triple2) -> rule4)) -> rule2) OR ((triple2 ((triple2) -> rule6)) -> rule2))]
("Bob" "is" "furry" "+")
((triple2 ((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((triple2 ((triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is not furry.
False
4
inv-proof
[(((triple2 ((triple2) -> rule4)) -> rule2) OR ((triple2 ((triple2) -> rule6)) -> rule2))]
("Bob" "is" "furry" "-")
((triple2 ((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((triple2 ((triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Charlie is not round.
Unknown
inv-rconc
[@2: Charlie is round.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Charlie" "is" "round" "-")
Charlie is furry.
Unknown
rconc
[@1: Charlie is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "furry" "+")
Bob is not young.
Unknown
inv-random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "-")
Bob is smart.
Unknown
random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "+")
Bob is not red.
Unknown
inv-random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
@0: Bob is big.[(triple1)] Bob is cold.[(triple2)] Charlie is big.[(triple3)] @1: Bob is round.[(((triple2) -> rule4) OR ((triple2) -> rule6))] @2: Bob is furry.[(((triple2 ((triple2) -> rule4)) -> rule2) OR ((triple2 ((triple2) -> rule6)) -> rule2))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Charlie is big.
("Charlie" "is" "big" "+")
triple3
Bob is round.
("Bob" "is" "round" "+")
((triple2) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((triple2 ((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((triple2 ((triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2