Bob is white. Erin is round. Fiona is green. Gary is rough. If someone is young and green then they are cold. Round people are green. If someone is cold then they are round. If someone is white then they are round. White people are young. If someone is cold then they are rough. White, young people are furry. If someone is round then they are white.
Bob is white.
("Bob" "is" "white" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Gary is rough.
("Gary" "is" "rough" "+")
If someone is young and green then they are cold.
((("someone" "is" "young" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "cold" "+"))
Round people are green.
((("someone" "is" "round" "+")) -> ("someone" "is" "green" "+"))
If someone is cold then they are round.
((("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
If someone is white then they are round.
((("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
White people are young.
((("someone" "is" "white" "+")) -> ("someone" "is" "young" "+"))
If someone is cold then they are rough.
((("someone" "is" "cold" "+")) -> ("someone" "is" "rough" "+"))
White, young people are furry.
((("someone" "is" "white" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "furry" "+"))
If someone is round then they are white.
((("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
Erin is round.
True
1
proof
[(triple2)]
("Erin" "is" "round" "+")
triple2
Erin is not round.
False
1
inv-proof
[(triple2)]
("Erin" "is" "round" "-")
triple2
Bob is young.
True
2
proof
[(((triple1) -> rule5))]
("Bob" "is" "young" "+")
((triple1) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Erin is not green.
False
2
inv-proof
[(((triple2) -> rule2))]
("Erin" "is" "green" "-")
((triple2) -> (rule2 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Bob is green.
True
3
proof
[(((((triple1) -> rule4)) -> rule2))]
("Bob" "is" "green" "+")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is not green.
False
3
inv-proof
[(((((triple1) -> rule4)) -> rule2))]
("Bob" "is" "green" "-")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is cold.
True
6
proof
[(((((triple1) -> rule5) ((((triple1) -> rule4)) -> rule2)) -> rule1))]
("Bob" "is" "cold" "+")
((((triple1) -> (rule5 % int4)) ((((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Erin is not furry.
False
6
inv-proof
[(((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule5)) -> rule7))]
("Erin" "is" "furry" "-")
((((triple2) -> (rule8 % int3)) ((((triple2) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Fiona is not rough.
Unknown
inv-rconc
[@5: Fiona is rough.[CWA. Example of deepest failure = (rule6 <- rule1 <- rule5 <- rule8 <- rule3 <- FAIL)]]
("Fiona" "is" "rough" "-")
Gary is cold.
Unknown
rconc
[@4: Gary is cold.[CWA. Example of deepest failure = (rule1 <- rule5 <- rule8 <- rule3 <- FAIL)]]
("Gary" "is" "cold" "+")
Gary is not round.
Unknown
inv-rconc
[@5: Gary is round.[CWA. Example of deepest failure = (rule3 <- rule1 <- rule5 <- rule8 <- rule4 <- FAIL)]]
("Gary" "is" "round" "-")
Fiona is round.
Unknown
rconc
[@5: Fiona is round.[CWA. Example of deepest failure = (rule3 <- rule1 <- rule5 <- rule8 <- rule4 <- FAIL)]]
("Fiona" "is" "round" "+")
@0: Bob is white.[(triple1)] Erin is round.[(triple2)] Fiona is green.[(triple3)] Gary is rough.[(triple4)] @1: Bob is round.[(((triple1) -> rule4))] Bob is young.[(((triple1) -> rule5))] Erin is green.[(((triple2) -> rule2))] Erin is white.[(((triple2) -> rule8))] @2: Bob is furry.[(((triple1 ((triple1) -> rule5)) -> rule7))] Bob is green.[(((((triple1) -> rule4)) -> rule2))] Erin is young.[(((((triple2) -> rule8)) -> rule5))] @3: Bob is cold.[(((((triple1) -> rule5) ((((triple1) -> rule4)) -> rule2)) -> rule1))] Erin is cold.[(((((((triple2) -> rule8)) -> rule5) ((triple2) -> rule2)) -> rule1))] Erin is furry.[(((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule5)) -> rule7))] @4: Bob is rough.[(((((((triple1) -> rule5) ((((triple1) -> rule4)) -> rule2)) -> rule1)) -> rule6))] Erin is rough.[(((((((((triple2) -> rule8)) -> rule5) ((triple2) -> rule2)) -> rule1)) -> rule6))]
Bob is white.
("Bob" "is" "white" "+")
triple1
Erin is round.
("Erin" "is" "round" "+")
triple2
Fiona is green.
("Fiona" "is" "green" "+")
triple3
Gary is rough.
("Gary" "is" "rough" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
((triple1) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
((triple1) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
((triple2) -> (rule2 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((triple2) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((triple1 ((triple1) -> (rule5 % int2))) -> (rule7 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
((((triple2) -> (rule8 % int2))) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
((((triple1) -> (rule5 % int4)) ((((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
((((((triple2) -> (rule8 % int4))) -> (rule5 % int3)) ((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is furry.
("Erin" "is" "furry" "+")
((((triple2) -> (rule8 % int3)) ((((triple2) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
((((((triple1) -> (rule5 % int5)) ((((triple1) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
Bob is young.
("Bob" "is" "young" "+")
int5
Erin is rough.
("Erin" "is" "rough" "+")
((((((((triple2) -> (rule8 % int5))) -> (rule5 % int4)) ((triple2) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5