Charlie is furry. Charlie is rough. Dave is big. Fiona is quiet. Gary is rough. Gary is round. Gary is white. All big, furry things are rough. All white, blue things are round. All rough, quiet things are blue. Big things are rough. All big things are quiet. If Charlie is white and Charlie is round then Charlie is rough. If something is rough then it is white. White things are big.
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Dave is big.
("Dave" "is" "big" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
All big, furry things are rough.
((("something" "is" "big" "+") ("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
All white, blue things are round.
((("something" "is" "white" "+") ("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
All rough, quiet things are blue.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
Big things are rough.
((("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
All big things are quiet.
((("something" "is" "big" "+")) -> ("something" "is" "quiet" "+"))
If Charlie is white and Charlie is round then Charlie is rough.
((("Charlie" "is" "white" "+") ("Charlie" "is" "round" "+")) -> ("Charlie" "is" "rough" "+"))
If something is rough then it is white.
((("something" "is" "rough" "+")) -> ("something" "is" "white" "+"))
White things are big.
((("something" "is" "white" "+")) -> ("something" "is" "big" "+"))
Gary is white.
True
1
proof
[(triple7 OR ((triple5) -> rule7))]
("Gary" "is" "white" "+")
triple7
((triple5) -> (rule7 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is not rough.
False
1
inv-proof
[(triple5 OR ((((triple7) -> rule8)) -> rule4))]
("Gary" "is" "rough" "-")
triple5
((((triple7) -> (rule8 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Dave is rough.
True
2
proof
[(((triple3) -> rule4))]
("Dave" "is" "rough" "+")
((triple3) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is not quiet.
False
2
inv-proof
[(((triple3) -> rule5))]
("Dave" "is" "quiet" "-")
((triple3) -> (rule5 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Gary is quiet.
True
3
proof
[(((((triple7) -> rule8)) -> rule5) OR ((((((triple5) -> rule7)) -> rule8)) -> rule5))]
("Gary" "is" "quiet" "+")
((((triple7) -> (rule8 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((((triple5) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is not quiet.
False
3
inv-proof
[(((((triple7) -> rule8)) -> rule5) OR ((((((triple5) -> rule7)) -> rule8)) -> rule5))]
("Gary" "is" "quiet" "-")
((((triple7) -> (rule8 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((((triple5) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Charlie is quiet.
True
4
proof
[(((((((triple2) -> rule7)) -> rule8)) -> rule5))]
("Charlie" "is" "quiet" "+")
((((((triple2) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Dave is not round.
False
9
inv-proof
[(((((((triple3) -> rule4)) -> rule7) ((((triple3) -> rule4) ((triple3) -> rule5)) -> rule3)) -> rule2))]
("Dave" "is" "round" "-")
((((((triple3) -> (rule4 % int5))) -> (rule7 % int4)) ((((triple3) -> (rule4 % int5)) ((triple3) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
Charlie is blue.
True
6
proof
[(((triple2 ((((((triple2) -> rule7)) -> rule8)) -> rule5)) -> rule3))]
("Charlie" "is" "blue" "+")
((triple2 ((((((triple2) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is not blue.
False
6
inv-proof
[(((triple2 ((((((triple2) -> rule7)) -> rule8)) -> rule5)) -> rule3))]
("Charlie" "is" "blue" "-")
((triple2 ((((((triple2) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is round.
True
9
proof
[(((((triple2) -> rule7) ((triple2 ((((((triple2) -> rule7)) -> rule8)) -> rule5)) -> rule3)) -> rule2))]
("Charlie" "is" "round" "+")
((((triple2) -> (rule7 % int5)) ((triple2 ((((((triple2) -> (rule7 % int5))) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Charlie is white.
("Charlie" "is" "white" "+")
int5
Charlie is not round.
False
9
inv-proof
[(((((triple2) -> rule7) ((triple2 ((((((triple2) -> rule7)) -> rule8)) -> rule5)) -> rule3)) -> rule2))]
("Charlie" "is" "round" "-")
((((triple2) -> (rule7 % int5)) ((triple2 ((((((triple2) -> (rule7 % int5))) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Charlie is white.
("Charlie" "is" "white" "+")
int5
Fiona is not white.
Unknown
inv-rconc
[@3: Fiona is white.[CWA. Example of deepest failure = (rule7 <- rule4 <- rule8 <- FAIL)]]
("Fiona" "is" "white" "-")
Fiona is big.
Unknown
rconc
[@3: Fiona is big.[CWA. Example of deepest failure = (rule8 <- rule7 <- rule1 <- FAIL)]]
("Fiona" "is" "big" "+")
Fiona is not rough.
Unknown
inv-rconc
[@4: Fiona is rough.[CWA. Example of deepest failure = (rule4 <- rule8 <- rule7 <- rule1 <- FAIL)]]
("Fiona" "is" "rough" "-")
Fiona is blue.
Unknown
rconc
[@5: Fiona is blue.[CWA. Example of deepest failure = (rule3 <- rule4 <- rule8 <- rule7 <- rule1 <- FAIL)]]
("Fiona" "is" "blue" "+")
Fiona is not round.
Unknown
inv-rconc
[@4: Fiona is round.[CWA. Example of deepest failure = (rule2 <- rule7 <- rule4 <- rule8 <- FAIL)]]
("Fiona" "is" "round" "-")
Gary is furry.
Unknown
random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "+")
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Dave is furry.
Unknown
random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "+")
@0: Charlie is furry.[(triple1)] Charlie is rough.[(triple2)] Dave is big.[(triple3)] Fiona is quiet.[(triple4)] Gary is rough.[(triple5 OR ((((triple7) -> rule8)) -> rule4))] Gary is round.[(triple6 OR ((triple7 ((triple5 ((((triple7) -> rule8)) -> rule5)) -> rule3)) -> rule2) OR ((((triple5) -> rule7) ((triple5 ((((triple7) -> rule8)) -> rule5)) -> rule3)) -> rule2) OR ((triple7 ((((((triple7) -> rule8)) -> rule4) ((((triple7) -> rule8)) -> rule5)) -> rule3)) -> rule2) OR ((((triple5) -> rule7) ((((((triple7) -> rule8)) -> rule4) ((((triple7) -> rule8)) -> rule5)) -> rule3)) -> rule2) OR ((triple7 ((triple5 ((((((triple5) -> rule7)) -> rule8)) -> rule5)) -> rule3)) -> rule2) OR ((((triple5) -> rule7) ((triple5 ((((((triple5) -> rule7)) -> rule8)) -> rule5)) -> rule3)) -> rule2) OR ((triple7 ((((((triple7) -> rule8)) -> rule4) ((((((triple5) -> rule7)) -> rule8)) -> rule5)) -> rule3)) -> rule2) OR ((((triple5) -> rule7) ((((((triple7) -> rule8)) -> rule4) ((((((triple5) -> rule7)) -> rule8)) -> rule5)) -> rule3)) -> rule2))] Gary is white.[(triple7 OR ((triple5) -> rule7))] @1: Charlie is white.[(((triple2) -> rule7))] Dave is quiet.[(((triple3) -> rule5))] Dave is rough.[(((triple3) -> rule4))] Gary is big.[(((triple7) -> rule8) OR ((((triple5) -> rule7)) -> rule8))] @2: Charlie is big.[(((((triple2) -> rule7)) -> rule8))] Dave is blue.[(((((triple3) -> rule4) ((triple3) -> rule5)) -> rule3))] Dave is white.[(((((triple3) -> rule4)) -> rule7))] Gary is quiet.[(((((triple7) -> rule8)) -> rule5) OR ((((((triple5) -> rule7)) -> rule8)) -> rule5))] @3: Charlie is quiet.[(((((((triple2) -> rule7)) -> rule8)) -> rule5))] Dave is round.[(((((((triple3) -> rule4)) -> rule7) ((((triple3) -> rule4) ((triple3) -> rule5)) -> rule3)) -> rule2))] Gary is blue.[(((triple5 ((((triple7) -> rule8)) -> rule5)) -> rule3) OR ((((((triple7) -> rule8)) -> rule4) ((((triple7) -> rule8)) -> rule5)) -> rule3) OR ((triple5 ((((((triple5) -> rule7)) -> rule8)) -> rule5)) -> rule3) OR ((((((triple7) -> rule8)) -> rule4) ((((((triple5) -> rule7)) -> rule8)) -> rule5)) -> rule3))] @4: Charlie is blue.[(((triple2 ((((((triple2) -> rule7)) -> rule8)) -> rule5)) -> rule3))] @5: Charlie is round.[(((((triple2) -> rule7) ((triple2 ((((((triple2) -> rule7)) -> rule8)) -> rule5)) -> rule3)) -> rule2))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple2
Dave is big.
("Dave" "is" "big" "+")
triple3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple4
Gary is rough.
("Gary" "is" "rough" "+")
triple5
((((triple7) -> (rule8 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
triple6
((triple7 ((triple5 ((((triple7) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
((((triple5) -> (rule7 % int5)) ((triple5 ((((triple7) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
((triple7 ((((((triple7) -> (rule8 % int5))) -> (rule4 % int4)) ((((triple7) -> (rule8 % int5))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5
((((triple5) -> (rule7 % int6)) ((((((triple7) -> (rule8 % int5))) -> (rule4 % int4)) ((((triple7) -> (rule8 % int5))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5
Gary is white.
("Gary" "is" "white" "+")
int6
((triple7 ((triple5 ((((((triple5) -> (rule7 % int5))) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
((((triple5) -> (rule7 % int5)) ((triple5 ((((((triple5) -> (rule7 % int5))) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
((triple7 ((((((triple7) -> (rule8 % int6))) -> (rule4 % int5)) ((((((triple5) -> (rule7 % int4))) -> (rule8 % int6))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
Gary is big.
("Gary" "is" "big" "+")
int6
((((triple5) -> (rule7 % int6)) ((((((triple7) -> (rule8 % int5))) -> (rule4 % int4)) ((((((triple5) -> (rule7 % int6))) -> (rule8 % int5))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5
Gary is white.
("Gary" "is" "white" "+")
int6
Gary is white.
("Gary" "is" "white" "+")
triple7
((triple5) -> (rule7 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
((triple2) -> (rule7 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple3) -> (rule5 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
((triple3) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple7) -> (rule8 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple5) -> (rule7 % int2))) -> (rule8 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
((((triple2) -> (rule7 % int2))) -> (rule8 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
((((triple3) -> (rule4 % int3)) ((triple3) -> (rule5 % int2))) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
((((triple3) -> (rule4 % int2))) -> (rule7 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
((((triple7) -> (rule8 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((((triple5) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((((triple2) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
((((((triple3) -> (rule4 % int5))) -> (rule7 % int4)) ((((triple3) -> (rule4 % int5)) ((triple3) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
Gary is blue.
("Gary" "is" "blue" "+")
((triple5 ((((triple7) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple7) -> (rule8 % int4))) -> (rule4 % int3)) ((((triple7) -> (rule8 % int4))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
((triple5 ((((((triple5) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
((((((triple7) -> (rule8 % int5))) -> (rule4 % int4)) ((((((triple5) -> (rule7 % int3))) -> (rule8 % int5))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple2 ((((((triple2) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is round.
("Charlie" "is" "round" "+")
((((triple2) -> (rule7 % int5)) ((triple2 ((((((triple2) -> (rule7 % int5))) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Charlie is white.
("Charlie" "is" "white" "+")
int5