wordlist = Import["http://wiki.puzzlers.org/pub/wordlists/unixdict.txt", "Words"]; Print["The number of words in unixdict.txt = " <> ToString[Length[wordlist]]] StringMatchQ[#, ___ ~~ "c" ~~ "i" ~~ "e" ~~ ___] & /@ wordlist ; cie = Count[%, True]; StringMatchQ[#, ___ ~~ "c" ~~ "e" ~~ "i" ~~ ___] & /@ wordlist ; cei = Count[%, True]; StringMatchQ[#, ___ ~~ "i" ~~ "e" ~~ ___] & /@ wordlist ; ie = Count[%, True] - cie; StringMatchQ[#, ___ ~~ "e" ~~ "i" ~~ ___] & /@ wordlist ; ei = Count[%, True] - cei; test1 = ie > 2 ei; Print["The rule \"I before E when not preceded by C\" is " <> If[test1, "PLAUSIBLE", "NOT PLAUSIBLE"]] Print["There were " <> ToString[ie] <> " examples and " <> ToString[ei] <> " counter examples, for a ratio of " <> ToString[N[ie/ei]]] test2 = cei > 2 cie; Print["The rule \"E before I when preceded by C\" is " <> If[test2, "PLAUSIBLE", "NOT PLAUSIBLE"]] Print["There were " <> ToString[cei] <> " examples and " <> ToString[cie] <> " counter examples, for a ratio of " <> ToString[N[cei/cie]]] Print["Overall the rule is " <> If[test1 && test2, "PLAUSIBLE", "NOT PLAUSIBLE" ]]