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