Bob is cold. Bob is furry. Bob is green. Bob is quiet. Bob is round. Bob is white. Bob is young. Erin is green. Erin is round. Fiona is cold. Gary is white. Gary is young. All cold people are round. If Erin is white and Erin is not young then Erin is green. Round people are white. If someone is furry and white then they are green. Quiet people are green. If someone is cold and not furry then they are quiet.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
All cold people are round.
((("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
If Erin is white and Erin is not young then Erin is green.
((("Erin" "is" "white" "+") ("Erin" "is" "young" "~")) -> ("Erin" "is" "green" "+"))
Round people are white.
((("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
If someone is furry and white then they are green.
((("someone" "is" "furry" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "green" "+"))
Quiet people are green.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "green" "+"))
If someone is cold and not furry then they are quiet.
((("someone" "is" "cold" "+") ("someone" "is" "furry" "~")) -> ("someone" "is" "quiet" "+"))
Bob is round.
True
1
proof
[(triple5 OR ((triple1) -> rule1))]
("Bob" "is" "round" "+")
triple5
((triple1) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Erin is not round.
False
1
inv-proof
[(triple9)]
("Erin" "is" "round" "-")
triple9
Fiona is round.
True
2
proof
[(((triple10) -> rule1))]
("Fiona" "is" "round" "+")
((triple10) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Erin is not white.
False
2
inv-proof
[(((triple9) -> rule3))]
("Erin" "is" "white" "-")
((triple9) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Fiona is white.
True
3
proof
[(((((triple10) -> rule1)) -> rule3))]
("Fiona" "is" "white" "+")
((((triple10) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is not white.
False
3
inv-proof
[(((((triple10) -> rule1)) -> rule3))]
("Fiona" "is" "white" "-")
((((triple10) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is not quiet.
Unknown
inv-rconc
[@1: Fiona is quiet.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "quiet" "-")
Gary is green.
Unknown
rconc
[@2: Gary is green.[CWA. Example of deepest failure = (rule5 <- rule6 <- FAIL)]]
("Gary" "is" "green" "+")
Erin is not quiet.
Unknown
inv-rconc
[@1: Erin is quiet.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "quiet" "-")
Erin is cold.
Unknown
random
[@0: Erin is cold.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "cold" "+")
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Gary is furry.
Unknown
random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "+")
@0: Bob is cold.[(triple1)] Bob is furry.[(triple2)] Bob is green.[(triple3 OR ((triple4) -> rule5) OR ((triple2 triple6) -> rule4) OR ((triple2 ((triple5) -> rule3)) -> rule4) OR ((triple2 ((((triple1) -> rule1)) -> rule3)) -> rule4))] Bob is quiet.[(triple4)] Bob is round.[(triple5 OR ((triple1) -> rule1))] Bob is white.[(triple6 OR ((triple5) -> rule3) OR ((((triple1) -> rule1)) -> rule3))] Bob is young.[(triple7)] Erin is green.[(triple8)] Erin is round.[(triple9)] Fiona is cold.[(triple10)] Gary is white.[(triple11)] Gary is young.[(triple12)] @1: Erin is white.[(((triple9) -> rule3))] Fiona is round.[(((triple10) -> rule1))] @2: Fiona is white.[(((((triple10) -> rule1)) -> rule3))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Bob is green.
("Bob" "is" "green" "+")
triple3
((triple4) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((triple2 triple6) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((triple2 ((triple5) -> (rule3 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((triple2 ((((triple1) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple1) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple6
((triple5) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
triple7
Erin is green.
("Erin" "is" "green" "+")
triple8
Erin is round.
("Erin" "is" "round" "+")
triple9
Fiona is cold.
("Fiona" "is" "cold" "+")
triple10
Gary is white.
("Gary" "is" "white" "+")
triple11
Gary is young.
("Gary" "is" "young" "+")
triple12
Erin is white.
("Erin" "is" "white" "+")
((triple9) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple10) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
((((triple10) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2