Bob is round. Charlie is rough. Erin is white. Gary is round. Round, green things are cold. If something is furry and not rough then it is not young. Furry things are not white. White things are green. All round things are green. If something is green and not round then it is furry.
Bob is round.
("Bob" "is" "round" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Erin is white.
("Erin" "is" "white" "+")
Gary is round.
("Gary" "is" "round" "+")
Round, green things are cold.
((("something" "is" "round" "+") ("something" "is" "green" "+")) -> ("something" "is" "cold" "+"))
If something is furry and not rough then it is not young.
((("something" "is" "furry" "+") ("something" "is" "rough" "~")) -> ("something" "is" "young" "-"))
Furry things are not white.
((("something" "is" "furry" "+")) -> ("something" "is" "white" "-"))
White things are green.
((("something" "is" "white" "+")) -> ("something" "is" "green" "+"))
All round things are green.
((("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If something is green and not round then it is furry.
((("something" "is" "green" "+") ("something" "is" "round" "~")) -> ("something" "is" "furry" "+"))
Charlie is rough.
True
1
proof
[(triple2)]
("Charlie" "is" "rough" "+")
triple2
Bob is not round.
False
1
inv-proof
[(triple1)]
("Bob" "is" "round" "-")
triple1
Erin is green.
True
2
proof
[(((triple3) -> rule4))]
("Erin" "is" "green" "+")
((triple3) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Gary is not green.
False
2
inv-proof
[(((triple4) -> rule5))]
("Gary" "is" "green" "-")
((triple4) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Bob is cold.
True
4
proof
[(((triple1 ((triple1) -> rule5)) -> rule1))]
("Bob" "is" "cold" "+")
((triple1 ((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is not cold.
False
4
inv-proof
[(((triple1 ((triple1) -> rule5)) -> rule1))]
("Bob" "is" "cold" "-")
((triple1 ((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Gary is not furry.
Unknown
inv-rconc
[@1: Gary is furry.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Gary" "is" "furry" "-")
Charlie is cold.
Unknown
rconc
[@1: Charlie is cold.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "cold" "+")
Erin is not cold.
Unknown
inv-rconc
[@1: Erin is cold.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Erin" "is" "cold" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
Bob is not white.
Unknown
inv-random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
@0: Bob is round.[(triple1)] Charlie is rough.[(triple2)] Erin is white.[(triple3)] Gary is round.[(triple4)] @1: Bob is green.[(((triple1) -> rule5))] Erin is green.[(((triple3) -> rule4))] Gary is green.[(((triple4) -> rule5))] @2: Bob is cold.[(((triple1 ((triple1) -> rule5)) -> rule1))] Gary is cold.[(((triple4 ((triple4) -> rule5)) -> rule1))]
Bob is round.
("Bob" "is" "round" "+")
triple1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple2
Erin is white.
("Erin" "is" "white" "+")
triple3
Gary is round.
("Gary" "is" "round" "+")
triple4
Bob is green.
("Bob" "is" "green" "+")
((triple1) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
((triple3) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple4) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
((triple1 ((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
((triple4 ((triple4) -> (rule5 % int2))) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2