Charlie is green. Dave is not white. Fiona is blue. All white, blue people are furry. All green people are furry. If someone is big then they are green. All blue people are big. Big people are not round. If someone is green then they are not round. All furry people are not cold. If Charlie is green then Charlie is not big.
Charlie is green.
("Charlie" "is" "green" "+")
Dave is not white.
("Dave" "is" "white" "-")
Fiona is blue.
("Fiona" "is" "blue" "+")
All white, blue people are furry.
((("someone" "is" "white" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
All green people are furry.
((("someone" "is" "green" "+")) -> ("someone" "is" "furry" "+"))
If someone is big then they are green.
((("someone" "is" "big" "+")) -> ("someone" "is" "green" "+"))
All blue people are big.
((("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
Big people are not round.
((("someone" "is" "big" "+")) -> ("someone" "is" "round" "-"))
If someone is green then they are not round.
((("someone" "is" "green" "+")) -> ("someone" "is" "round" "-"))
All furry people are not cold.
((("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "-"))
If Charlie is green then Charlie is not big.
((("Charlie" "is" "green" "+")) -> ("Charlie" "is" "big" "-"))
Charlie is green.
True
1
proof
[(triple1)]
("Charlie" "is" "green" "+")
triple1
Fiona is not blue.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "blue" "-")
triple3
Fiona is big.
True
2
proof
[(((triple3) -> rule4))]
("Fiona" "is" "big" "+")
((triple3) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is not big.
False
2
inv-proof
[(((triple3) -> rule4))]
("Fiona" "is" "big" "-")
((triple3) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is not round.
True
3
proof
[(((((triple3) -> rule4)) -> rule5) OR ((((((triple3) -> rule4)) -> rule3)) -> rule6))]
("Fiona" "is" "round" "-")
((((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((((triple3) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is round.
False
3
inv-proof
[(((((triple3) -> rule4)) -> rule5) OR ((((((triple3) -> rule4)) -> rule3)) -> rule6))]
("Fiona" "is" "round" "+")
((((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((((triple3) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is furry.
True
4
proof
[(((((((triple3) -> rule4)) -> rule3)) -> rule2))]
("Fiona" "is" "furry" "+")
((((((triple3) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is not furry.
False
4
inv-proof
[(((((((triple3) -> rule4)) -> rule3)) -> rule2))]
("Fiona" "is" "furry" "-")
((((((triple3) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Dave is not big.
Unknown
inv-rconc
[@1: Dave is big.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Dave" "is" "big" "-")
Dave is furry.
Unknown
rconc
[@3: Dave is furry.[CWA. Example of deepest failure = (rule2 <- rule3 <- rule4 <- FAIL)]]
("Dave" "is" "furry" "+")
Dave is not green.
Unknown
inv-rconc
[@2: Dave is green.[CWA. Example of deepest failure = (rule3 <- rule4 <- FAIL)]]
("Dave" "is" "green" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
Dave is not blue.
Unknown
inv-random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "-")
Dave is cold.
Unknown
random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "+")
Charlie is not blue.
Unknown
inv-random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
@0: Charlie is green.[(triple1)] Dave is not white.[(triple2)] Fiona is blue.[(triple3)] @1: Charlie is furry.[(((triple1) -> rule2))] Charlie is not big.[(((triple1) -> rule8))] Charlie is not round.[(((triple1) -> rule6))] Fiona is big.[(((triple3) -> rule4))] @2: Charlie is not cold.[(((((triple1) -> rule2)) -> rule7))] Fiona is green.[(((((triple3) -> rule4)) -> rule3))] Fiona is not round.[(((((triple3) -> rule4)) -> rule5) OR ((((((triple3) -> rule4)) -> rule3)) -> rule6))] @3: Fiona is furry.[(((((((triple3) -> rule4)) -> rule3)) -> rule2))] @4: Fiona is not cold.[(((((((((triple3) -> rule4)) -> rule3)) -> rule2)) -> rule7))]
Charlie is green.
("Charlie" "is" "green" "+")
triple1
Dave is not white.
("Dave" "is" "white" "-")
triple2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple3
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple1) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is not big.
("Charlie" "is" "big" "-")
((triple1) -> (rule8 % int1))
Charlie is not big.
("Charlie" "is" "big" "-")
int1
Charlie is not round.
("Charlie" "is" "round" "-")
((triple1) -> (rule6 % int1))
Charlie is not round.
("Charlie" "is" "round" "-")
int1
Fiona is big.
("Fiona" "is" "big" "+")
((triple3) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Charlie is not cold.
("Charlie" "is" "cold" "-")
((((triple1) -> (rule2 % int2))) -> (rule7 % int1))
Charlie is not cold.
("Charlie" "is" "cold" "-")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
((((triple3) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is not round.
("Fiona" "is" "round" "-")
((((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((((triple3) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((((triple3) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is not cold.
("Fiona" "is" "cold" "-")
((((((((triple3) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is not cold.
("Fiona" "is" "cold" "-")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4