キネア素数とキャロル素数

こんにちは｜こんばんは。カエルのアイコンで活動しております @kyamaz :frog: です。

## はじめに

:frog:は、人名がついた「●●素数（●●は人の名前）」という素数の集合に興味があり、以前にも幾つか[^ref1][^ref2][^ref3]取り上げております。本稿もその流れで人名がついた素数を紹介するエントリです。

# キネア素数とキャロル素数

キネア素数とキャロル素数は、それぞれ次のような定義の素数です。

:::note info
<dl><dt>キネア素数の定義</dt>
<dd>$4^n+2^{n+1}-1$（あるいは、$(2^n + 1)^2 - 2$）を満たす素数</dd>
</dl>
:::

:::note info
<dl><dt>キャロル素数の定義</dt>
<dd>$4^n-2^{n+1}-1$（あるいは、$(2^n - 1)^2 - 2$）を満たす素数</dd>
</dl>
:::

どちらも **Cletus Emmanuel** 氏が研究した整数の形です。名前の由来は、キネア素数は彼の娘の名（Kynea）にちなんでおり、キャロル素数は彼の友人（Carol G. Kirnon）にちなんだ名前だそうです。人名のついた素数の多くはその研究者の名前が付いていることが多く、それに従えばクリータス素数やエマニエル素数という名前が付いていても良いのですが、娘さんや友人の名前をつけるあたり**Cletus Emmanuel** 氏は自己主張のない家族や友人思いの方だったのでしょう。
$n$番目のキネア素数とキャロル素数の差は$2^{n+2}$です。それぞれ現在わかっている素数の$n$の値[^ref4]は次のとおりです。

キネア素数（51個）：
$n= 1, 2, 3, 5, 8, 9, 12, 15, 17, 18, 21, 23, 27, 32, 51, 65, 87, 180, 242, 467, 491, 501, 507, 555, 591, 680, 800, 1070, 1650, 2813, 3281, 4217, 5153, 6287, 6365, 10088, 10367, 37035, 45873, 69312, 102435, 106380, 108888, 110615, 281621, 369581, 376050, 442052, 621443, 661478, 852770$

キャロル素数（44個）：
$n= 2, 3, 4, 6, 7, 10, 12, 15, 18, 19, 21, 25, 27, 55, 129, 132, 159, 171, 175, 315, 324, 358, 393, 435, 786, 1459, 1707, 2923, 6462, 14289, 39012, 51637, 100224, 108127, 110953, 175749, 185580, 226749, 248949, 253987, 520363, 653490, 688042, 695631$

Haskellでそれぞれを計算してみましょう。

### 素数判定

まずは、フェルマーの小定理の対偶の一部（ピックアップした素数でテストする）を使って、確率的素数であるかの判定関数`probably_prime`を素数判定に用います。

```Haskell:
ghci> exp_mod a n = iter a (n-1) n where iter a n base | n == 1 = a | even n = (iter a (n `div` 2) base) ^ 2 `mod` base | otherwise = a * (iter a ((n-1) `div` 2) base) ^ 2 `mod` base
ghci> probably_prime n = and $ map (\a -> test n a) $ takeWhile (<n) [2,3,5,7,11,13,17,19] where test n a | gcd n a == 1 = (1 == exp_mod a n) | otherwise = False
```

### キネア素数

```Haskell:
ghci> [(n,m)|n<-[1..], let m=(2^n+1)^2-2, probably_prime m]
[(1,7),
(2,23),
(3,79),
(5,1087),
(8,66047),
(9,263167),
(12,16785407),
(15,1073807359),
(17,17180131327),
(18,68720001023),
(21,4398050705407),
(23,70368760954879),
(27,18014398777917439),
(32,18446744082299486207),
(51,5070602400912922109586440191999),
(65,1361129467683753853927285406021911052287),
(87,23945242826029513411849172608708590815387867508899839),
(180,2348542582773833227889480596789337027375682548908319873772282053263986741831302497764317365622246947399139327),
(242,49947976805055875702105555676690660891977570282639538413746511354005947835251026440151972285682251544500579024562377141332119275841462175241601023),
(467,145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698027210444577947715464982893898627225557329873553804703588612020330216295561827847925505727084552327037914865762774957193622340219924022076375039),
(491,40874809539271061742722513162994453833061401813718170449972167525114099545476384067275939133289179158309733311369062302596555530002300798171938238441660029550248020361777256908311981723526811969856462580047366470008937640326635405577217554045879058216396946046097011112590410364682261937887641599),
(501,42860344287450692837937001962400072422456192468221344297750015534814042044997444899727935152627834325103786916702125873007485811427692561743938310298807392778169855666776976700471608816858351135695988987770119065406712300255213768456195256153611868286888332647256408954678588352794039119562136782635007),
(507,175555970201398037864189960037990696642380564349834626243584063630598316216309534309285622385163609395625111210811907575838661883607828732903171318983862287575659579835038923841701274194724856248892188344981621168721239135976941004375418389156162030256565110081552962253126841979472344614562429768711536639),
(555,13908976937465711096600078626398891812899776992581064189424841418012806069803436530898321493204542046513744141264739720678439654956272568290463281503027843811211021823628016351296999218139730229617008058061160109025133125004173969275987323046485257565297298289499556732078934659589515216273828963817975605805773953238105028738112552959),
(591,65683286500494959327954779419146100935287188512606391608174273744204485669104559400167406224197563832421764064910742140917148312724367755985228004008211964968336118589996303103976932527399403612884459572111039258003167839851596163160278804289402752165306097860918937671037341587577117983578539965058977162388642771383466807259980068286398180399309756825599),
(680,25164835917856289730927475999919701398386856086915571652699466838971252434076831284503858228079808491410765356855335352400184588416758385578920415520272105762997920320440653216777881390551602814084452214268397146825406175432201703031863009655612471501539510608066150445091277235171662837398752296115894915811617166640134451102386773616291865721039577339497512157904818369064567371731263641646565408502425059327),
(800,44462416477094044620016814065517364315819234512137839319418223093753683069769152238984782576173969417485953521141049383745107056455283979316385016701612810119562585078620415976730705698345087039035930761275083827265405596065418173652685035802234142857386750877406553895472392755912004056509595899684612653218536007637179454409726870685257473691857705015132202182073823557441404901396526810480224857200275459417670960248092580240101824602441961518561450522920467032249083208692400127),
(1070,160026063062018484942094643937668324780970962601048103007033743660198355676267553571331875582305829021394531984226698075445825563589898401174051110219014465234806240730140351757881521159301399413063422548300793366264063568728133061971571582818484939859826257103361963374746654872926426111386247952405783074859305400039507078072325953120217290882390390765168436341835979480418135726803600363089477461511802511768774536293154589303818106978296363224904457693835211297958689885058318073800268942895778613495076309488190625278472785129539076027959184459368145847109883909921872125836140844991687082716656772152245262205316690018461048497011240730623),
(1650,2506026684677322818607321793551551543474488094362357749455432825423085392065500713695463638177570205580459638246694103408850184347112064222262111907256674088963266491165365033157660409646989523063271903057659004946391788716233930713384441850465389704942709490426712128090432377940707387257042098943797126876089695549146244385960347982567895791109041506072302257626753185167066929452329631976573555827328061799730111118076064279875218480154443841845457630715829543520201201046397629770782065114257776687394660030479124061037765061141061383270370915655323822267366091835864545207266427844998518730578289777935080359616268708473951703758939434220541511532697224361631435693494726033594593289757633630408640048196235372828268297985744057235394834133680611004578155478853168497467949022118830645337305199085701449581330962040809917722523001034498079347293970118742654237443269770146525313375766329747919243248246280827121718323968921964291943111671540545681445775915506768562624407004694907268890623),
(2813,39332867178254345650694187407743138940145192091757197228675126333228381052521917918246338643063015569236226006018837989974602883039994970420652651685347950728882760763066414210497131347928280555619628143280932203217502709367580840725975824823014668106544943075697633534866560577488367184265564144945909701564524278666617491705714890445197849128930580099285069694681944691389215758363999430784531849904592036328902359403087103729663264084324124593566318098369387174217684108683019113678528114715270971216648459837075839677341653511463977459775201270080983923573376445682607372944691413809855771831705987077957691853776143701705454328990185266061352137777119375926047396684709875295896535356951205534227187232647565481862730951633613278275773574446846469201609795744611056791319822668820009200754100030929221186339389862075623941412719766212855469299533360358038760673223203178286785852421491051582853581926891952237126696434278764580167704481520151929657150580657336638559239589414911661575795333569485588296575581062651491666647685298312456680004267281210046029311772359234801574654488986529788060284169564623830546691704424435497857995018094228503510653671271483456905157734450653731469263404749806908805761457747739448631326023094021246565456528516262753048137680617052794323233409225009245650724770228704258994165430412940204781729282839368183485870563835490241045616073554214473233074977873707582161637884843515589810380030466524591477003558128069449181179689903389531404673377154999082312449842168642605637441656086786127673369205861679502558100632557706946568993643484027943542361761777854968948438501403295874481660828942520485394256328959053153233673154025956903021941466447247728181247),
(3281,22847124434755874865669635129728782109843626952148806372405752372614389417518313240385631473713906321565409250641597598960987571567078142950616363117916819772278361015532511490537670591290234627008677638527480653766650929148535110992415388571739144629296633028658431860245503142928637724511958739545738884281632461024314403458562368315442773754628607655902110487054194617888214992391654547905871209354535532143093066893781394966510415675860925565368344297151360450394406975559810984906151260144717579344797068093148654784972347388032268245115519452453030016973596573803184924054383913981004593673652953808046127460187534704260688484039312404521777784052907790936458413976143840590017746759364893106739849788700140977783404020157083416451590469678190422178195418224324170240195294676244279666456221200165978785182676867555233088107369599293000826139541374173162974275004971305495429058883872392372006458355514135928240660462464081927717617678368579096451210062340553175437430086092814319081478985563732386036797189260854278739192994398267315042219753956482446175813050255606210759830750755151389671975781988314827425073798942086664742673070042828228357865817733604938781854190835176792172110624602314278031503248991113799325485496560275360432881909609150850132581249018832626366670841666263096505571906981091746627415643850105648074672324992753398865084842390331150703128350583799538321801425857176285648435748798257560980355422003330219306452557317359918076051060752529554088917171403463813798323780411368721969827420173904576396759186497593730186682800534284871088846157875571240800179493657830261146719191254788843235217593962453350848721423005233885285317726904722154911031552227708663886472148597241822049235117282298248139544989820064426333228489855968311521687498890221311088706096674558878361203184721213051163756721682841318051417727523504156656645222490961405853900608167780884601519875032429484299377602848881375659971207809388086562209114287210845657813165809860607),
(4217,7708740567326640450619422154239605131907261605146858532199069405851071824260690778646482763257128465881412199605584769470006026253162403343556499175640731123138295315149952855096341844924063044037873989138452045694034698130971803910185904818977400463401195197814552204533559996457529586677098719988017860548239914940038496917613631747392345326410593248757190838346850042090911218028150325085861540118453958206091940408216257991275406880974281711131812700830842672154199347436971698837743573533040457430630384523534586965886944249247671820451570667794709586033302422941432247336006053383594730625554804202813924654233625191227913286038607220499259714303279908514191135773526512460603963834601054040434439649333044595397822737606548851655534706311108276073002794280983387417837261503129513230533202360677377181161486651111793280717084163149325438535111101702782832146992580503880917299063211478610260997019143322769050169991606811673562026999500226216869918735041879445579909079272863477663751186965963882409742785550987739128715594137345989479106506897070059283627374199977457451077608541963647348365844000587981712944763677505449596739569513722849104614669209901832315195134167885081211723148491480778231038645237050419216150763433089560955077490729680707357406490197245249503069156475053361655914037527504500436708791346170364791047129799211495960251108159043462074309419266516770571130381145480318086753337962921425064471159024700224381582831322110513190314617685536693819001621222480470720242469654763783509158359800611289957577624120190380356800508471114828637557700381032081881111688937539807206345046346169858354513176458989162271989576615610000118859079711076175921571925018066701796585849755181803864253929559468222397511170425581806740122846911552909552859158432753567098277302672108846885844359611534733048711418998386310848697725315633509296885122012842557493387972167805600571332651578738735194809894681182303725997821013747735968878300354285917185786915333547384791785532674864710597387569623030878588032145743529542731728113534944379976949870311747837352402318379401038847475180156549986546931736037816891632198378373691503951251522598878386295002030861089088445293032383483900141772666372309552567406038332808799757814006872480543426575364281990421718003102414816249426793681194197994590913854006136878479359795576025409804309788958819156912223271513108873660103253775124015882108697473980269615233635018888181098974314923061932496933369112887964060591298444655014324562244276575586372900039460368411594929066958261036515327),
(5153,2600969820252235895037317667582186796797943612456671671260596254133051422327550354831830620257067633341348047332540426949116107645875462746380480702932740414416219196625928149478033266644479053941200495888528942565583438048386135409171405784407420412735964852092602580353338171130524430705669089756631995606140337495960601843690586073321582500607016274017787639370233210125793924956962492471617881303258247944113362191580484824898703225757665470651782722857347715848633658446848436320748711780774219187730797071408122399243310154865192559789064496124632699211381945181694502418465015258875197409948532537391572213111373944389237930159933649157552789556832621643538926319532431375169305185967834211313095448104000573303763986014538991332096575650913057687827489503262687104652553824066275598892195510824935885813092942807564322854143270288749121124557657564440428949386434039504524926568421832298173490089606675854147421694300753788618402250859327444941785714833443542535569271089331886207668272545384384416931958875506142560973993516057066225764380475109003133323298520993727150378016735616367526889602166932874634790814477674912200979359295654476578936472792320403998517857378263807291991054213853618525478626898642208899966563138789417885153451525202968150783785989720913594044886930496399217552706658048565621328434877626902410873355403180852202427859644868999288896149115808729072097658224612024535160525319948069609373453582793615305142798467926362512379410910079498651364285280612686831718299567597471275807536306711591157338929855832350369420144762043049436478134035538152479041502752258091153713760894301525502746258908593672304791395277838511368364098537987565370890128780409935728871200206288189369876368258751848096385816202907121258345766165133406577522236135466857739131014248920486652511737738898207820854698910637758465770726367686308622863841800539725092137569080308762143378611071773744945869594651643387326364398616904881529208999658527160558549674690582966462688795633417248695645342499505231306122082687618819635555743122157192296963090698455656020692417513033302100883856885328749873976365602564622935887491296573882383719624635228884704823676436097389396103843325247428042898658113010769123836724980863321142013136833781860908617482231218989556424925673155294142647899878977222772619052895691110178486589896463490620306747122427386106761236414846068170334424476802584403962742073636043691785228190973168477006001086933231544309321619761627941715821724595523406867456964590213633317005074797888670620488940663651649733660301865623314314195794551095795891620862893351142388826873669837844384334705368703616164121803674432495319977031651360182662909820533492268027256145356747278571962257410567767700685366620610388356685364294377631267249967665548381493667570240215392986812764890470556712133666812704019886412418201685905583996992183805691238709684507765965392174584698631150128360885042416348341407959900147601001426837891275911356931474935720095975182925598232280264515780215094059966043773087351023414109344052427343152307752483099184581179863779748960832514809208427791198978047),
(6287,141633334158325093229543098768502777077383871998814237542795004640289826596097323593590339572867483079677030715556320254517923418840201139525471581964676314608267857346655784916042092440731119639380575147967404150360960215913399752128720855246628600799899704834860694455142450808429598637702407414807176341913952441445281475422389681523405082007600623706107180040373073504950733917138826875382842662180522958103052914972589004962053999170076091194370122038026612162480022660992964364081152854421682813289653692534926279439983390286184819848827338722235438571106798381080111536916264572442619927337564004250710333589023385189020461398910666452869044368591531740817078629990695131273573641387594259970176103551572724357876191464042161508086681559940332863487456743609460454516568140848716728850660566444551306486795312323429210143923400430354564139085270333483331131617335115108457358786876087724382093927472133761734629687708949853933466161111370319384701675330477968926341709741451401157250474363840109432380530060038177058103255147571283205375769471627580797166043265395175641996027110495037560226724864097369906485240030961349551279742636279250786604935094405390568002907812947639749195095050635012169812522713626149850670746712151450256753277699694079988079111192532958256936518245866606649084357906808123879594916832621133281606861249940213996126223650005337681178048847506414958370388725556189209521962632926105028481759179247042967519871294042231571446182601256678613078939129113603862506676068139318646887355105051131697449320921180867416334102762554707494550460916830474600989838385658889408369268001086817053380588609253242637081601338871648378097483062547434048804703389114901175592404613973312491664453173767001112068159296360643399603626565148374058811058299536760205733600669501755872848441735625924098063761308825093366844569813516520890818980199321970209085655187048129597502203678610364295863493524133054495502275183346303852825748195326803314534838851864085197605312773023374511508120992831262007877523908617782865858811698553310578047629672754021460819477824439992976670655713172722475497101093862192426905396862306102574028704016512986671155780997692276906116066204031600822078490024085780916792821966116348714039088866089696621544423128874837983881222381099251304563027543728977328978877881113279935626759412266009047335725126533212597277106592478367380554857126501407882103068452386952686457490554264594578128559595172463654957149222261636602345660400284239154317646116565619040051249748478453431636104038333447119641397672405978053739536631125331972626612589281200029798112684531252243197662105456820052210216570725071727657738804869673880339814576984978287635325812435606720214059767932896970220082190200587121459853915034755153323344066759305712757476281244338550016660738300665759145535467655103937015530986361594553612385343686054783037782351163671041267903997061092011005204983392129904603561373554965489807142892890603467062335983940044625966125768641919844765115272897202175075979732122583861760402337322075777208767678951949009733096139916567640674404401305859931053799073968997003905010179895143326901771064071748449328846194590077920809690638443546957505699495929909396345498368037940338507799964609697024941494094637570805699039947011173078627473948705527832660163844722476093863141608458529172392197200798217984441281454516504504827249567097922843874782033900377815896604423464920302779624288617402526349107981161244068502997268164248707098755327065199475312126359541763850037158918021333610216790277827408530146212408046158524451195471479849463214501516507872085691245307215913804457796554799287501629034016722102749283558030235910093405991388164451333033206296053805833235042637940958104963883572678736964060160254659449237355557181688594531446947839),
(6365,12937334360814189032566391558099075513600564896603158381142068880521115860422299021572382503357629689232168803716567338049640008803488622600487465252390902429775631465403324142745975589818861000522142850499051934508607726626044690950163086722079258847935075702535606498901332966264233901846796809887337303961197629109178335861338656475120159466129098415832503718252536744112994012155272872054968014048100297369797235196561804550649022155753903282139116806505485429212055799904596376624829719201943095951980033562298171766828458789868814854920740248496588016131794615095026122334572395894815920696818759145867019040640454696091591732552538477969024521043854689211972119792475099120977022746455107628826113855445423711562982508165513814412326488325095777342033895938632256791880597898715266432861024034017101409075543568458318069442994446234346549493732863282396613860381904104992734856605730469546323111150225267954291429169400826893671804925464521426590113359653036834907597658403175519275809265586129517566792812821748578466890877853299808063440624374634454123179181133151511916841910712411301405882275622814607015751139178551991211910079223974163886687785086909553028270727587296119206493527272177673831199209226281801291029644046197661192971834974532744404342426738382102939266002189971019142136470729495703552319786624780491610912233227221707598183846790628358244787776633359196942485230123678013450435401214250005115365710711848387966342197339674387930605656438801983940699322553945035064003195145278349016683094364430678584117892773519703966885843954458226214442007088885865496677156668615924140539659798012679643203409135104202219696498071759718951183828245364303716393878066823230782701858263641174133661951200789642351129015690318947871853499282360831138324291122267406007601798206506323473824057140938146345374205328984554165008079319792397845473273836713382996975133116447762399686514737943697593608853849253170809447052950441115776148606827840412283155281020497948705295525494644035200945660465161947711699960010970240617619047575598227937231383737399030702787868197897199317899932902911242314475658650900128395678844513216373378743472949363988040906068915680151275722924624796989508632278185325837410141673930734966063342131611625770016129657068849581415656178517259068792313063784567495695514962147602993277154863313727567472177357531425756654576720386355117483835235513031524106322675852427278438146836085350153289325736053549818240067807947241578526862793107198421715451313960776383736043378062062037324610202885164819065655884456608145426478401242252177367303213337405394692545395327510390663129546411140766689633542948765724120606940060153876705703820911725326521383343418990713909022921584980107625362415817284789859825713269762986037988879747491653501241431754014102244394689492767145556147846102399047624011729116618245423500201237954941679206599189437845379733492192539696285186279192830562570908096996933839467257717424011857272310073937004363552296369597141380376379834267547858193575291493558310562470559801486150838816558983770148644509725945438367323694448678132962144396467303849003304510880027339237961191058916737547344314023170083698967080788590272414856300619409887605831735512118817783541798682109969105669647224553834749610797365969583841204646228204292556175666630009392775803633894657844961052356946941575446254146715369708570237887777278853202204002332217657908595915815607557046752573268728104865926435709452504825295250811154947815708523738426012922043401062585991373326300753955866380218366674666187830679181556878550758003168441120911088031062831386216958097420527893704340569656187258606560113813280219475016162869277125804112413012182593990882684509157822816774822424100379580660263775194860156813130946506749911005121475584420971825155580789598293260406668416327978520986079279614460428287)
^CInterrupted.
```

ある程度の時間まで計算して`Ctrl-C`で処理を停止しました。リスト[^ref4]で調べると擬素数はなく、全て素数が出力されているようです。

### キャロル素数

```Haskell:
ghci> [(n,m)|n<-[2..], let m=(2^n-1)^2-2, probably_prime m]
[(2,7),
(3,47),
(4,223),
(6,3967),
(7,16127),
(10,1046527),
(12,16769023),
(15,1073676287),
(18,68718952447),
(19,274876858367),
(21,4398042316799),
(25,1125899839733759),
(27,18014398241046527),
(55,1298074214633706835075030044377087),
(129,463168356949264781694283940034751631411718809194878502303976837601925445713919),
(132,29642774844752946028434172162224104410426227038662514363270313518587944605057023),
(159,533996758980227520598755426542388028650676130587701690849429499037351246612443854486084589191167),
(171,8958978968711216842229769122273777112486581988938592153289249896476814522427568975628261462386732433407),
(175,2293498615990071511610820895302086940796564989168281027956617535268869228691795611175694576938930550079487),
(315,4455508415646675018204269146191690746966043464109921807206242693261010905477224010259680479801987008406585323562813599532708841197305532137521323771919534692725949816318656205938871697932287),
(324,1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247009991747281781717531630841710983004444841007965884960248526861060325605002846723615058428348596223),
(358,344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611554672687204289123827567207747375305430780968167209222730184865587979082576318732485241749592282161404652290047),
(393,406983302788077043095694079023514269845261128071039316430435657456301100941017582490321789603976702315852655675868728014210988333976487190457034180881334852153959632277392289661516297088990648707130077572428964982080438259659694596423679),
(435,7872201966280717348342236651726314522606839627565764220475565031568317153405023507392663596386569558004653379220621715171372109047931090170021053480627826685308659340562746288109280147802449846709499341424722624247844727603454284082216974269896319765247518834687),
(786,165635408748291599080029182380130009039563069165266451684453424415564846507344962056669527948550766026548868123967384486440967978743031543926838847628283538369695041621552467259506529935989853140100578819495006752257814988737621060210037295860801552923627902867881104200535939343950829521563573607489917970144200041272475187020392380100301757002948068856607341788871653623311673828284039829595440323972682599576525856452670880014119507442650156150067264277887638392346247167),
(1459,254405998738880392120826394278324941591123871244383874205153363217654428493251439249806018563971610967582337605469953108053903714105642748777221507818617896258732317375147902544263779682344906688836737300018591472110192989598940766577008220917976464531123899456967266594955220885817800447631425707393947625889399807852014003986036463514458996102861658491555835688577754884991107095313395044407719618073551421033234110550740926037761619271885682608081086753390938409573280367833860508569810337813772986804100472239818462149262845940749880328182218521144823107627757761499252266448190456766950528864110336947697378646753294157392972229901654933386555518716708412794370404640363456772305972706309890806662526576213916655126994389536947103189107936542598804639875178746283553452968458939063385521641528684373711415083942779133837781560849668083894287021225165056228741915503826567167),
(1707,52048137929018049294826461400270402689981496361269072262129908663316054180437402787258971200757167260363866763223592090394628127743795494083040982230639313491467565597255001055893753319101222561423949077163908013832482564822744599148433985140790671070747733643273783792635934734529374443349067097411367383202721400800911288124643565011979891455567956603871954204628220250999753175221121012413184505946241941659428616483817239766690932630901926121441145106678588698550025371075487045732474531511072821776312236803945839150311009273860814230454636381808583647687526663568019445553401204217082215395295249273794747199514112278723250564576630418414841054689964405065378228933971780679828405414669557168971576255709039835727518667487453479570276056354451301327594482368840301546782638120213378440535505270641065172462392598564172617678749589297953128420363243752822934208982197436950931344633734515889771701448832890878158782521098132498939969136828808602459552823987698339845203133686093528308218042974703618016461618469459751600127),
(2923,66275750086991064746193494735732392160043776264045175212697373100557772940863293756310486943947342562648507153955382938379520781448324409169913669829627420941609676866334680623512652560489506693444822250328301872776116396213736965903446046321635108227823212851099480667062094778406893912273731580978927052688422820764334588109761389927264437956724943059048093344335991019262689340436360555030499220749443602333840257231232213612364597787278933433082808133082599866437827777131990249986594471785834393944260796750817562211386045033416743781464482998485843598574111450080382243477984611891934144806864808504415887453732598270081106442356274685350446278195432848444964470470659934549674136780902743230596053123941890491171784273399439594358123775690367979974703783282112660514630972286887557406893807815006524693964570275740834175478743348738286387240040636815007016997545486207279549174946448378643768208536562819676228865262437005785561561493806425251765884722582289219164005806878151518265781475503075232494016624891268589380043126551145792313364063347192392202317332380292644977343514117444546075864141903812576785023398989288238219395720244392563600723297087177965487823457728998802607727098084829205115895828129366940904385181844210999565546402802894518145487172208072647556566860885373261058494957412818117476438521261521708936622246985670899902343072547130673837129106299346890117097308121889529190986222790501139011570988809750529176035255093148031892137778174391727230101586463805273147576938698815457541006913128683113920438327941985738015950620571633978446141621652026173064800523676262097176089340591714946199302538765847253717723935756983644865505548235455991666824360904762323344272160872876745911672146154345657218489918307696967882886418895208447),
(6462,324835855870177921286316412366566716266121456220790774710745167999066218825374596375174500184547352177095034982591847630133220605277661537689651196707511751571517194442196887550673870392553847707055910306639742577663022385765390625248145914069200777035794893881911717194440215415272320211030717106575047343719597793507247029839613034556883773850509588705833211320866629515368360898913540180565092270104346580624917590314919941890091715564677437905686278232438657950895000270158190285603635029396046039679347197513257849338966481489236321717238181866613255883276437982272972524884155455898527366923589586685940509816105977352084876546621594389829845160431867457280956946278261184808790098565504856350548564397456698556489144343987521468196424333914448557018217879812842314677301783551055275083440451390967423376995800362108456022675885001337231913698739299063515601604725061430921349750356758581835680110049750917360499993589026175252095140519092523200695764762902127175709153944919140551301205079462250930830867837681675111197959388252917616407704861439864280592198327656682144981073190621752860593572816920045490825722232569441568927745076309672426280740010874653218625422086777781437112526080144306983885758330047150377784713289331392750244142498237272396970584004245317639873370867389579824229353667416767451451289486209018428875021884158985280963441187049694172319496357054218961743778613148446387267112695577872624419562372482629784133004476383513908630062786915079516452097111389055480888360185101674304848831230163525611358144977558834824155312794389371912743855948323286134337430058856255438807585186487832325325804214290162663886268504970024997639995537404202876492416897964547532059428169678673343676520360052311449407001495101978791328456297017723428186315382442075643309326440088265442424455382005143697132909028857439630720370135619645475906778097909278911652559273031387318874694900522890364714920546294986693651178820954825668965467212323974592582079143600145688933704787737288418100695007986655275311541732193343954731589243788525479666512031649174875051746222998340072319554844082306220862223509749805663417589122825393695609193333742816459350952178254618043271625015654976599378761082161374176632292502212987468148449312634480758414524707183689311324838381018154336163618938555532321819620738276799556039412138907189246039363284127277411840378191129572560685243500355067678816643046502768149028532219125003892038311316424991178967027918051082283715123047871389014033546817334709008186501235407204567355421244257666806157823678876664459223281369848517040448621363527755562423634296403185545846240354452529771306567059600546928900894766496079121722726362488585593170163737949404742661225187544484761606438649505665929852313728231364225501144417348404789770019386812968292787800280649507432446128693805428152576644478798656342363334799257016775045813804014074286772908155988626428398863752054057867192045718563298326385415126692999804970430228131702238074045983895718532725914982616220843607072635305858096790616922611793866796259828111274669895664595098670110225157789403821224808623873829659272386327209590086100015385813382594698472643795970002876058190563490817783498826793366340254357430858564157242287901179243821866015011349116611670261128272937970765382913326270407357044138874091295852790645944268521907572492066539695488315965202678291226652625786913714140752253908890883426878419726889479798390747726646969483489472233398983017697630031095345903865082458291387118635541480628360366404937250153572168539911768533217146058567370029374436805104343423411223517477150900198963332707365223617946593267812285360272292366072920568883770505581092822360690995454351777867181040770297013469290177759217736011936648546085738436789614870421054767493372434741771422973318103607493052304895030847128285655961762310573438853263664149988096492729860556558635891846269604116360593407)
^CInterrupted.
```

こちらも、ある程度の時間まで計算して`Ctrl-C`で処理を停止しました。リスト[^ref4]で調べると擬素数はなく、全て素数が出力されているようです。


## おわりに

ご一読いただきまして有り難うございます。
最後に、本稿を記載するために検証したHaskell環境を記しておきます。お手元の環境で検証する際に、動作が異なるときには参考になるかもしれません。

<details><summary>本稿の環境</summary>
本稿のために使用した環境は以下となります。

* macOS: Sonoma 14.5 (chip: Apple M1)
* GHCup: 0.1.22.0 GHC: 9.6.4

</details>


（●）（●） Happy Hacking!
/""　＿＿""＼


[^ref1]: [ウォルステンホルム素数](https://qiita.com/kyamaz/items/848f4868b9055bc09fc0)
[^ref2]: [カレン素数とウッダル素数](https://qiita.com/kyamaz/items/7b73265525cd9ebe4f31)
[^ref3]: [ヴィーフェリッヒ素数](https://qiita.com/kyamaz/items/d550448562f07b9d75fb)
[^ref4]: [Carol primes and Kynea primes](https://www.rieselprime.de/ziki/Carol-Kynea_prime_2)