[{"id":248041,"date":"2026-10-14T06:11:11","date_gmt":"2026-10-14T11:11:11","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248041"},"modified":"2026-10-14T06:11:11","modified_gmt":"2026-10-14T11:11:11","slug":"pythagorean-variation","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/pythagorean-variation\/","title":{"rendered":"A generalization of the Pythagorean theorem"},"content":{"rendered":"<p>G. D. Chakerian [1] discovered the following generalization of the Pythagorean theorem.<\/p>\n<p>Take any triangle and attach squares to each side. From each triangle vertex, extend a line perpendicular to the opposite side and extend the line through the square, as shown in the figure below. Then the areas of the rectangles with the same labels are equal.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium\" src=\"https:\/\/www.johndcook.com\/chakerian1.png\" width=\"400\" height=\"400\" \/><\/p>\n<p>It&#8217;s not clear at first why this is a generalization of the Pythagorean theorem, but if we make our triangle closer to a right triangle it&#8217;s easier to see the connection.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium\" src=\"https:\/\/www.johndcook.com\/chakerian2.png\" width=\"400\" height=\"400\" \/><\/p>\n<p>As the angle at B becomes closer to a right angle, the area of the orange triangles labeled II goes to zero. In the limit we&#8217;re left a theorem saying that the areas of the blue and green squares add up to the area of the square attached to the hypotenuse.<\/p>\n<p>The paper [1] caught my eye because it gives a connection between a geometry problem and a circuit problem, much like <a href=\"https:\/\/www.johndcook.com\/blog\/2023\/07\/06\/lehmans-inequality-circuits-and-latex\/\">this post<\/a>. However, I find the theorem itself more interesting than the connection to circuits.<\/p>\n<p>The first diagram is my reproduction of the first figure from the paper, with color added. I then moved the vertex A to make the connection to the Pythagorean theorem easier to see.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class='link'><a href='https:\/\/www.johndcook.com\/blog\/2025\/11\/13\/pythagorean-generalizations\/'>Four generalizations of the Pythagorean theorem<\/a><\/li>\n<li class='link'><a href='https:\/\/www.johndcook.com\/blog\/2025\/02\/11\/binary-triples\/'>Sparse binary Pythagorean triples<\/a><\/li>\n<li class='link'><a href='https:\/\/www.johndcook.com\/blog\/2022\/11\/30\/napoleons-theorem\/'>Napoleon\u2019s theorem<\/a><\/li>\n<\/ul>\n<p>[1] G. D. Chakerian and M. S. Klamkin. A Generalization of the Pythagorean Theorem Seen as a Problem of Equivalent Resistances. Mathematics Magazine, Vol. 59, No. 3 (Jun., 1986), pp. 149\u2013153.<\/p>\n<p>The first line of the paper is &#8220;The following result (observed several years ago by the first author) may be viewed as a generalization of the Pythagorean Theorem.&#8221; The paper also gives two other sources of the theorem. Presumably Chakerian independently discovered a theorem that was already known.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>G. D. Chakerian [1] discovered the following generalization of the Pythagorean theorem. Take any triangle and attach squares to each side. From each triangle vertex, extend a line perpendicular to the opposite side and extend the line through the square, as shown in the figure below. Then the areas of the rectangles with the same [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[224],"class_list":["post-248041","post","type-post","status-publish","format-standard","hentry","category-math","tag-geometry"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"A theorem for general triangles that reduces to the Pythagorean theorem when the triangle is a right triangle.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"geometry\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/pythagorean-variation\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"A generalization of the Pythagorean theorem\" \/>\n\t\t<meta property=\"og:description\" content=\"A theorem for general triangles that reduces to the Pythagorean theorem when the triangle is a right triangle.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/pythagorean-variation\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-14T11:11:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-14T11:11:11+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"A generalization of the Pythagorean theorem\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A theorem for general triangles that reduces to the Pythagorean theorem when the triangle is a right triangle.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"A generalization of the Pythagorean theorem","description":"A theorem for general triangles that reduces to the Pythagorean theorem when the triangle is a right triangle.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/pythagorean-variation\/","robots":"max-image-preview:large","keywords":"geometry","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"A generalization of the Pythagorean theorem","og:description":"A theorem for general triangles that reduces to the Pythagorean theorem when the triangle is a right triangle.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/pythagorean-variation\/","article:published_time":"2026-10-14T11:11:11+00:00","article:modified_time":"2026-10-14T11:11:11+00:00","twitter:card":"summary","twitter:title":"A generalization of the Pythagorean theorem","twitter:description":"A theorem for general triangles that reduces to the Pythagorean theorem when the triangle is a right triangle.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248041","title":null,"description":"A theorem for general triangles that reduces to the Pythagorean theorem when the triangle is a right triangle.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-14 10:45:43","updated":"2026-10-14 13:48:59","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tA generalization of the Pythagorean theorem\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"A generalization of the Pythagorean theorem","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/pythagorean-variation\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248041"}],"version-history":[{"count":1,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248041\/revisions"}],"predecessor-version":[{"id":248043,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248041\/revisions\/248043"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":248036,"date":"2026-10-14T05:00:22","date_gmt":"2026-10-14T10:00:22","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248036"},"modified":"2026-10-14T05:03:15","modified_gmt":"2026-10-14T10:03:15","slug":"poe-bessel-and-drones","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/poe-bessel-and-drones\/","title":{"rendered":"Poe, Bessel, and Drones"},"content":{"rendered":"<p>What&#8217;s a connection between Edgar Allan Poe and Friedrich Wilhelm Bessel?<\/p>\n<p>Poe&#8217;s story The Pit and the Pendulum describes a pendulum with a semicircular blade being lowered on a cable. This is an interesting variation on the usual harmonic oscillator because the length <em>L<\/em> of the pendulum is not constant but rather an increasing function of time <em>L<\/em>(<em>t<\/em>).<\/p>\n<p>Using the <a href=\"https:\/\/www.johndcook.com\/blog\/2010\/07\/27\/sine-approximation-for-small-x\/\">small angle<\/a> approximation sin(\u03b8) \u2248 \u03b8, the equation of motion is<\/p>\n<p style=\"padding-left: 40px;\"><em>L<\/em> \u03b8\u2033 +\u00a0<em>L<\/em>\u2032 \u03b8\u2032 + <em>g<\/em> \u03b8 = 0.<\/p>\n<p>If we assume the length is increasing at a constant rate, then with a change of variables described in [1], this differential equation becomes Bessel&#8217;s equation and its solutions are Bessel functions.<\/p>\n<p>The authors of [1] state that their primary interest is whether a pendulum can have the motion that Poe describes. But as they indicate in their opening sentence,<\/p>\n<p style=\"padding-left: 40px;\">The study of the motion of a steadily descending pendulum has practical applications (e.g., to the oscillations of a load being lowered by a crane).<\/p>\n<p>A more recent application would be describing the motion of a package being delivered by a Zipline drone.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2014\/07\/03\/pi-and-the-raven\/\">Pi and The Raven<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2026\/04\/25\/exact-solution-nonlinear-pendulum\/\">The nonlinear pendulum equation<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2026\/06\/06\/from-kepler-to-bessel\/\">From Kepler to Bessel<\/a><\/li>\n<\/ul>\n<p>[1] Robert L. Borrelli, Courtney S. Coleman, and Dana D. Hobson. Poe&#8217;s Pendulum. Mathematics Magazine, Vol. 58, No. 2 (Mar., 1985), pp. 78\u201383<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What&#8217;s a connection between Edgar Allan Poe and Friedrich Wilhelm Bessel? Poe&#8217;s story The Pit and the Pendulum describes a pendulum with a semicircular blade being lowered on a cable. This is an interesting variation on the usual harmonic oscillator because the length L of the pendulum is not constant but rather an increasing function [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[47,129],"class_list":["post-248036","post","type-post","status-publish","format-standard","hentry","category-math","tag-differential-equations","tag-special-functions"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"A connection between Edgar Allan Poe, Friedrich Wilhelm Bessel, and drone delivery.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"differential equations,special functions\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/poe-bessel-and-drones\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Poe, Bessel, and Drones\" \/>\n\t\t<meta property=\"og:description\" content=\"A connection between Edgar Allan Poe, Friedrich Wilhelm Bessel, and drone delivery.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/poe-bessel-and-drones\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-14T10:00:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-14T10:03:15+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Poe, Bessel, and Drones\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A connection between Edgar Allan Poe, Friedrich Wilhelm Bessel, and drone delivery.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Poe, Bessel, and Drones","description":"A connection between Edgar Allan Poe, Friedrich Wilhelm Bessel, and drone delivery.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/poe-bessel-and-drones\/","robots":"max-image-preview:large","keywords":"differential equations,special functions","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Poe, Bessel, and Drones","og:description":"A connection between Edgar Allan Poe, Friedrich Wilhelm Bessel, and drone delivery.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/poe-bessel-and-drones\/","article:published_time":"2026-10-14T10:00:22+00:00","article:modified_time":"2026-10-14T10:03:15+00:00","twitter:card":"summary","twitter:title":"Poe, Bessel, and Drones","twitter:description":"A connection between Edgar Allan Poe, Friedrich Wilhelm Bessel, and drone delivery.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248036","title":null,"description":"A connection between Edgar Allan Poe, Friedrich Wilhelm Bessel, and drone delivery.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-14 02:19:22","updated":"2026-10-14 11:01:11","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPoe, Bessel, and Drones\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Poe, Bessel, and Drones","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/14\/poe-bessel-and-drones\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248036"}],"version-history":[{"count":4,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248036\/revisions"}],"predecessor-version":[{"id":248040,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248036\/revisions\/248040"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":248028,"date":"2026-10-13T08:45:18","date_gmt":"2026-10-13T13:45:18","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248028"},"modified":"2026-10-13T08:45:18","modified_gmt":"2026-10-13T13:45:18","slug":"harmonic-triangle","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/13\/harmonic-triangle\/","title":{"rendered":"Harmonic triangle"},"content":{"rendered":"<p>Pascal&#8217;s triangle is the most famous triangular arrangement of numbers. I&#8217;ve written about other numerical triangles, such as <a href=\"https:\/\/www.johndcook.com\/blog\/2025\/04\/16\/bell-numbers-2\/\">Bell&#8217;s triangle<\/a> and the <a href=\"https:\/\/www.johndcook.com\/blog\/2025\/05\/16\/trinomial-coefficients-and-kings\/\">trinomial triangle<\/a>. There&#8217;s another well-known triangle that somehow I never heard of until recently: the harmonic triangle, first explored by Leibniz around 1700.<\/p>\n<p>To create the harmonic triangle, start with the harmonic series<\/p>\n<p style=\"padding-left: 40px;\">1, 1\/2, 1\/3, 1\/4, 1\/5, \u2026<\/p>\n<p>This is the first column of the triangle. Next take the differences of the terms:<\/p>\n<p style=\"padding-left: 40px;\">(1 \u2212 1\/2), (1\/2 \u2212 1\/3), (1\/3 \u2212 1\/4), \u2026 = 1\/2, 1\/6, 1\/12, \u2026<\/p>\n<p>This, shifted down one space, is the second column of the triangle. Taking differences again gives the third column, and so forth. Column <em>c<\/em> of the triangle consists of the <em>c<\/em>th differences of the harmonic series.<\/p>\n<pre>    1\r\n    1\/2  1\/2\r\n    1\/3  1\/6   1\/3\r\n    1\/4  1\/12  1\/12  1\/4\r\n    1\/5  1\/20  1\/30  1\/20  1\/5\r\n    \u2026\r\n<\/pre>\n<p>Each entry is the difference of the entries to its west and northwest. If we let <em>L<\/em>(<em>r<\/em>, <em>c<\/em>) be the element in the <em>r<\/em>th row and <em>c<\/em>th column, then<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/liebniz_harmonic_triangle1.svg\" alt=\"L(r,c) = L(r-1, c-1) - L(r, c - 1)\" width=\"316\" height=\"23\" \/><\/p>\n<p>Every numerator is 1, though it&#8217;s not immediately obvious why this should be the case. And every number is a value of the beta function, the function that gives the normalizing constant for the beta distribution [1].<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/liebniz_harmonic_triangle2.svg\" alt=\"L(r,c) = \\frac{1}{r\\binom{r-1}{c-1}} = \\beta(c, r-c+1)\" width=\"282\" height=\"59\" \/><\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class='link'><a href='https:\/\/www.johndcook.com\/blog\/2025\/05\/31\/pascals-ellipse\/'>The ellipse hidden inside Pascal\u2019s triangle<\/a><\/li>\n<li class='link'><a href='https:\/\/www.johndcook.com\/blog\/2025\/07\/24\/analogs-of-binomial-coefficients\/'>Analogs of binomial coefficients<\/a><\/li>\n<li class='link'><a href='https:\/\/www.johndcook.com\/blog\/2020\/02\/04\/odd-numbers-in-pascals-triangle\/'>Odd numbers in Pascal&#8217;s triangle<\/a><\/li>\n<\/ul>\n<p>[1] Ayoub B. Ayoub. The Harmonic Triangle and the Beta Function. Mathematics Magazine, Vol. 60, No. 4 (Oct., 1987), pp. 223-225<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pascal&#8217;s triangle is the most famous triangular arrangement of numbers. I&#8217;ve written about other numerical triangles, such as Bell&#8217;s triangle and the trinomial triangle. There&#8217;s another well-known triangle that somehow I never heard of until recently: the harmonic triangle, first explored by Leibniz around 1700. To create the harmonic triangle, start with the harmonic series [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[197],"class_list":["post-248028","post","type-post","status-publish","format-standard","hentry","category-math","tag-combinatorics"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"The harmonic triangle is analogous to Pascal&#039;s triangle. First explored by Liebniz around 1700. Connection to the beta function.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"combinatorics\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/13\/harmonic-triangle\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Harmonic triangle\" \/>\n\t\t<meta property=\"og:description\" content=\"The harmonic triangle is analogous to Pascal&#039;s triangle. First explored by Liebniz around 1700. Connection to the beta function.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/13\/harmonic-triangle\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-13T13:45:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-13T13:45:18+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Harmonic triangle\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The harmonic triangle is analogous to Pascal&#039;s triangle. First explored by Liebniz around 1700. Connection to the beta function.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Harmonic triangle","description":"The harmonic triangle is analogous to Pascal's triangle. First explored by Liebniz around 1700. Connection to the beta function.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/13\/harmonic-triangle\/","robots":"max-image-preview:large","keywords":"combinatorics","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Harmonic triangle","og:description":"The harmonic triangle is analogous to Pascal's triangle. First explored by Liebniz around 1700. Connection to the beta function.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/13\/harmonic-triangle\/","article:published_time":"2026-10-13T13:45:18+00:00","article:modified_time":"2026-10-13T13:45:18+00:00","twitter:card":"summary","twitter:title":"Harmonic triangle","twitter:description":"The harmonic triangle is analogous to Pascal's triangle. First explored by Liebniz around 1700. Connection to the beta function.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248028","title":null,"description":"The harmonic triangle is analogous to Pascal's triangle. First explored by Liebniz around 1700. Connection to the beta function.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-13 12:42:48","updated":"2026-10-13 15:45:03","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHarmonic triangle\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Harmonic triangle","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/13\/harmonic-triangle\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248028"}],"version-history":[{"count":5,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248028\/revisions"}],"predecessor-version":[{"id":248033,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248028\/revisions\/248033"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248028"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248028"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":248025,"date":"2026-10-12T08:04:09","date_gmt":"2026-10-12T13:04:09","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248025"},"modified":"2026-10-12T08:04:09","modified_gmt":"2026-10-12T13:04:09","slug":"categorical-models-of-logics","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/12\/categorical-models-of-logics\/","title":{"rendered":"Categorical models of logics"},"content":{"rendered":"<p>A few days ago I wrote about <a href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/04\/topological-models-of-modal-logic\/\">topological models of modal logic<\/a>. If you find general topology more familiar than modal logic, this correspondence could be helpful. If you think the motivation for general topology is evident but the motivation for modal logic is suspect, the correspondence between the two fields might relieve some of your suspicion of the latter.<\/p>\n<p>Topological models, however, are quite limited. You can&#8217;t model <a href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/godel-lob\/\">provability logic<\/a>, for example, by the usual approach to constructing topological models, though there is an alternative construction.<\/p>\n<p>Categorical models are less limited. You can model a wide variety of logics using categories via the Curry-Howard-Lambek correspondence. This may be cold comfort if you find category theory and logic equally mysterious. Even so, there&#8217;s something intriguing about a correspondence between two things you find mysterious.<\/p>\n<p>Categorical semantics is deep and broad, but I&#8217;ll keep this post brief. The correspondence between logic [1] and categories [2] is summarized in the table below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/curry_howard_lambek.svg\" alt=\"\\begin{tabular}{ll} \\hline \\textbf{Logic} &amp; \\textbf{Category theory} \\\\ \\hline Proposition \/ formula &amp; Object \\\\ Proof of \\(A\\) from \\(\\Gamma\\) &amp; Morphism \\(\\Gamma\\to A\\) \\\\ Truth \\(\\top\\) &amp; Terminal object \\(1\\) \\\\ Falsehood \\(\\bot\\) &amp; Initial object \\(0\\) \\\\ Conjunction \\(A\\land B\\) &amp; Product \\(A\\times B\\) \\\\ Disjunction \\(A\\lor B\\) &amp; Coproduct \\(A+B\\) \\\\ Implication \\(A\\to B\\) &amp; Exponential \\(B^A\\) \\\\ Negation \\(\\neg A\\) &amp; Exponential \\(0^A\\) \\\\ \\hline \\end{tabular} \" width=\"355\" height=\"219\" \/><\/p>\n<p>It&#8217;s interesting how model logic fits into this picture. Axiom K, required by normal modal logics, says<\/p>\n<p><img class='aligncenter' src='https:\/\/www.johndcook.com\/axiomk.svg' alt='\\Box(A\\to B)\\;\\longrightarrow\\;(\\Box A\\to\\Box B)' style='background-color:white' height='18' width='234' \/><\/p>\n<p>In categorial semantics, this says this says the box operator \u25a1 is a functor, mapping objects representing propositions to objects representing propositions, and mapping morphisms representing proofs to mapping morphisms representing proofs.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class='link'><a href='https:\/\/www.johndcook.com\/blog\/2026\/10\/08\/privacy-policies-and-modal-logic\/'>Modeling policies in modal logic<\/a><\/li>\n<li class='link'><a href='https:\/\/www.johndcook.com\/blog\/2026\/05\/06\/category-mythology\/'>The mythology of category theory<\/a><\/li>\n<li class='link'><a href='https:\/\/www.johndcook.com\/blog\/2023\/05\/22\/category-theory-without-categories\/'>Category theory without categories<\/a><\/li>\n<\/ul>\n<p>[1] More precisely, intuitionistic propositional calculus.<\/p>\n<p>[2] More precisely, bicartesian closed categories.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A few days ago I wrote about topological models of modal logic. If you find general topology more familiar than modal logic, this correspondence could be helpful. If you think the motivation for general topology is evident but the motivation for modal logic is suspect, the correspondence between the two fields might relieve some of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[144,150],"class_list":["post-248025","post","type-post","status-publish","format-standard","hentry","category-math","tag-category-theory","tag-logic"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"A very brief introduction to modeling varieties of logic by categories.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"category theory,logic\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/12\/categorical-models-of-logics\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Categorical models of logics\" \/>\n\t\t<meta property=\"og:description\" content=\"A very brief introduction to modeling varieties of logic by categories.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/12\/categorical-models-of-logics\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-12T13:04:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-12T13:04:09+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Categorical models of logics\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A very brief introduction to modeling varieties of logic by categories.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Categorical models of logics","description":"A very brief introduction to modeling varieties of logic by categories.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/12\/categorical-models-of-logics\/","robots":"max-image-preview:large","keywords":"category theory,logic","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Categorical models of logics","og:description":"A very brief introduction to modeling varieties of logic by categories.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/12\/categorical-models-of-logics\/","article:published_time":"2026-10-12T13:04:09+00:00","article:modified_time":"2026-10-12T13:04:09+00:00","twitter:card":"summary","twitter:title":"Categorical models of logics","twitter:description":"A very brief introduction to modeling varieties of logic by categories.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248025","title":null,"description":"A very brief introduction to modeling varieties of logic by categories.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-12 12:02:48","updated":"2026-10-12 17:08:00","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tCategorical models of logics\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Categorical models of logics","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/12\/categorical-models-of-logics\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248025"}],"version-history":[{"count":2,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248025\/revisions"}],"predecessor-version":[{"id":248027,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248025\/revisions\/248027"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":248022,"date":"2026-10-08T08:43:02","date_gmt":"2026-10-08T13:43:02","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248022"},"modified":"2026-10-08T08:43:02","modified_gmt":"2026-10-08T13:43:02","slug":"privacy-policies-and-modal-logic","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/08\/privacy-policies-and-modal-logic\/","title":{"rendered":"Privacy policies and modal logic"},"content":{"rendered":"<p>If you&#8217;ve followed this blog for a while, you may know that I do a lot of work with data privacy and that I have an interest in modal logic. Recently these two worlds collided: I became aware of work that uses modal logic to reason about data privacy.<\/p>\n<p>The story begins with Helen Nissenbaum&#8217;s paper\u00a0<em>Privacy as Contextual Integrity<\/em> [1]. Rather than simply classifying data as public or private, Nissenbaum looks at norms around the context in which data exists and moves.<\/p>\n<blockquote><p>\u2026 the benchmark of privacy is contextual integrity; that in any given situation, a complaint that privacy has been violated is sound in the event that one or the other types of the informational norms has been transgressed.<\/p><\/blockquote>\n<p>A couple years later Nissenbaum coauthored a paper [2] with three Stanford computer scientists using modal logic, specifically <strong>linear temporal logic<\/strong> (<strong>LTL<\/strong>), to reason about contextual integrity. The paper uses four modal operators: the usual box and diamond, plus past tense versions with a minus sign across the middle.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium\" src=\"https:\/\/www.johndcook.com\/ltl_operators.png\" alt=\"box, diamond, box minus, diamond minus\" width=\"270\" height=\"92\" \/><\/p>\n<p>These four operators can be read as &#8220;henceforth&#8221;, &#8220;eventually&#8221;, &#8220;historically&#8221;, and &#8220;once.&#8221;<\/p>\n<p>Henceforth means something will always be true into the future; historically means something was always true in the past.<\/p>\n<p>Eventually means something will happen at some time in the future; once means something occurred at some time in the past.<\/p>\n<p>You could imagine using these operators to formalize statements such as data sharing in some context is permissible (henceforth) if the data subject has (once) signed a consent form.<\/p>\n<p>Understanding simple stand-alone policies does not require the machinery of formal logic, but analyzing large collections of interacting policies may. It may be, for example, that a collection of policies cannot all be satisfied, though this is not obvious from looking at the individual policies. Formalizing policies in the language modal logic makes their analysis amenable to well established algorithms.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2018\/10\/30\/modal-logic-security\/\">Temporal logic for cybersecurity<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2022\/01\/21\/modal-logic-and-sf\/\">Modal logic and science fiction<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/data-privacy\/\">Data privacy consulting<\/a><\/li>\n<\/ul>\n<p>[1] H. Nissenbaum. Privacy as contextual integrity. Washington Law Review, 79(1):119\u2013158, 2004.<\/p>\n<p>[2] A. Barth, A. Datta, J. C. Mitchell, and H. Nissenbaum, &#8220;Privacy and contextual integrity: Framework and applications,&#8221; in Proc. 2006 IEEE Symp. Security and Privacy (S&amp;P&#8217;06), Berkeley\/Oakland, CA, USA, 2006, pp. 184\u2013198, doi: 10.1109\/SP.2006.32.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;ve followed this blog for a while, you may know that I do a lot of work with data privacy and that I have an interest in modal logic. Recently these two worlds collided: I became aware of work that uses modal logic to reason about data privacy. The story begins with Helen Nissenbaum&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[150,103],"class_list":["post-248022","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-logic","tag-privacy"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Using linear temporal logic to reason about privacy policies. Data privacy meets modal logic.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"logic,privacy\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/08\/privacy-policies-and-modal-logic\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Privacy policies and modal logic\" \/>\n\t\t<meta property=\"og:description\" content=\"Using linear temporal logic to reason about privacy policies. Data privacy meets modal logic.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/08\/privacy-policies-and-modal-logic\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-08T13:43:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-08T13:43:02+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Privacy policies and modal logic\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Using linear temporal logic to reason about privacy policies. Data privacy meets modal logic.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Privacy policies and modal logic","description":"Using linear temporal logic to reason about privacy policies. Data privacy meets modal logic.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/08\/privacy-policies-and-modal-logic\/","robots":"max-image-preview:large","keywords":"logic,privacy","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Privacy policies and modal logic","og:description":"Using linear temporal logic to reason about privacy policies. Data privacy meets modal logic.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/08\/privacy-policies-and-modal-logic\/","article:published_time":"2026-10-08T13:43:02+00:00","article:modified_time":"2026-10-08T13:43:02+00:00","twitter:card":"summary","twitter:title":"Privacy policies and modal logic","twitter:description":"Using linear temporal logic to reason about privacy policies. Data privacy meets modal logic.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248022","title":null,"description":"Using linear temporal logic to reason about privacy policies. Data privacy meets modal logic.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-07 23:48:38","updated":"2026-10-08 20:40:41","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPrivacy policies and modal logic\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Uncategorized","link":"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/"},{"label":"Privacy policies and modal logic","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/08\/privacy-policies-and-modal-logic\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248022"}],"version-history":[{"count":2,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248022\/revisions"}],"predecessor-version":[{"id":248024,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248022\/revisions\/248024"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":248019,"date":"2026-10-07T17:29:28","date_gmt":"2026-10-07T22:29:28","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248019"},"modified":"2026-10-07T17:29:28","modified_gmt":"2026-10-07T22:29:28","slug":"consequences-of-qrh","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/consequences-of-qrh\/","title":{"rendered":"Consequences of progress toward the Riemann Hypothesis"},"content":{"rendered":"<p>The Riemann Hypothesis (RH) is the conjecture that all the zeros of the Riemann zeta function \u03b6(<em>s<\/em>) in the critical strip, i.e. the region of the complex plane with real part between 0 and 1, have real part equal to \u00bd.<\/p>\n<p>The Quasi Riemann Hypothesis (QRH) says that there exists a constant \u03b8 &lt; 1 such that no zeros of \u03b6(<em>s<\/em>) have real part greater than \u03b8. <a href=\"https:\/\/github.com\/openai\/math\/blob\/main\/preprints\/The-Quasi-Riemann-Hypothesis-September-30-2026\/paper.pdf\">OpenAI<\/a> has published a paper claiming QRH with \u03b8 = 7\/8.<\/p>\n<p>The RH is so important to number theory that even partial results can have big consequences. This post will focus on one consequence: the error term in the Prime Number Theorem.<\/p>\n<p>The Prime Number Theorem says that \u03c0(<em>x<\/em>), the number of primes less than <em>x<\/em>, is asymptotically equal to Li(<em>x<\/em>). We&#8217;d like to know more specifically at what rate \u03c0(<em>x<\/em>) approaches Li(<em>x<\/em>).<\/p>\n<p>The best known result before the QRH announcement was<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/pnt_pre_qrh.svg\" alt=\"\\pi(x) = \\operatorname{Li}(x) + {\\cal O} \\left(x \\exp\\!\\left(-c\\,\\frac{(\\log x)^{3\/5}}{(\\log\\log x)^{1\/5}}\\right)\\right) \" width=\"360\" height=\"50\" \/><\/p>\n<p>If the QRH holds for some \u03b8, such as OpenAI&#8217;s assertion that \u03b8 = 7\/8,<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/pnt_qrh.svg\" alt=\"\\pi(x) = \\operatorname{Li}(x) + {\\cal O} \\left(x^\\theta\\,\\log x\\right). \" width=\"238\" height=\"36\" \/><br \/>\nIf RH holds, \u03b8 = \u00bd.<\/p>\n<p>Incidentally, you may have seen the Prime Number Theorem stated with\u00a0<em>x<\/em>\/log(<em>x<\/em>) rather than Li(<em>x<\/em>). These two functions are asymptotically equal, so they give the same theorem, if you&#8217;re not interested in quantifying the rate of convergence. The function Li(<em>x<\/em>) gives better error bounds.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Riemann Hypothesis (RH) is the conjecture that all the zeros of the Riemann zeta function \u03b6(s) in the critical strip, i.e. the region of the complex plane with real part between 0 and 1, have real part equal to \u00bd. The Quasi Riemann Hypothesis (QRH) says that there exists a constant \u03b8 &lt; 1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[94],"class_list":["post-248019","post","type-post","status-publish","format-standard","hentry","category-math","tag-number-theory"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Consequences of the recent announcement of a proof of the Quasi Riemann Hypothesis\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"number theory\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/consequences-of-qrh\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Consequences of progress toward the Riemann Hypothesis\" \/>\n\t\t<meta property=\"og:description\" content=\"Consequences of the recent announcement of a proof of the Quasi Riemann Hypothesis\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/consequences-of-qrh\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-07T22:29:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-07T22:29:28+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Consequences of progress toward the Riemann Hypothesis\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Consequences of the recent announcement of a proof of the Quasi Riemann Hypothesis\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Consequences of progress toward the Riemann Hypothesis","description":"Consequences of the recent announcement of a proof of the Quasi Riemann Hypothesis","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/consequences-of-qrh\/","robots":"max-image-preview:large","keywords":"number theory","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Consequences of progress toward the Riemann Hypothesis","og:description":"Consequences of the recent announcement of a proof of the Quasi Riemann Hypothesis","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/consequences-of-qrh\/","article:published_time":"2026-10-07T22:29:28+00:00","article:modified_time":"2026-10-07T22:29:28+00:00","twitter:card":"summary","twitter:title":"Consequences of progress toward the Riemann Hypothesis","twitter:description":"Consequences of the recent announcement of a proof of the Quasi Riemann Hypothesis","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248019","title":null,"description":"Consequences of the recent announcement of a proof of the Quasi Riemann Hypothesis","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-07 21:54:44","updated":"2026-10-07 23:07:00","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tConsequences of progress toward the Riemann Hypothesis\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Consequences of progress toward the Riemann Hypothesis","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/consequences-of-qrh\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248019"}],"version-history":[{"count":1,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248019\/revisions"}],"predecessor-version":[{"id":248020,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248019\/revisions\/248020"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":248015,"date":"2026-10-07T16:41:47","date_gmt":"2026-10-07T21:41:47","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248015"},"modified":"2026-10-07T18:35:18","modified_gmt":"2026-10-07T23:35:18","slug":"faster-fourier-transform","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/faster-fourier-transform\/","title":{"rendered":"Faster Fourier Transform"},"content":{"rendered":"<p>The Fast Fourier Transform (FFT) algorithm can compute the discrete Fourier transform of a sequence of length\u00a0<em>n<\/em> in time<\/p>\n<p style=\"padding-left: 40px;\"><em>O<\/em>(<em>n<\/em> log\u00a0<em>n<\/em>).<\/p>\n<p><a href=\"https:\/\/github.com\/openai\/math\/blob\/main\/preprints\/An-explicit-power-saving-for-the-exact-discrete-Fourier-transform-September-25-2026\/main.pdf\">OpenAI<\/a> recently posted a paper saying there is an algorithm that could compute the discrete Fourier transform in<\/p>\n<p style=\"padding-left: 40px;\"><em>O<\/em>(<em>n<\/em> (log\u00a0<em>n<\/em>)<sup>1 \u2212 \u03b5<\/sup>)<\/p>\n<p>time for \u03b5 = 10<sup>\u221213<\/sup>.<\/p>\n<p>This result is amazing. It seemed that <em>O<\/em>(<em>n<\/em> log\u00a0<em>n<\/em>) was as good as you could do, which it provably is for sorting algorithms.<\/p>\n<p>The result is also of absolutely no practical value, for now. But since the theorem shows that our assumptions were wrong, however slightly, about what is possible, maybe we&#8217;re in for further surprises. Maybe the \u03b5 crack will grow. It wouldn&#8217;t be the first time.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2015\/09\/08\/fft-big-data\/\">The FFT and big data<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2024\/02\/03\/fft-reciprocity\/\">FFT and quadratic reciprocity<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2023\/09\/03\/dft-numpy-mathematica\/\">DFT conventions<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The Fast Fourier Transform (FFT) algorithm can compute the discrete Fourier transform of a sequence of length\u00a0n in time O(n log\u00a0n). OpenAI recently posted a paper saying there is an algorithm that could compute the discrete Fourier transform in O(n (log\u00a0n)1 \u2212 \u03b5) time for \u03b5 = 10\u221213. This result is amazing. It seemed that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[178],"class_list":["post-248015","post","type-post","status-publish","format-standard","hentry","category-math","tag-fourier-analysis"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"The fast Fourier transform is no longer the fastest way to compute the discrete Fourier transform, in some VERY theoretical sense.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"fourier analysis\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/faster-fourier-transform\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Faster Fourier Transform\" \/>\n\t\t<meta property=\"og:description\" content=\"The fast Fourier transform is no longer the fastest way to compute the discrete Fourier transform, in some VERY theoretical sense.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/faster-fourier-transform\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-07T21:41:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-07T23:35:18+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Faster Fourier Transform\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The fast Fourier transform is no longer the fastest way to compute the discrete Fourier transform, in some VERY theoretical sense.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Faster Fourier Transform","description":"The fast Fourier transform is no longer the fastest way to compute the discrete Fourier transform, in some VERY theoretical sense.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/faster-fourier-transform\/","robots":"max-image-preview:large","keywords":"fourier analysis","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Faster Fourier Transform","og:description":"The fast Fourier transform is no longer the fastest way to compute the discrete Fourier transform, in some VERY theoretical sense.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/faster-fourier-transform\/","article:published_time":"2026-10-07T21:41:47+00:00","article:modified_time":"2026-10-07T23:35:18+00:00","twitter:card":"summary","twitter:title":"Faster Fourier Transform","twitter:description":"The fast Fourier transform is no longer the fastest way to compute the discrete Fourier transform, in some VERY theoretical sense.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248015","title":null,"description":"The fast Fourier transform is no longer the fastest way to compute the discrete Fourier transform, in some VERY theoretical sense.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-07 21:27:22","updated":"2026-10-08 00:37:01","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tFaster Fourier Transform\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Faster Fourier Transform","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/faster-fourier-transform\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248015"}],"version-history":[{"count":4,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248015\/revisions"}],"predecessor-version":[{"id":248021,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248015\/revisions\/248021"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":248013,"date":"2026-10-07T16:19:20","date_gmt":"2026-10-07T21:19:20","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248013"},"modified":"2026-10-07T16:20:46","modified_gmt":"2026-10-07T21:20:46","slug":"irrationality-exponent-of-pi","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/irrationality-exponent-of-pi\/","title":{"rendered":"Irrationality exponent of \u03c0"},"content":{"rendered":"<p>For a real number\u00a0<em>x<\/em>, the irrationality index \u03bc(<em>x<\/em>) is a way of measuring how well\u00a0<em>x<\/em> can be approximated by rational numbers. If\u00a0<em>x<\/em> is rational, \u03bc(<em>x<\/em>) = 1. If\u00a0<em>x<\/em> is irrational, \u03bc(<em>x<\/em>) \u2265 2.<\/p>\n<p><a href=\"https:\/\/github.com\/openai\/math\/tree\/main\/preprints\/The-irrationality-exponent-of-pi-is-2-September-24-2026\">OpenAI<\/a> recently published a proof that \u03bc(\u03c0) = 2. Almost all real numbers have irrationality exponent 2, so the new result says \u03c0 is typical in this regard. There are numbers proven to have irrationality index greater than 2 (more on that below), but \u03c0 isn&#8217;t one of them.<\/p>\n<p>The irrationality exponent \u03bc(<em>x<\/em>) is defined as the supremum of the set of values \u03bd such that<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/irrational_exponent.svg\" alt=\"0 &lt; \\left| x - \\frac{p}{q} \\right| &lt; \\frac{1}{q^\\nu}\" width=\"135\" height=\"48\" \/><\/p>\n<p>for infinitely many coprime integers\u00a0<em>p<\/em> and\u00a0<em>q<\/em> with\u00a0<em>q<\/em> &gt; 0.<\/p>\n<p>This means that the approximation error for approximating \u03c0 with a rational number\u00a0<em>p<\/em>\/<em>q<\/em> is typically on the order of 1\/<em>q<\/em>\u00b2, just like most irrational numbers.<\/p>\n<p>There are numbers with higher irrationality exponents. For example, Cahen&#8217;s constant\u00a0<em>C<\/em> has irrationality exponent 3. This means\u00a0<em>C<\/em> is an irrational number that has infinitely many rational approximations\u00a0<em>p<\/em>\/<em>q<\/em> with error less than 1\/<em>q<\/em>\u00b3.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For a real number\u00a0x, the irrationality index \u03bc(x) is a way of measuring how well\u00a0x can be approximated by rational numbers. If\u00a0x is rational, \u03bc(x) = 1. If\u00a0x is irrational, \u03bc(x) \u2265 2. OpenAI recently published a proof that \u03bc(\u03c0) = 2. Almost all real numbers have irrationality exponent 2, so the new result says [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[94],"class_list":["post-248013","post","type-post","status-publish","format-standard","hentry","category-math","tag-number-theory"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"The irrationality exponent of \u03c0 is 2, just like almost all real numbers.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"number theory\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/irrationality-exponent-of-pi\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Irrationality exponent of \u03c0\" \/>\n\t\t<meta property=\"og:description\" content=\"The irrationality exponent of \u03c0 is 2, just like almost all real numbers.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/irrationality-exponent-of-pi\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-07T21:19:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-07T21:20:46+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Irrationality exponent of \u03c0\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The irrationality exponent of \u03c0 is 2, just like almost all real numbers.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Irrationality exponent of \u03c0","description":"The irrationality exponent of \u03c0 is 2, just like almost all real numbers.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/irrationality-exponent-of-pi\/","robots":"max-image-preview:large","keywords":"number theory","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Irrationality exponent of \u03c0","og:description":"The irrationality exponent of \u03c0 is 2, just like almost all real numbers.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/irrationality-exponent-of-pi\/","article:published_time":"2026-10-07T21:19:20+00:00","article:modified_time":"2026-10-07T21:20:46+00:00","twitter:card":"summary","twitter:title":"Irrationality exponent of \u03c0","twitter:description":"The irrationality exponent of \u03c0 is 2, just like almost all real numbers.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248013","title":null,"description":"The irrationality exponent of \u03c0 is 2, just like almost all real numbers.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-07 20:47:23","updated":"2026-10-07 21:55:00","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tIrrationality exponent of \u03c0\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Irrationality exponent of \u03c0","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/07\/irrationality-exponent-of-pi\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248013"}],"version-history":[{"count":1,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248013\/revisions"}],"predecessor-version":[{"id":248014,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248013\/revisions\/248014"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":248010,"date":"2026-10-06T19:21:52","date_gmt":"2026-10-07T00:21:52","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248010"},"modified":"2026-10-06T19:21:52","modified_gmt":"2026-10-07T00:21:52","slug":"lissajous-and-bowditch","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/lissajous-and-bowditch\/","title":{"rendered":"Lissajous and Bowditch"},"content":{"rendered":"<p>I was skimming through David Well&#8217;s book The Penguin Dictionary of Curious and Interesting Geometry and was surprised by this entry:<\/p>\n<blockquote><p><strong>Lissajous figures<\/strong> or\u00a0<strong>Bowditch curves<\/strong> First discussed by Nathaniel Bowditch in 1815, and later by Jules Antoine Lissajous in 1857 \u2026<\/p><\/blockquote>\n<p>I wrote a <a href=\"https:\/\/www.johndcook.com\/blog\/2019\/10\/08\/lissajous-curves-and-knots\/\">couple<\/a> <a href=\"https:\/\/www.johndcook.com\/blog\/2019\/10\/08\/harmonographs\/\">posts<\/a> about Lissajous curves years ago, and recently I wrote a <a href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/22\/nathaniel-bowditch\/\">couple<\/a> <a href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/23\/navigation-minimum\/\">posts<\/a> about Nathan Bowditch, but I didn&#8217;t realize there was a connection between them.<\/p>\n<p>I asked Claude to pin down Bowditch&#8217;s publication to see whether the curves came up in the course of his work on navigation. Here&#8217;s the answer I got.<\/p>\n<blockquote><p>Bowditch&#8217;s paper was &#8220;On the Motion of a Pendulum Suspended from Two Points,&#8221; published in the Memoirs of the American Academy of Arts and Sciences (Vol. 3, Part 2) in 1815.<\/p>\n<p>He studied a compound pendulum hung from two points (a Y-shaped suspension, sometimes called a Blackburn pendulum). This lets the bob swing at different frequencies in two perpendicular directions, and he worked out mathematically the curves the bob traces. Those curves are what we now call Lissajous figures. Jules Antoine Lissajous studied them independently and much more visibly in 1857, using light beams reflected off vibrating tuning forks, and his name stuck. Because of Bowditch&#8217;s priority, the curves are sometimes called Bowditch curves.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>I was skimming through David Well&#8217;s book The Penguin Dictionary of Curious and Interesting Geometry and was surprised by this entry: Lissajous figures or\u00a0Bowditch curves First discussed by Nathaniel Bowditch in 1815, and later by Jules Antoine Lissajous in 1857 \u2026 I wrote a couple posts about Lissajous curves years ago, and recently I wrote [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[64],"class_list":["post-248010","post","type-post","status-publish","format-standard","hentry","category-math","tag-history"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Nathaniel Bowditch studied Lissajous curves before Lissajous did, though Lissajous studied them more thoroughly and more photogenically.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"history\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/lissajous-and-bowditch\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Lissajous and Bowditch\" \/>\n\t\t<meta property=\"og:description\" content=\"Nathaniel Bowditch studied Lissajous curves before Lissajous did, though Lissajous studied them more thoroughly and more photogenically.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/lissajous-and-bowditch\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-07T00:21:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-07T00:21:52+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Lissajous and Bowditch\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Nathaniel Bowditch studied Lissajous curves before Lissajous did, though Lissajous studied them more thoroughly and more photogenically.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Lissajous and Bowditch","description":"Nathaniel Bowditch studied Lissajous curves before Lissajous did, though Lissajous studied them more thoroughly and more photogenically.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/lissajous-and-bowditch\/","robots":"max-image-preview:large","keywords":"history","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Lissajous and Bowditch","og:description":"Nathaniel Bowditch studied Lissajous curves before Lissajous did, though Lissajous studied them more thoroughly and more photogenically.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/lissajous-and-bowditch\/","article:published_time":"2026-10-07T00:21:52+00:00","article:modified_time":"2026-10-07T00:21:52+00:00","twitter:card":"summary","twitter:title":"Lissajous and Bowditch","twitter:description":"Nathaniel Bowditch studied Lissajous curves before Lissajous did, though Lissajous studied them more thoroughly and more photogenically.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248010","title":null,"description":"Nathaniel Bowditch studied Lissajous curves before Lissajous did, though Lissajous studied them more thoroughly and more photogenically.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-07 00:06:06","updated":"2026-10-07 10:07:59","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tLissajous and Bowditch\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Lissajous and Bowditch","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/lissajous-and-bowditch\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248010"}],"version-history":[{"count":1,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248010\/revisions"}],"predecessor-version":[{"id":248011,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248010\/revisions\/248011"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":248000,"date":"2026-10-06T14:46:28","date_gmt":"2026-10-06T19:46:28","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=248000"},"modified":"2026-10-06T14:46:28","modified_gmt":"2026-10-06T19:46:28","slug":"godel-lob","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/godel-lob\/","title":{"rendered":"A topological model for provability logic"},"content":{"rendered":"<p>G\u00f6del&#8217;s incompleteness theorem illustrated the need to distinguish between what is true and what is provable. There are true statements that cannot be proven.<\/p>\n<p>Let \u25a1<em>p<\/em> denote the assertion that\u00a0<em>p<\/em> is provable in Peano arithmetic. The logic with this interpretation for the \u25a1 operator is the G\u00f6del-L\u00f6b logic, also called provability logic. This is a normal modal logic with the additional axiom<\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-family: 'STIX Two Math', 'Cambria Math', 'Segoe UI Symbol', 'Noto Sans Math', 'DejaVu Sans', serif; font-style: normal;\">\u25a1(\u25a1<i>p<\/i>\u00a0\u2192\u00a0<i>p<\/i>) \u2192 \u25a1<i>p<\/i>,<\/span><\/p>\n<p>known as L\u00f6b&#8217;s axiom.<\/p>\n<p>A couple days ago I wrote about <a href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/04\/topological-models-of-modal-logic\/\">topological models<\/a> for modal logic. Is there a topological model for G\u00f6del-L\u00f6b logic? There is, but it&#8217;s not quite the same construction as in the previous post.<\/p>\n<p>A topological model of G\u00f6del-L\u00f6b logic associates\u00a0<em>p<\/em> with a set <em>P<\/em> and \u25c7<i>p<\/i> with the\u00a0<strong>derived set<\/strong> of\u00a0<em>P<\/em> rather than its closure.<\/p>\n<p>The difference between the closure of\u00a0<em>P<\/em> and the derived set of <em>P<\/em> is subtle, but important to this discussion. The closure of a set <em>P<\/em> is the union of <em>P<\/em> and all of its limit points. The derived set of <em>P<\/em> is the set of limit points of <em>P<\/em>. The distinction is that not every point of <em>P<\/em> is necessarily a limit point of <em>P<\/em>. A point <em>x<\/em> is a limit point of <em>P<\/em> if every open set containing <em>x<\/em> contains a point of <em>P<\/em> <em>in addition to x itself<\/em>.<\/p>\n<p>A topological space <em>X<\/em> that models G\u00f6del-L\u00f6b logic must be\u00a0<strong>scattered<\/strong>, meaning that every open set must contain an isolated point, a point with no limit points. For example, consider<\/p>\n<p style=\"padding-left: 40px;\"><em>X<\/em> = {0} \u222a {1, \u00bd, \u2153, \u00bc, \u2026}<\/p>\n<p>with the topology inherited from the ordinary topology on the real line. Then every point except 0 is isolated, and every open set contains isolated points.<\/p>\n<p>A statement in G\u00f6del-L\u00f6b logic is true if its topological interpretation holds for\u00a0<strong>all<\/strong> scattered spaces.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>G\u00f6del&#8217;s incompleteness theorem illustrated the need to distinguish between what is true and what is provable. There are true statements that cannot be proven. Let \u25a1p denote the assertion that\u00a0p is provable in Peano arithmetic. The logic with this interpretation for the \u25a1 operator is the G\u00f6del-L\u00f6b logic, also called provability logic. This is a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[],"class_list":["post-248000","post","type-post","status-publish","format-standard","hentry","category-math"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Provability logic, a.k.a. G\u00f6del-L\u00f6b logic, is a modal logic in which the box operator means a proposition is provable. It has a different topological model.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/godel-lob\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"A topological model for provability logic\" \/>\n\t\t<meta property=\"og:description\" content=\"Provability logic, a.k.a. G\u00f6del-L\u00f6b logic, is a modal logic in which the box operator means a proposition is provable. It has a different topological model.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/godel-lob\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-06T19:46:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-06T19:46:28+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"A topological model for provability logic\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Provability logic, a.k.a. G\u00f6del-L\u00f6b logic, is a modal logic in which the box operator means a proposition is provable. It has a different topological model.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"A topological model for provability logic","description":"Provability logic, a.k.a. G\u00f6del-L\u00f6b logic, is a modal logic in which the box operator means a proposition is provable. It has a different topological model.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/godel-lob\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"A topological model for provability logic","og:description":"Provability logic, a.k.a. G\u00f6del-L\u00f6b logic, is a modal logic in which the box operator means a proposition is provable. It has a different topological model.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/godel-lob\/","article:published_time":"2026-10-06T19:46:28+00:00","article:modified_time":"2026-10-06T19:46:28+00:00","twitter:card":"summary","twitter:title":"A topological model for provability logic","twitter:description":"Provability logic, a.k.a. G\u00f6del-L\u00f6b logic, is a modal logic in which the box operator means a proposition is provable. It has a different topological model.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"248000","title":null,"description":"Provability logic, a.k.a. G\u00f6del-L\u00f6b logic, is a modal logic in which the box operator means a proposition is provable. It has a different topological model.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-10-05 13:14:10","updated":"2026-10-07 00:04:01","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tA topological model for provability logic\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog\/"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"A topological model for provability logic","link":"https:\/\/www.johndcook.com\/blog\/2026\/10\/06\/godel-lob\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248000","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=248000"}],"version-history":[{"count":2,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248000\/revisions"}],"predecessor-version":[{"id":248009,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/248000\/revisions\/248009"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=248000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=248000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=248000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}]