Sokratesさんの備忘録ないし雑記帳

書きたいことを書いている.駄文注意.

「実数は実在するが虚数は実在しない」とする人々へ

最近,「実数は実在するが虚数は実在しない」とする人に絡まれることが多い.控えめに言って,どれも破綻しているのであるが,いちいち指摘するのにも疲れてきたので,ここにそれらへの反論をまとめておくことにする.

要約

実数の組に適当な演算を導入すれば「複素数」を実現できるのに,「実数の実在は認められるのに虚数は実在しない」と考えるのは哲学的にかなり無理筋な議論が必要になるのではないか.

いくつかの用語の説明

この節ではこの記事に使われる用語を説明する.これらは [1] に準拠して使っているつもりであるが,私の読み間違いなどが理由で,違うものになっている可能性はある.

(数学的対象の)実在

この記事で「(数学的対象)〇〇が実在」と述べた場合,「数学的対象 〇〇 という対象は数学者や人間などから独立して存在する」という意味で用いる.そもそも「『数学的対象が存在する』というのはどういうことか」という「存在」とは何かという問題はあるが,あまり詳細に述べるのはこの記事の役目ではないと考えるので,割愛する.適時,「存在論」についての本を参照せよ.

虚ろな数論者

「実数は実在するが虚数は実在しないとする人」といちいち呼称するするのがしんどいので,こういう人々を「虚ろな数論者」と呼ぶことにする.この記事独自の用語で,わたしも普段は使わない.急に「虚ろな数論者」と言われても何のことかわからん人がほとんどなので,この記事のような議論を他人とする際には注意してほしい*1

プラトン的な世界観 と アリストテレス的世界観

この記事において,「プラトン的な世界観」と述べた場合,「個物に先行する実在論」としての立場を意味する.つまり,少なくともいくつかの普遍者は,その実例に先行して独立して存在するとする立場を意味する.たとえば,この立場の人間にとっては,この世のありとあらゆる「赤い物」を破壊してしまったとしても「赤さ」という性質はなお存在し続ける.

また,「アリストテレス的な世界観」と述べた場合,「個物の内にある実在論」としての立場を意味する.つまり,普遍者の存在は認めるが,普遍者がその実例と独立に存在することは否定する.たとえば,この立場の人間にとっては,プラトン的な世界観の人間とは対照的に,この世のありとあらゆる「赤い物」を破壊してしまったとすると「赤さ」という性質もまた存在しなくなってしまう.

「数学的概念は物理的な対象からの抽象化によって得られる」とする立場の人間は「個物の内に普遍がある」と考えていると思われるため,アリストテレス的な世界観で生きていると推測する.対して,「数学的概念は物理的な対象からの抽象化によって発見される」とする立場の人間は「普遍者は個物に先行している」と考えていると思われるため,プラトン的な世界観で生きていると推測する.

「実数は実在する」ことを前提としている論者をこの記事では主に扱うので,この論者は少なくともこれらのどちらかの立場に立っていると考えられる.

「実数は実在するが虚数は実在しない」とする人々の意見とそれに対する簡単な反論

この節では,「実数は実在するが虚数は実在しない」とする人々(虚ろな数論者)の意見とそれに対する簡単な反論を述べる.

実数には対応する物理的な存在があるが,虚数には対応する物理的な存在がないので実在しない

「虚ろな数論者」の一番良く見かけるタイプの意見は「実数には対応する物理的な存在があるが,虚数に対応する物理的な存在がないので実在しない」である.というか,ほぼ大多数はこの立場である.この立場には次のような問題点がある.

  1. プラトン的な世界観からの批判
    1. 数学的な対象の実在は物理的な世界の存在には依存しないはずである.
  2. アリストテレス的な世界観からの批判
    1. そもそも実数に対応する物理的な存在はない.
      • そもそも十分大きな自然数に対応する物理的な存在もあるのか怪しい.
    2. もし,そのような存在が存在するのであれば,複素数にも対応する物理的な存在も存在するはずである.

これらについて順をおって説明する.

プラトン的な世界観の人間にとっては「物理的に存在しないから実在しない」はナンセンスである.なぜなら,「複素数」という数学的な対象の実在は物理的な存在に依存しないはずだからである.

さて,今度はアリストテレス的な立場から批判を加える.実数に対応するような「物理的な存在」とは何であろうか?これは「数直線」のことであろう.つまり「(幅のない)無限の長さの直線」を用意すれば良いことになる.当たり前だがそのようなものはこの世のどこにも物理的には存在しない.

それどころか,この立場の場合,実数の部分である「自然数」の実在も怪しい.アリストテレス的な世界観の人間にとって,「自然数」という概念は「何らかの物の塊」を数え上げる個数であろう.この世の「粒子の数」は高々有限個であると考えられるので,この世に存在する粒子の数よりも大きな「自然数」には物理的な対応物が存在しないことになる.そうするとグラハム数くらいの大きさのものは実在が怪しい.

さて,虚ろな数論者が「(幅のない)無限の長さの直線」をなんとか物理的に用意できたと仮定しよう.すると,この虚ろな数論者は次に複素数の物理的な対応物と思われるもの「wikipedia:複素平面」の実在を否定しなければならない.つまり「無限の広さの平面」の存在を否定しなければならない.そのようなものは「(幅のない)無限の長さの直線」が二本あれば破綻してしまう.用意できた「(幅のない)無限の長さの直線」が唯一つであることをぜひ示してほしい.その帰結として,この世は一次元であることも得られるはずだが,なぜ,我々はこの世を「三次元」と錯覚しているかもセットで説明してくれるととても嬉しい.

「実数には対応する物理的な存在があるが,虚数には対応する物理的な存在がないので実在しない」とする人々にやってほしいこと

「実数には対応する物理的な存在があるが,虚数には対応する物理的な存在がないので実在しない」とする人々にやってほしいことは次の通りである.

  • 「(幅のない)無限の長さの直線」という物理的な存在が唯一つ存在するが,この世に「無限の広さの平面」は存在し得ないことを示す

実数は物理的な存在の抽象化によって得ることができるが,虚数にはそのようなことができないので実在しない

「実数には対応する物理的な存在があるが,虚数に対応する物理的な存在がないので実在しない」という延長線上なのか「実数は物理的な存在の抽象化によって得ることができるが,虚数にはそのようなことができないので実在しない」という立場もよく見かける.この立場には次のような問題点がある.

  • もし,何らかの物理的存在からの抽象化によって実数概念を得たとするならば,そこから容易に複素数を得ることができ,それゆえ,虚数も実在してしまう.

「何らかの方法によって物理的存在からの抽象化によって実数概念を得た」としよう.さて,実数の組に適切な演算を入れることによって,複素数は構成することができる(wikipedia:ケーリー=ディクソンの構成法).この方法だと,通常高校数学の範囲でよく用いられる \(a+bi\) のような記法は使うことはできなくなるように思われるかもしれないが,\(a+bi\) を \((a, b)\) の略記だと思うことにすれば支障はなくなる.そのため,この論法を用いる「虚ろな数論者」はwikipedia:ケーリー=ディクソンの構成法ができない(または対象の実在を保証しない)ことを示さなければならない.

「実数は物理的な存在の抽象化によって得ることができるが,虚数にはそのようなことができないので実在しない」とする人々にやってほしいこと

「実数は物理的な存在の抽象化によって得ることができるが,虚数にはそのようなことができないので実在しない」とする人々にやってほしいことのリストは次の通りである.

  • 実数の組を考えることができない(または実数の組は実在しない)理由を与える,または
  • 実数の組に適切な演算を考えてはならない(またはそのような演算は実在しない)理由を与える.

数には大小があるはずなので,大小のない複素数は数ではない.ゆえに「虚数」は実在しない

「数には(演算と両立する)大小があるはずなので(演算と両立する)大小のない複素数は数ではない.ゆえに「虚数」は実在しない」という論法もたまに見かける.これは(高校数学の範囲内で扱う)「数概念」は複素数以外は大小関係を持っているから生じる論法だと考えられる.この論法には次のような問題点がある.

  1. そもそも「数」という概念自体かなりあやふやである.
  2. 複素数が数ではないからといって,実在の否定にはならない

まず,第一の点についてだが,「数」というのは曖昧な概念である.「自然数」,「整数」や「有理数」などには「数学的な定義」が存在するが,「数」というものに普遍的に認められている「数学的な定義」は存在しない.少なくとも私は聞いたことはない.実のところ「数」と名前のつくもので大小関係の定義されない数学的概念はいくつもある.そのため「数には大小があるはず」という点もかなり怪しい.

次に第二の点についてだが,「複素数は数でなかった」と仮定しよう.しかし,そのことは「複素数が実在しない」ことを帰結するだろうか?これは論理の飛躍である.この論法が成り立つためには「複素数が実在するならばそれは数でなければならない」ことを示す必要がある.「複素数が実在するならばそれは数でなければならない」ことを示すためには「数」とは何かを確立するところから始めなければならないと思われるので,まずそこから頑張ってほしい.

「数には大小があるはずなので,大小のない複素数は数ではない.ゆえに「虚数」は実在しない」とする人々にやってほしいこと

「数には大小があるはずなので,大小のない複素数は数ではない.ゆえに「虚数」は実在しない」とする人々にやってほしいことのリストは次の通りである.

  1. 「複素数」は「数」であるとする定義の確立
  2. 「複素数が実在するならばそれは数でなければならない」ということの証明

参考文献

 [1] スチュワート・シャピロ,金子洋之,『数学を哲学する』,筑摩書房

この記事に対するよくある勘違いについて(2023/05/13 追記)

わかりやすく書いたつもりだったが,(一般の人や数学徒には)馴染みのない用語が乱発されるせいか,誤読も多いので補足する.

この記事の目的は単に「虚数の実在」を認める立場を擁護することにはない

いわゆる「条件文」を読むのが難しいせいか,「虚数の実在」を単に擁護しているように見えるらしい.
この記事の目的は「実数は実在するが虚数は実在しない」という主張が破綻しているようにしか見えないことを指摘する記事である.
そのため,「実数も虚数も実在しない」という立ち位置の人には意味のない議論になっているはずである.
実際のところ,「数学的対象は実在しない(が数学は研究する価値のある学術領域である)」とする立場はある.

結局「存在」ってなに?

「存在」とは何かを探究する領域は「存在論」と呼ばれ,哲学の一領域である.正直,存在論について語るのにわたしはふさわしいと思えないので,それ以上の詳細は 現代存在論講義I—ファンダメンタルズ などの専門書を参照していただきたい.「数学的対象の存在論」に特化した本はあいにく知らないので上記にもあげた「数学を哲学する」などの該当しそうな章を読んでほしい.

*1:最初「虚ろな数論者」に「虚数虚構論者」という名前を付けようと思ったのだが,「虚構主義」という数学の哲学上の立場が確立されているのを鑑み,このような若干ダサい名前になった.

【備忘録】 WSL から游書体を使う方法

この記事は WSL から游書体を使う方法を備忘録として残すものである.

WSL の TeX Live を常用していると, .tex 文書で游書体を使うために Windows のフォントを読み込みたくなる.その時のための設定方法を記す.

Fontconfig

Linux ではフォントの管理を Fontconfig というソフトウェアで行っているらしい.
まぬあるhttps://www.freedesktop.org/software/fontconfig/fontconfig-user.htmlによると,Fontconfig の設定ファイルは以下のどこかに置けば良いらしい.

  • /etc/fonts/fonts.conf
  • /etc/fonts/fonts.dtd
  • /etc/fonts/conf.d
  • $XDG_CONFIG_HOME/fontconfig/conf.d
  • $XDG_CONFIG_HOME/fontconfig/fonts.conf
  • ~/.fonts.conf.d (ただし,非推奨)
  • ~/.fonts.conf (ただし,非推奨)

sudo 権限使う場所に設定ファイルを置くのは面倒なので,~/.config/fontconfig/fonts.conf に置くことにした.

WSL から游書体を使うための設定

fonts.conf の中身は xml ファイルである.
WSL から Windows のフォントを読み込むための設定は次のとおりである.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>

ビジネス数学騒動について思うこと

"ビジネス数学"に対する批判について思うところを書くものである.

"ビジネス数学"が炎上してからだいぶ時間が立ってしまったが,ようやくまとまった文章にすることができた.
完全にお気持ち全開の記事なので,そういう文章が苦手な方は読まなくても大丈夫です.

ビジネス数学騒動とは?

ここで言う「ビジネス数学騒動」とは次の2つの騒動の総称である.

  1. 「結婚できる可能性は1/2」騒動
  2. 「統計でウソをつく法・実践編」騒動

この2つの騒動を起点として別の炎上も起きたが,正直フォローしきれていないので、ここではこの2つの騒動に絞って話す.

それぞれの騒動についてまとめる.

「結婚できる可能性は1/2」騒動

「結婚できる可能性は1/2」騒動について説明をする.

次の Togatter のまとめも参考にしてほしい.
togetter.com

  • 日本ビジネス数学協会の代表理事深沢真太郎氏(以下H氏)の書いた本たった9時間でSPIの基礎が身につく!! <2021年度版>に誤りがあった
    • その誤りというのが小学生向けの啓蒙書 目からうろこ 小学生の「さんすう」大疑問100 に書いてあるレベルの誤りであった
      • 具体的には「『結婚できる』か『結婚できない』かという2通りのうちの1通りだから,結婚できる確率は1/2である」という「誠実な誤り」とは考えにくいものである
  • その本の著者は修士号(理学)を持っている
    • その割には上記が誤りであるという指摘が理解できていない
      • どうも「確率とは(事象の元の個数)/(全事象の元の個数)と常に定められる」と本気で思っている節がある
  • 著者本人が言うには「七年前の本」らしい
    • 実はこの種の誤りは H 氏の発信するコンテンツで繰り返されており、「七年前の本」だけが問題ではない(そういった発信を繰り返していたことは H 氏も認めている)
    • じつは「七年前の本」だけではなく,同著者の2019年初版の本にも全く同じ主旨の記述がある.
  • この件で「確率」についてご指摘いただきました|深沢真太郎 ビジネス数学教育家/明治大学客員研究員/累計25万部作家というノートを公開したが,謝罪文の体にはなっているものの謝罪にはなっておらず,それどころか開き直っていると受け取れる主張を展開した

「統計でウソをつく法・実践編」騒動

「統計でウソをつく法・実践編」騒動について説明をする.こちらの騒動は「結婚できる可能性は1/2」騒動に派生して注目を集めたと考えられる.

こちらは次の2つのツイートも参考にしてほしい.

  • 「ビジネス数学」のアカウントに「統計的誤謬」を薦めていると思しきツイートが注目され批判を集めた.
    • 一部,右側のグラフ縦軸の最下点の座標が0から始まっていないことに対する批判もあった.
      • ただし,この批判自体は不適当な批判である.なぜなら,問題となったグラフは折れ線グラフなので,折れ線の傾きが着目するべきポイントなので,原点の位置はあまり関係ない*1
  • それに対して「ビジネス数学」のアカウントが謝罪文を投稿.しかし謝罪するべき部分とはズレた内容であり,やはり批判が集中した.

何が問題であったか

この騒動の問題点は大きく分けて

  1. 深沢真太郎氏個人の数学的知識の欠如
  2. 日本ビジネス数学協会の自浄作用の欠如
  3. 誠実さが欠如していると思われかねない対応

の3つの側面がある.

深沢真太郎氏本人の数学的知識の欠如

  • 「確率」と言ったら「確率の公理」を満たす対象*2のことを数学的には意味するが,「(数学的)確率とは(事象の元の個数)/(全事象の元の個数)と常に定められる」と思っている*3
    • 無限の根元事象があるような確率空間を考えたことがあれば,おかしいことはすぐにわかる.
    • またこの手の誤謬は小学生向けの啓蒙書 目からうろこ 小学生の「さんすう」大疑問100 に書いてある程度にはメジャーなものである.
  • 明らかな数学的ミスにもかかわらず「捉え方の問題」と問題をすり替えるなどしている.
    • 「不誠実さ」に入れようかとも思ったが,「数学的に誤っている」と理解していない節が見られるのでこちらに入れる.

日本ビジネス数学協会の自浄作用の欠如

  • 日本ビジネス数学協会は,公益財団法人 日本数学検定協会(いわゆる数検を開催している団体)が発効する「ビジネス数学インストラクター」なる資格取得者の育成を行っている
    • 日本ビジネス数学協会の会員は,代表理事の書いた本にあのレベルの誤りがあったことを7年間も放置していたまたは気が付かなかったとでもいうのか?
    • 上記のようなレベルの誤りが7年間も放置されていたという衝撃の事実

誠実さが欠如していると思われかねない対応

深沢真太郎氏の対応の問題点
  • 深沢真太郎氏は「七年前の本」と言っているが, 同著者の2019年初版の本にも全く同じ主旨の記述がある.
  • 謝罪文の内容が反省しているように全く見えない.
    • 「あなたたちのやっている数学と私のやっているビジネス数学は違うんです」と受け取れる内容のため,出来の悪い言い訳にしか見えない.
日本数学検定協会の対応の問題点
  • 謝罪すべき点をわざとズラしているかのような謝罪文
    • 「見解をわかりやすく伝わるように適切に表現しましょう」というそもそもの意図が批判されているにもかかわらず,「原点を書いていなかったこと」のみを謝罪している.
      • 先にも述べたが,その点はあまり問題にならない.
      • 「誤解を誘導するようにグラフを書きましょう」と受け取られかねないことを述べたことを謝罪するべきである.
  • この謝罪文自体にも批判が集まったが,その後,日本数学検定協会からのコメントはない.

私の思うこと

ここから先はお気持ち表明である.以降,日本数学検定協会の商標である*4「ビジネス数学」と「ビジネスのための数学」を別物として扱う.


「ビジネスのための数学」といわれて,まず私が連想するのは「数理モデリング」や「形式手法」などである.しかし,「ビジネス数学検定」のサンプル問題を見る限り,そのようなものは全く出てこない.せいぜい「回帰分析」くらいのものである.
思うに「ビジネス数学」は「高校数学+αの内容を復習するための方便」なのだ.「ビジネス数学検定一級」のサンプル問題の内容はまさに「数学IA」の「データの分析」の内容そのものである(ちょっとはみ出している部分もあるが).手計算だとしんどそうな問題も多いが,計算機(電卓でも可)が使える場面であれば,それほど問題にならないような問題が並んでいる.「大人のための数学検定」などと喧伝しているがその実態は「(高校数学を復習しているがそれを表に出すのが恥ずかしい)大人のための数学検定」ということなのであろう.まぁ,そもそも高校数学レベルが怪しいのに「数学を勉強し直そう」という人はかなり稀ではないかと思うので,需要としてもよくわからないが.
で,「高校数学+α」だけだと「ビジネスにどう役に立つか」が分かりづらいので,「統計でウソをつく法・実践編」を指南しているのではないだろうか?今後「ビジネス数学の資格を持っています」と言う人と相対するときは,「統計的誤謬を使うぞ」と警戒しながら話したほうが良さそうである.

関連する文献

目からうろこ 小学生の「さんすう」大疑問100
たった9時間でSPIの基礎が身につく!! <2021年度版>
統計でウソをつく法―数式を使わない統計学入門 (ブルーバックス)

そもそもあの本の構成自体が良くないという話

これは今回の騒動とは直接関係のない話であるが,たった9時間でSPIの基礎が身につく!! <2021年度版>という本自体,かなり出来が悪いように思われる.問題点として

  1. 出てくる概念の解説が短い(わかっている人用の解説しかない).
  2. 練習問題に対する解説がない(基本的に解答のみで,考え方などは例題に対してのみしか載っていない)
  3. 各章のサブタイトルと内容が対応していない(たとえば,「14, グラフと領域〜よく耳にする「見える化」っていったい何?〜」と書いてあるが,「見える化」について本文中に特に記述がない)

の3点が挙げられる.そもそも「計算が苦手なんです…は許されない!」とでかでかと書くなら題名を「計算問題集」にするべきである.

*1:ホテルの稼働率の評価をするのにこの折れ線グラフを持ってくるのはどうかと思うが.前年度の同時期との自己相関係数を調べて評価するのが妥当であろう.

*2: 確率の公理については 自然数全体から「同様に確からしく」自然数をランダムに選ぶことができないという話 - Sokratesさんの備忘録ないし雑記帳 に書いたことがある.

*3:「あくまで「◯通り」のうち「△通り」が確率であるという基礎概念」という謎の(誤った)概念を持ち出している.

*4:参考:https://www.j-platpat.inpit.go.jp/c1800/TR/JP-2019-027070/ABEDB0127E4B33BFC679A28BC9DC960A362D3691573F5C04257570ED4FD17310/40/ja

もしもあなたがインチキ数学本を出版したなら......

Twitter で次のようなアンケートを取った.


この記事ではこのクソアンケートの結果について述べる.

アンケートの背景

このクソアンケートを取った背景について述べる.

このクソアンケートは次の騒動がきっかけである.
togetter.com
「確率」についてご指摘いただきました|深沢真太郎 ビジネス数学教育家/明治大学客員研究員/累計25万部作家

ものすごくざっくりまとめると次のような騒動である.

  • 日本ビジネス数学協会の代表理事(以下H氏)の書いた本に誤りがあった
    • その誤りというのが小学生向けの啓蒙書 目からうろこ 小学生の「さんすう」大疑問100 に書いてあるレベルの誤りであった
      • 具体的には「『結婚できる』か『結婚できない』かという2通りのうちの1通りだから,結婚できる確率は1/2である」という「誠実な誤り」とは考えにくいものである
  • その本の著者は修士号(理学)を持っている
    • その割には上記が誤りであるという指摘が理解できていない
      • なんだったら「確率とは(事象の元の個数)/(全事象の元の個数)と常に定められる」と本気で思っている節がある
  • 著者本人が言うには「七年前」の本らしい
    • 上記のようなレベルの誤りが7年間も放置されていたという衝撃の事実
  • 日本ビジネス数学協会は,公益財団法人 日本数学検定協会(いわゆる数検を開催している団体)が発効する「ビジネス数学インストラクター」なる資格取得者の育成を行っている
    • 日本ビジネス数学協会の会員は,代表理事の書いた本にあのレベルの誤りがあったことを7年間も放置していたまたは気が付かなかったとでもいうのか?

問題点が多すぎる…….どこから突っ込めばよいのかわからない…….
この件についてはいつかどこかで別の記事にまとめようかとは思う.
2022/08/07 追記 だいぶ前にまとめてましたがここに追記を忘れていました.
ビジネス数学騒動について思うこと - Sokratesさんの備忘録ないし雑記帳

ともかく,この件で次の事実に気がついてしまった.

あれ?! まともに数学するよりインチキでもいいから売れる本を書いたほうが生活が豊かになるのでは?!

はい,そんなわけでね,自分が闇落ちしたときのためのシミュレーションのためのアンケートです.こんなクソアンケートを取ったことについては後悔している.反省は特にしていない.

アンケートの質問文について

で,「『インチキ』と書いておけば,『誠実な誤り』ではないと通じるだろう」と思っていたのですが,「誠実な誤りだったらどうするんだ」という反応もあったので,その点については反省しています.ごめんなさい.
ただ結果を見る限り,そう読んだ方は回答者には少なかったようです.「誠実な誤り」をしていたなら,「無視」「ブロック」はしないでしょうからね…….
言い訳はするかもな.

アンケートの選択肢について

まぁ,そんな文脈のクソアンケートなので,選択肢は当然闇落ちマンの選択肢です.

  • 無視
  • ブロック
  • 言い訳(長文)
  • その他

という4つを用意し,二日間回答期間を設けました.
「その他」の回答についてはその具体的な内容をリプライで送ってもらうようにお願いしました.

アンケートの結果について

思っていたよりも多くの方が回答してくださり,最終的には352票集まりました.それぞれの選択肢についてコメントしたいと思います.

えっ?分析?そんなもんしねぇよ?クソアンケートだぞ?これを分析して何についての結果を得たいんだ?目的のない分析はしないです(目的のないアンケートをとったやつの言うことではない).

「無視」という選択肢

パーセンテージ的には一位にやはり来ましたね.まぁ,順当です.「インチキ数学本」で儲けようとしているわけですから,「内容に誤りがある!」と言ってくるやつは商売上の障害です.クレーマーなのです.仮に相手が正しかろうが関係ありません.
相手が何を言ってこようが無視が一番です.

亜種として

  • 「お忙しいところ,ご指摘ありがとうございます」といって何もしない

というものがありました.事実上の無視ですね.ここで「出版社と協議中です」と一言入れておくと,誠実に対応しているように見せられて完璧です!!

「ブロック」

「ブロック」は気持ちはわかりますがやりすぎかもしれません.ブロックは能動的な行為なので「攻撃」とみなされる恐れがあります.「ブロックしたということは故意にインチキ数学を広めようとしている!」などと騒がれて本の悪評を垂れ流されたらたまったもんではありません.

「ブロック」を使うのであれば,「自分は被害者」と演出をする必要があるでしょう.この場合同情した人が本を買ってくれるかもしれません.ただし,よほどうまく演出しないと,ボロがでてインチキがバレます.

または日頃から「ブロック」を乱発し,「え,おれブロックは呼吸だからよ」と演出をしておくのもベターです.そういう空気を作っておけば「ブロック」はあなたにとっては「呼吸」であって,「攻撃」ではありません.場合によっては「えー,なんかわかんないけどブロックされてるー」と勝手に潜在的な敵たちが宣伝に協力をしている可能性があります.まぁ,それで集まった人が本を買ってくれるとは思いませんが.

いずれにせよ「ブロック」は上級者向けの技です.おすすめはできないです.

「言い訳(長文)」

個人的にはこれが正解の選択肢でした.だって,傍から見たら一番面白いもん. 性格が悪い?すいません.
でも,長文でセンソーしてたらワクワクするだろ……?(普通はしないよ)

ただ,ビジネス的には下策です.長文の言い訳でわけがわからない状態にして言いくるめるというのはかなりの高等テクニックです.よほど話術に自身がない限り,とるべきではありません.
そもそも,「数学のプロ」というのは詭弁に敏感です*1.本気の数学のプロを彼らのホームグラウンドである「数学」において,言いくるめるのは至難の技です.

もちろん,言いくるめることができれば,リターンもでかいです.プロに勝ったんですから.それだけで宣伝になります.ハイリスクハイリターンの戦略です.

その他の答え

その他として寄せられた回答を紹介します.

  • 謝罪して訂正
    • 思っていたよりも多く寄せられました.人の道としては完全に正しいです. 悪いことをしたら謝る当然のこと.ビジネスとしては失敗するかもしれませんが,信用を得られます.一番幸福になれる道かもしれません.ただし,謝罪・訂正の仕方に注意しないと再燃焼してしまい,結果的に信用も失いかねないので,覚悟しましょう.
      • というかまともな学術者だったらこれ一択なんだよな.そもそもまともな学術者「インチキ本」は書かないか.うっかり「誤ったこと」を書くことはあるだろうが.
  • 小さなものであれば,次の版でしれっと訂正.大きなものであれば絶版にしてなかったことにする.
    • 「なかったことにする」はおもいつかなかった.たしか,正式に絶版するのは結構条件が厳しかったはずなので,そのへんは出版社が協力してくれるかによりそうですね.
  • 「私は0=1を仮定していますので問題はありません」
    • 嫌いじゃないよ
  • 被害者ムーヴ
    • ???「大学のセンセーがあたしをいぢめるんです!!!あたしを中傷したお前らを訴えてやる!!!!!」
  • 黒棺を完全詠唱する.
    • 「滲み出す混濁の紋章、不遜なる狂気の器、湧き上がり・否定し・痺れ・瞬き・眠りを妨げる 爬行(はこう)する鉄の王女、絶えず自壊する泥の人形、結合せよ、反発せよ、地に満ち 己の無力を知れ 破道の九十・黒棺」
  • 「さすがプロ!」って煽る
  • 「あなたのやってる数学と一緒にしないでください」
  • 「この本は正しいことしか書いてないなんて言ってません」
  • 「信じる方が悪い」
  • 「その調子で間違っているところ全部教えてください」
  • 「笑」
  • ゲーデル不完全性定理で数学は不完全だから」
    • これらすべて同一人物からの回答です.クソ回答7連発!!すごい!!!趣旨をわかっていやがる!!!!!と回答をもらった時点では無邪気に喜んでいたんですがね…….まさかあんなことになるとは…….

まさかの「正解」が出てしまった……

今回のアンケートで最大の誤算はまさかの正解が出てしまったことですよ……

「確率」についてご指摘いただきました|深沢真太郎 ビジネス数学教育家/明治大学客員研究員/累計25万部作家 でこのアンケートのきっかけを作った H 氏は次のように述べています.

私は数学はひとつではなく、「◯◯数学」なるものがたくさん存在するといいなと思っています。そのどれが正しいか間違っているかということよりも、学ぶ側に様々な選択肢があることを豊かに思えるといいなと。

そう思って、(なかなか共感はされないかもしれませんが)私は私なりのビジネス数学を広めていこうと思っています。ビジネスの世界では絶対はなく正解もない。だから絶対も正解もない数学もあっていいのではと。

えーと,まとめると「あなたのやってる数学と一緒にしないでください」ってことでいいっすか.まさか「絶対も正解もない数学もあっていい」と言ってくるとは…….すくなくとも間違っている数学は使い物にならないと思うんですけどね.

そんなわけで.

「あなたのやってる数学と一緒にしないでください」を回答として提出した R くんの優勝です!!!
(アンケートで優勝とは)

総括

どうも H 氏は素でわけのわからんことを書いていた*2ようで「インチキ数学本」を出すつもりはなかったようですが,結果的にこのクソアンケートの回答にほぼ同じ回答がありました.かなしい事件だったね.

この記事の結論ですがこんなクソ記事読むより,みんな数学書を開こうぜでよろしくおねがいします.みんな闇落ちすんなよ!!!

参考文献など


子供の頃大好きで毎日持ち歩いていました.どこへ行くにも一緒でした.もしかしたら,わたしの原点はこの本かもしれません(その割に今この本が家のどこにあるか覚えていない).
ところで,この本,最近書店で見かけないのだが絶版になってしまったのだろうか……?

問題となった H 氏の本
たった9時間でSPIの基礎が身につく!! <2021年度版>

<追記 2021.3.4>
該当する書籍の内容についてお詫びと訂正について出版社と協議いたします。配信型授業の中で類似した内容の言及をしておりますので次回の配信にてお詫びと訂正をする予定です。自身の勉強不足により初学者向けの媒体で正しくない情報があったことに関しましては責任を感じております。ご迷惑をおかけしましたことをお詫び申し上げます。

「確率」についてご指摘いただきました|深沢真太郎 ビジネス数学教育家/明治大学客員研究員/累計25万部作家 には書いてあるので手に入れるなら今のうちです.というか類似した内容の言及を最近もしているなら「7年前」って言わなければいいのに…….
「7年前のミスにガタガタ言いやがって…….面倒な連中だな…….」と受け取れるぞ.単に「私の著作にミスがあったようです.事実関係の確認をした後,対応させていただきます.この度はお騒がせして申し訳ありません」と言うのがビジネス的には正解だろうよ…….

*1:まぁ,数学から離れたら,そうでもないことも多い節はありますが.

*2:なんで,そんなやつがビジネス数学インストラクター制度を立ち上げることができたのかは完全に謎.

証明図の後に句読点を打ちたい話(bussproofs.sty)

最近まで知らなかった話。公式ドキュメントをしっかり読んだら一瞬で解決して心が痛くなった話とも言う.


LaTeX で証明図を書くのに普段 bussproofs.sty を使っているが,証明図の後に句読点を打とうとするとうまく行かなかった.

The introduction rule of \(\land\) is
\begin{prooftree}
\AxiomC{$A$}
\AxiomC{$B$}
\BinaryInfC{$A\land B$}
\end{prooftree}.

The introduction rule of \(\land\) is
\begin{prooftree}
\AxiomC{$A$}
\AxiomC{$B$}
\BinaryInfC{$A\land B$}
\end{prooftree}.

で,最近まで荒技*1でこの問題を解決していたのだが,最近,公式ドキュメントをよく読んだら一瞬で解決した.
prooftree 環境でしか,証明図を書けないと思い込んでいたが,実は \DisplayProof というコマンドがあるらしく,これを使うとインライン数式モードのように証明図をかけるらしい.

The introduction rule of \(\land\) is

\AxiomC{$A$}
\AxiomC{$B$}
\BinaryInfC{$A\land B$}
\DisplayProof.

MathJaX だと再現できないので画像を貼る.

f:id:Sokrates7Chaos:20210301173952p:plain

正直知らんかったので,反省と備忘録を兼ねてここに掲載する(つらたん).

*1:tabular などを使って句読点の位置を無理矢理調節するなどしたと容疑者は述べており…….

SATySFi インストールチャレンジ in Windows Subsystem for Linux

Windows Subsystem for Linux に SATySFi をインストールをする機会がここ数週間の間になぜか複数回あった.この記事はそれらの経験からわかった Windows Subsystem for Linux に SATySFi をインストールをする方法をまとめたものである.

たぶんこれが一番早いと思います*1

問題の背景

SATySFi とは組版処理システムの一種で,諏訪敬之しによって,IPA の未踏IT人材発掘・育成事業(2017)の支援の下に開発された.SATySFiは静的型付けにより,組版処理の前段階での詳細でわかりやすいエラー報告を実現しているらしい[要出典]。SATySFi はその高性能さと並んで,インストールがパソコン初心者には難しいことでも知られている[要出典].

Windows Subsystem for Linux (以下 WSL )とは Windows の中でサーバー版 Linux (に限りなく近いもの)を動かそうという意欲的なシステムで,Micrsoft vs Linux という冷戦の雪解けの象徴である[とても要出典].ディストリビューションについては UbuntuDebian など複数与えられている.

この記事では WSLを使えるようにしてから,SATySFi をインストールするまでの最短経路(たぶん)を紹介する.

Windows Subsystem for Linux を使えるようにする.

WSL を使えるようにする.この工程は大きく分けて2つある.

  1. WSL を使用できるように設定を変える.
  2. ディストリビューションを決める.

これは基本的には公式ドキュメント Windows Subsystem for Linux (WSL) を Windows 10 にインストールする | Microsoft Docs の「手動インストール」にしたがえば何とかなる*2

しかし,ここでは公式ドキュメントとは違い GUI で済ませられるところは GUI で済ませる方針で行く*3

WSL を使用できるように設定を変える.

Windows の機能の有効化または無効化 というところから WSL を使用できるように設定を変えることができる.
方法は

  1. 「設定」をスタートメニューなどから開く.
  2. Windows の機能の有効化または無効化 を検索窓から検索する.
  3. 立ち上がったウィンドウのなかのチェックボックスから「LinuxWindows サブシステム」にチェックを入れる.もし,この時点でそもそもそのような項目が見つからなかった場合,Windows のバージョンが足りていない可能性が高い*4
  4. 再起動する.

ディストリビューションを決めてダウンロードする.

ディストリビューションMicrosoft Store から好きなディストリビューションをダウンロードする.

私が試したのは UbuntuDebian のみなので,この記事の方法に従う場合は,そのどちらかを選ぶのを推奨する.

ディストリビューションのインストールが完了すると,スタートメニューにそのディストリビューションのアイコンが現れる.そのアイコンをクリックすれば,WSL が立ち上がる.初回はユーザー名とパスワードを求められるので,適当に入力してしまおう.

SATySFi インストールチャレンジ in Windows Subsystem for Linux

WSL が使えるようになったら,いよいよ SATySFi インストールチャレンジの開始である.
本来は WSL 2 を使うことを推奨されているが,WSL 1 でも動くので,この記事では WSL 1 で動かすことを考える.WSL 2 から Windows 側のファイルを編集することが非推奨とされていることを考えると,WSL 1 で動かせる限りは WSL 1 で動かしたほうが良いという発想である.とはいえ,おそらく WSL 2 でもほぼ同じ方法(一か所だけ異なる)でインストールができると考えられるので,WSL 2 を使う人にとって,この記事が全く役に立たないことはないはずである.

以下では,UbuntuDebian をインストールしたとして話を進める.

SATySFi のインストールに必要なツールのダウンロード

まず,SATySFi のインストールに必要なツールのダウンロードを行う.次のコマンドを入力する.

sudo apt update
sudo apt install build-essential git m4 unzip curl  make wget opam 

最初のコマンドの実行時にパスワードの入力を求められるはずなので,WSL を最初に立ち上げたときに決めたパスワードを入力する.

公式ドキュメント GitHub - gfngfn/SATySFi: A statically-typed, functional typesetting system だと Opam を違う方法でインストールしているが,現在の UbuntuDebian では apt から手に入れたほうが早いのでそうする.

Opam を設定する(鬼門)

ここが最大の鬼門である.

Opam というのは OCaml のパッケージマネージャである.SATySFi は大部分*5OCaml によって書かれているために Opam が必要である.

しかし,WSL 勢にはこの Opam の設定が難しい.だって,公式ドキュメント通りにやってもうまくいかないのだもの.しかもエラーを見てもいまいちなぜだめなのかよくわからない.

どうも原因は WSL 1 では bwrap によるサンドボックスが上手く動かないことにあるらしい*6.WSL 2 では解決した問題らしいが,ここではあくまでも WSL 1 で頑張ることにする.

先に述べた理由から,Opam のインストールが終わったらその初期設定を

opam init --comp 4.10.0 --disable-sandboxing

というコマンドによって行う.最後のオプションはサンドボックスを切るためのオプションである*7.SATySFi は 2021 年 2 月 4 日現在,OCaml 4.10.0 を使うことを求められているので,--comp 4.10.0 をつける(これを外すと古いバージョンがインストールされてしまうので必須).

このコマンドの実行中いくつか入力を求められるがよくわからない場合はすべて y を選択すればよい.

その後

eval $(opam env)

opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
opam update

を実行して,SATySFi をインストールできる状態にする.

Opam の設定がうまくいかなかったら

この時点で,

ocaml --version

を実行して

The OCaml toplevel, version 4.10.0

と表示されなかったら,どこかでミスをしている.

この場合はあまり良い方法ではないと思うが,

rm -rf ~/.opam

して opam 関連の諸々を初期化し,この節の最初からやり直しである.

この方法だと,opam 関連のファイルごとすべて吹っ飛ばしているので,他のことに opam を使っている人は使えない方法であるが,この記事に救いを求める人にそういった人はいないと考えられるので気にしないことにする*8

SATySFi をインストールする

ここから先は一か所を除いて,公式ドキュメント通りに進めれば,上手くいく.

まず,

git clone https://github.com/gfngfn/SATySFi.git

または

git clone git@github.com:gfngfn/SATySFi.git

をして,GitHub に公開されている SATySFi のレポジトリをクローンする.Git を初めて使う人は前者を使えばよい*9

クローンしてきた SATySFi というディレクトリに

cd SATySFi

して入る.そして,

opam pin add satysfi .
opam install satysfi

をすると,SATySFi が build される.

ここまでで,SATySFi はインストールされているわけだが,使い始める前に

./download-fonts.sh
sudo ./install-libs.sh

をしてほしいそうなのでそうする.ただし,後者のスクリプトは sudo 権限がないと触れないディレクトリを触るので,公式ドキュメントには書いていないが,sudo 権限で実行する*10

demo が動くか確認する.

ここまで来たらほぼ勝利も同然であるが,勝利したことの確認のため demo を動かしてみる.

cd demo
make
ls 

をして, demo.pdf が生成されていることを確認できれば勝利確定である.

まとめ

WSL 1 勢が気を付けなければならないのは

  • opam init するとき, --comp 4.10.0 --disable-sandboxing というオプションを忘れないこと.


である.SATySFi インストールチャレンジ成功者が一人でも多く増えることを望む.

*1:使うディストリビューションUbuntuDebian を仮定する.

*2:公式ドキュメントが分かりにくいのはある.

*3:画面のスクリーンショットは撮るの忘れた.すいません.

*4:Windows 10 のダウンロード から Update Assistant をダウンロードし,最新版の Windows を手に入れよう.

*5:というか GitHub の言語の割合を見る限り全部 OCaml と考えられる.

*6:ごめんなさい.ここはわからないまましゃべっている.詳しいことは *nix 向け SATySFi インストールバトル手引き 2020年10月版 - Qiitabuild ocaml-base-compiler fails on versions 4.02-4.08 (`opam switch create . 4.06.1`) · Issue #12050 · ocaml/opam-repository · GitHub を参照してほしい.

*7: WSL 2 を使っている人にはおそらく必要のないオプション.

*8:居たらごめんなさい.

*9:最近は http を使って Git Hub にアクセスすることは非推奨らしいが

*10:こっちはエラーをよく読むとエラーの理由がすぐわかるので,比較的解決しやすい.

Windows Subsystem for Linux で Texdoc を使いたいというおはなし

Windows Subsystem for Linux (以下WSL)でTexdoc を使うための方法についての記事です.
元々はLaTeX 初心者が知るべきただ一つのコマンド - Sokratesさんの備忘録ないし雑記帳という記事のおまけにしていたのですが,分量的に分けたほうが良いと判断したので,別記事にします.

2022/2/26 追記: Windows 11 ビルド 22000 以上を使っている場合,GUI サポートが始まったため,この記事の前半の方法を使わなくても,WSL から Texdoc によってドキュメントを読めるようになりました.詳しいことは記事の最後に回しますが,「どうしても SumatraPDF などの Windows の pdf viewer で Texdoc のドキュメントを読みたい」などの事情がない限りは GUI サポートを利用した方が楽だと思います.追記終わり.

1. WSL で Texdoc を使えないんだけどォォォォォォ!!!

WSL ユーザーという原罪のため,Texdoc が使えないかわいそうな皆さん.こんばんは.私もそんな人間の一人です.私かわいそう.

WSL でたとえば,

$ texdoc texdoc

を実行すると

texdoc warning: DISPLAY is not set; your viewer will likely have problems.
texdoc warning: Try --list to list results instead of displaying them.

などと表示されブチ切れる羽目になります.これは残念ながら現状 WSL に対して,GUI はサポートされていないからだと考えられます(2022/2/26 追記: Windows 11 ビルド 22000 以上を使っている場合,GUI サポートがあります.そのため,この記事の方法を使わなくても,WSL から Texdoc によってドキュメントを読めるようになりました.追記終わり.*1.そのため,WSL 側から Windows の pdf viewer などを呼び出すように設定の変更をするしかありません*2.「おっ,なら設定ファイルを書き直せばいいんだな」と思われるかもしれませんが,ある事情から少し工夫をしないと,WSL の Texdoc と Windows の pdf viewer を連携させることができません.ここでは,その方法を紹介します.
基本的には下記のリンク先の方法と同じですが,一部私の工夫が入っています.
"DISPLAY is not set; your viewer will likely have problems" on Windows Subsystem for Linux · Issue #59 · TeX-Live/texdoc · GitHub

私程度が読むようなドキュメントは pdf であることが多いため,pdf を読むための方法しか紹介しませんが,ご了承ください.ただし,ここに書いてあるようなスクリプトをファイルの種類ごとに書いて,viewer として設定すればうまくいくとは思います*3

おそらく,この方法はディストリビューションなどに依存しないと考えられますが,動作確認は

  • エディション Windows 10 Home
  • バージョン 20H2
  • OS ビルド 19042.685

の中で WSL 2 の ubuntu-20.04 で行っています.
また,TeX Live の バージョンは 2019.20200218-1 です.

2. 方法の紹介の前の注意

あらかじめ申し上げますが,ここで紹介する方法で Texdoc から pdf ファイルを読めるようになっても Texdoc からの

texdoc warning: DISPLAY is not set; your viewer will likely have problems.
texdoc warning: Try --list to list results instead of displaying them.

というメッセージはナント消えません!バカな!そこをご了承の上で下記の方法を試してみてください.
また,わたしが普段使う pdf viewer が Sumatra PDF なので,例として,SumatraPDF を呼び出すように書いています.それ以外の pdf viewer を使いたい人々は適時そこを読み替えてお読みください.

3. WSL から Texdoc を呼び出すそんなに冴えているわけでもないやり方

ステップ 1.

pdf viewer を呼び出すための bash スクリプト*4を書きます(なぜそんな面倒なことをするのかは後で補足します).
次のような bashスクリプトを openpdf という名前*5で WSL の path が通っている場所に置きます*6
GitHub - Sokratesnil/wsl-scripts に同じスクリプトを置いてあるので,そちらからダウンロードしても構いません.

#!/bin/sh
for file in "$@"
do
  pathinwsl=`realpath $file`
  pathinwindows=`wslpath -w $pathinwsl`
  SumatraPDF.exe "$pathinwindows" &
done

この bash スクリプトの SumatraPDF.exe を他の好きな pdf viewer の実行ファイルに置き換えれば,その pdf viewer で texdoc が探してきた pdf ドキュメントを読めるはずです.たぶん. 2021/1/6 追記.実際,chrome.exe に置き換えることで Google Chrome で pdf の閲覧ができました.

openpdf を作ったら

$ chmod +x openpdf

とコマンドを実行して,実行者権限を付与してください.

ステップ 2.

Texdoc の設定ファイルを書きます.
Texdoc の設定ファイルを置く場所は

$ texdoc -f

を実行すると分かります.わたしの場合は

/usr/share/texlive/texmf-dist/scripts/texdoc/texdoclib.tlu 3.0
Configuration files are:
    active      /usr/share/texlive/texmf-dist/texdoc/texdoc.cnf
Recommended file(s) for personal settings:
    /home/xxx/texmf/texdoc/texdoc.cnf

などと表示されたので,/home/xxx/texmf/texdoc/ に設定ファイル texdoc.cnf を用意すれば良いことが分かります.もし,存在しないディレクトリなどが途中にあった場合は適時 mkdir texmf などを実行して,ディレクトリを作ってください.

さて,texdoc.cnf に次の一行を書きます.

viewer_pdf=openpdf

これは Texdoc の pdf viewer を指定しています.

ステップ 3. 最後に

$ texdoc texdoc

を実行してみて,エラーが出つつも pdf viewer が立ち上がり,Texdoc の公式ドキュメントを読むことができれば成功です.他のドキュメントも立ち上げてみましょう.

4.なぜこんな回りくどい方法を......

ここで紹介する方法は一見すると回り道に見えるかもしれません.普通に考えると,

viewer_pdf=SumatraPDF.exe

とすればうまくいきそうなのですが,読みたいドキュメントまでの path の指定が wsl と texdoc で食い違いが発生するようで,うまくドキュメントを開くことができません(かなしい). openpdf はその問題を解決するために path の変換をしてから pdf viewer に pdf ファイルを渡すようにしています.

"DISPLAY is not set; your viewer will likely have problems" on Windows Subsystem for Linux · Issue #59 · TeX-Live/texdoc · GitHub の方法(以下元ネタ)との違いと私の方法の違いも述べておきます(以下の二段落は興味のある方だけお読みください).
元ネタと私の方法は wsl と texdoc の path の食い違いを補正するという点は共通しています.問題は呼び出すアプリの違いです.元ネタの方法だと powershell.exe を呼び出すようにしています.しかし,これでは動作が重くなります.powershell.exe という重いソフトウェアを呼び出さない分によってわずかですが,動作が軽くなっています.
一方,元ネタのスクリプトだと,texdoc に呼び出されるファイルの拡張子に Windows 側で関連付けられているソフトウェアを呼び出すようになっているという利点があります.そのため,pdf 以外のドキュメントにもバリバリ目を通したい方は,もしかすると元のスクリプトを使ったほうが良いのかもしれません.

5.最後に

 このバグ(?)は WSL の GUI サポートが開始されれば解消されると予想されるため,texdoc 側で対応する予定はまったくないそうです(以下のリンクを参照).しょうがないね.
https://github.com/TeX-Live/texdoc/issues/59?s=09#issuecomment-720107960

2022/2/26 追記: Windows 11 ビルド 22000 以上を使っている場合,GUI サポートが始まったため,この記事の方法を使わなくても,WSL から Texdoc によってドキュメントを読めるようになりました.「どうしても SumatraPDF などの Windows の pdf viewer で Texdoc のドキュメントを読みたい」などの事情がない限りは GUI サポートを利用した方が楽だと思います.追記終わり.


A. GUI サポートを得た WSL で Texdoc を使う方法(2022/2/26 追記)

Windows 11 ビルド 22000 以上を使っている場合,GUI サポートが始まったため,もっと簡単に Texdoc を利用できるようになりました.ここではその場合の WSL および Texdoc の設定の仕方を軽く説明します.

注意:WSL で使えないような Sumatra PDF などの pdf viewer をどうしても使いたい場合や WSL1 を使いたい場合などは,結局上の GUI サポートに頼らない設定をする必要があります.

WSL の GUI サポートを使う方法について

前提として,Windows 11 ビルド 22000 以上であることが必要です.また,使っているシステムに対応する vGPU 用のドライバーをインストールする必要があります.詳しいことは公式ドキュメントWSL で Linux GUI アプリを実行する | Microsoft Docsの「前提条件」を読んでください.

pdf viewer をインストールする.

WSL のGUI サポートを使えるようになったら,適当な pdf viewer を WSL に入れてください.たとえば,ubuntu ディストリビューションで evince をインストールする場合は,

$sudo apt update
$sudo apt upgrade
$sudo apt install evince

とすれば良いです(debian と Kali linux なら同じコマンドでいけるはず).

pdf viewer を設定する

pdf viewer をインストールできたら, Texdoc の設定ファイルを書きます.Texdoc の設定ファイルを置く場所は

$ texdoc -f

を実行すると分かります.わたしの場合は

/usr/share/texlive/texmf-dist/scripts/texdoc/texdoclib.tlu 3.0
Configuration files are:
    active      /usr/share/texlive/texmf-dist/texdoc/texdoc.cnf
Recommended file(s) for personal settings:
    /home/xxx/texmf/texdoc/texdoc.cnf

などと表示されたので,/home/xxx/texmf/texdoc/ に設定ファイル texdoc.cnf を用意すれば良いことが分かります.もし,存在しないディレクトリなどが途中にあった場合は適時 mkdir texmf などを実行して,ディレクトリを作ってください.

さて,たとえば,evince で texdoc のドキュメントを読むようにしたい場合は texdoc.cnf に次の一行を書きます.

viewer_pdf=evince

使いたい pdf viewer が他にあるならば,"evince"の部分をその pdf viewer を呼び出すコマンドに置き換えてください.

追記終わり.

*1:WSL の GUI については,サードパーティ製のものが存在するそうですが,私は使ったことありません.もし,そういう製品を使ったらここに書いてあるような問題は起こらないのかもしれないですが,どうなんですかね.よくわからない.2022/2/26 追記: Windows 11 ビルド 22000 以上を使っている場合,GUI サポートがあります.追記終わり.

*2:または,WSL から Texdoc を立ち上げることを諦めて,Windows 側にTeX Live を入れるかです.昔の私のように(わたしかわいそう).

*3:試してないですが.

*4:実は以前あげていたものと少し変えています.WSL の Texdoc を使う分には以前のもので十分なのですが,たとえば,以前のバージョンの openpdf で Windows 下の pdf ファイルを開こうとすると,開くことができません.これは,以前のバージョンでは SumatraPDF.exe に渡す path の変換を WSL に任せてしまっているためです.汎用性を上げるために SumatraPDF.exe に渡す path を明示的に変換するように変更しました.

*5:名前は他のものでも良いですが,わかりやすい名前にした方が良いと考えます.

*6:ちなみに,動作確認の際は~/bin/openpdf としました.

【備忘録】数学英語文書まとめ

この記事は さいえんSlack Advent Calendar 2020 - Adventar の 25 日目(最終日)の記事です.24 日目は Tomoki UDA さんの担当でした.
さいえんSlackは Slack を中心に活動している科学に興味がある人のためのゆる〜いコミュニティです.詳しいことは以下のリンクを参照してください.
scienslack.github.io

この記事では英語で数学についての文章を書くための How to 文書で役に立ったり有名だったりするものを備忘録を兼ねて紹介する記事です.基本的には修論や博論,投稿論文などを書く際に参考になるものを紹介していきます.参考になれば幸いです.

1. 英語一般

英語一般についての文書で文章を書くときに参考になったものを紹介します.

[1.1.] 徹底例解ロイヤル英文法 改訂新版

高校生にもおなじみの文法書ですね.すこしでも怪しいところがあるたびに開いています.最近,持ち歩くのがしんどくて,電子版を紙版とは別に購入しました.これは正解で,文字列検索できるようになって効率が上がりました.

[1.2.] 【DVD-ROM付】オックスフォード現代英英辞典 第9版

知り合いに誕生日プレゼントをねだったら買ってもらえました.定評のある英英辞典です.とても役に立っています.語法が怪しかったらまずこの辞書でそのような語法があるかを調べてから使っています(念の為,Google 検索もかけますが).

2. 科学英語一般

この節では科学英語一般についての How to 本を紹介します.科学英語独特の慣習や科学英語だと許される表現などがあるので,上とは別で使っています.

[2.1.] English for Writing Research Papers (English for Academic Research)

最近新版が出たようで,表紙のデザインが変わっていてびっくりしました.私は下のようなバージョンを持っています.また,日本語訳も出ていてそちらも持っています.現題に比べるとタイトルがちょっとアレな感じなのはご愛嬌.医学系の論文からの引用が多いような気がしますが,論文全体の構造などについてはこれがとても参考になりました.最後に科学論文で使える表現集がまとまっているのも使いやすいです.

[2.1.1.]English for Academic Research: Grammar, Usage and Style: Usage, Style, and Grammar

上の姉妹編で主に文法や語法にフォーカスが当てられています.語法に迷ったときなどにたまに参照します.

[2.2.] 理科系のための英文作法―文章をなめらかにつなぐ四つの法則 (中公新書)

いろんなところで取り上げられて有名になっている本と若干タイトルが似ていますが,違う本です.こちらも名著で,特に第一章は接続詞に悩んだときにとても参考になりました.ただ,「"Thus" を頻繁に使うべきではない」など数学英語とは相容れない部分があることに注意して読まなければなりません.

[2.3.] 英語論文 すぐに使える表現集

たまに参照します.日本人が書いているので,「これ英語だとどう表現するんだ?」となったときに助かります.

[2.4.] 理系のための英語論文執筆ガイド―ネイティブとの発想のズレはどこか? (ブルーバックス)

たまに目を通すと勉強になります.
[2.4.1.] 間違いだらけの英語科学論文 失敗例から学ぶ正しい英文表現 (ブルーバックス)
これも合わせて読むと面白いです.

3. 数学英語

この節では数学英語一般についての How to 本を紹介します.科学英語の中でも数学英語は独特のようで,一般に科学論文だとやめるように言われることが許容されるので,たまに戸惑います*1

[3.1.] 数学のための英語教本

最近出た本ですが,すでに名著の風格があります.テキスト型の構成の本なので,頭から一節ずつ読むことを推奨します.巻末には数学英語表現早見表もついているので便利です.もっと早く出版してほしかった……

[3.2.] 数理科学論文ハンドブック―英語で書くために

図書館で偶然見つけたのですが,辞書的に使うならこっちのほうが良いかもしれません.原著の新版が最近出たようです.

Handbook of Writing for the Mathematical Sciences

Handbook of Writing for the Mathematical Sciences

Amazon

[3.3.] Mathematical Writing (Springer Undergraduate Mathematics Series)

用例が多く載っているので,便利です.

[3.4.] A Primer of Mathematical Writing: Being a Disquisition on Having Your Ideas Recorded, Typeset, Published, Read, and Appreciated (Monograph Books)

まだきちんと目を通せていませんが名著だそうです.第二版のプレプリントarXiv にあがっています.
[1612.04888] A Primer of Mathematical Writing, Second Edition

[3.5.] 数学版 これを英語で言えますか? Let’s speak Mathematics! (ブルーバックス)

数式の読み方が書いてある本です.数式を英語でわざわざ読み上げることが稀なので,ほとんど使ってません.英語で発表するときにもしかしたら使うかも?

4. 組版関連(LaTeX 関連)

この節では数式の出てくる文書独特の組版事情に関連する文書,また数式組版をするためによく使われる LaTeX に関連する文書を上げます.組版というのはざっくり言うと文書にするときの文字や記号の並べ方のことです(ここで詳しい人に刺される).数式の組版には独特の慣習,規則がありますので,それに従わなくてはなりません.

[4.1.] 小田忠雄,「数学の常識・非常識—由緒正しい TeX 入力法」,数学通信, 第 4 巻第 1 号, 1999 年 5 月, pp.95–112.
ありがたいことに東北大学が無料で公開をしてくれています(合法のはずです).http://www.math.tohoku.ac.jp/tmj/oda_tex.pdf
必要最低限の組版ルールの解説がされているので,これを読むだけでもだいぶ LaTeX のコードがきれいになります(OHP とか時代に合わない話も載ってしまっていますが).

[4.2.] Michael Downes, Barbara Beeton,"Short Math Guide for LaTeX"
AMS のパッケージを使うための注意事項が書いてあります.AMS のパッケージを使わずに数学についての文章を書くことはまず考えられないので,読んでおくべきだと考えられます.TeX Live を使っている方は Power Shell やターミナルで

$ texdoc short-math-guide 

とすればいつでも読めます.texdoc というコマンドについては,LaTeX 初心者が知るべきただ一つのコマンド - Sokratesさんの備忘録ないし雑記帳という記事で以前紹介をしました.

[4.3.] [改訂第8版]LaTeX2ε美文書作成入門

かの有名な美文書作成入門です.「LaTeX の入門書で良いものは?」と聞かれたら,ほとんどの人はこれを挙げる気がします(たぶん).最新版まだ読んでないんですけどね……

[4.4.] 独習 LaTeX2ε

某 W くんから誕生日プレゼントにもらってすごい助かっています.LaTeX 関連の書籍で一番わかりやすい本ではないかと思います(ただし,わたしにとっては).大概,変なところで詰まったらだいたいこれを見ると解決します(マニアックなことしない限り).

[4.5.] 数式組版

数式組版

数式組版

Amazon
数式組版についての唯一の和書である説……
読んでいるとたまに悪い例と良い例の違いがわからなくて発狂するときがあります.数式組版の深さを感じるための本です.

*1:この関連で最近私の周りで話題になったのが慣用句 "such that" です. "A such that B" で 「B を満たす A」を表現することが数学ではよくあります.しかし,この用法は一般的な辞書・文法書には見られない用法です(少なくとも私の手元にあるもので書いてあるものは確認できなかった).数学英語独特の表現ではないかと推測されます(確証は持てませんが).

LaTeX 初心者が知るべきただ一つのコマンド

という煽りタイトルで Texdoc を紹介する記事を書く宣言を何故かしてしまったので,書きたいと思います.後悔も反省もしている.たぶんみんな妖怪かスタンド攻撃のせい.

 この記事は TeX & LaTeX Advent Calendar 2020 - Adventar の 24 日目の記事です.23 日目は munepi さんの Markdown原稿からPandocしてLaTeX組版する本作り - Qiita という記事でした.明日は zr_tex8r さんの 徹底攻略! pxchfonを使いこなそう - Qiita という記事です.

 多分このアドベントカレンダーの参加者の中で一番の素人です.なんか雪だるまが回転するのを眺めていたら参加してました(なにを言っているのか自分でもわかりません).なんで僕は TeX に詳しくないのにこのアドベントカレンダーに参加しているんだろう…….

 前置きが長くなりましたが,本題に入りましょう.間違いのないように気をつけて書いていますが,もし間違ったことを書いていたらごめんなさい*1. 

1. Texdoc って何だ?!

 Texdoc とは何かについて,述べましょう.

 Texdoc の公式ドキュメントには

Texdoc is a command line tool which search and view documentations in
TeX Live. 

(Manuel Pégourié-Gonnard, Takuto Asakura, "Texdoc Find & view documentation in TeX Live v3.0",  2018-06-06)

 と書いてあります.私の拙い語学力で訳すと次のような感じでしょうか?

Texdoc とは TeX Live のドキュメントを探して読むためのコマンドラインツールです.

(Manuel Pégourié-Gonnard, Takuto Asakura, "Texdoc Find & view documentation in TeX Live v3.0",  2018-06-06. 日本語訳は筆者)

どういうドキュメントが読めるかはTexdoc の中の人の手による TeX Live ドキュメント案内 - Qiita に詳しいのでそちらを読みましょう.

 はい.そんなわけで.Texdoc すごそうだね.おしまい.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 ってやろうかと思ったんだが,流石によろしくないので,もう少し話を続けます*2

 現在, TeX Live を使っている TeX ユーザーが大半だと思うのですが,TeX Live ドキュメント案内 - Qiita によるとこの5GB 近い塊*3の4割位はドキュメントだそうです.これだけ容量を占めているドキュメントを読まないのはとてももったいないですね.このドキュメントを探して読むためのツールが Texdoc です.使い方は簡単.TeXLive の入っているパソコンで,単に PowerShellWindows ユーザー)やターミナル(Linux ユーザー)に

$ texdoc (見たいドキュメントの名前)

を入力するだけです.勝手にビュワーが立ち上がって,ファイルを見せてくれます.

すごい簡単!!!これで明日からTeX Live ドキュメントのマスター(?)だ!!!

 とはならんですね.だって見たいドキュメントの名前わからなかったらどうしようもないわけですから.一応こんな名前のファイルないかなぁというのを探すときのために

$ texdoc -l (expr)

とオプションをつけることで,(expr) が含まれるドキュメントの一覧を出してくれますが,それでも初心者は何を (expr)とすればよいのかわからないでしょう(わかるなら多分初心者じゃないと思う.この記事読まなくて良いのでは).

 そこで,texdoc を私自身がよく使うタイミングをユースケース*4として紹介したいと思います.皆さんの参考になれば幸いです.参考にならなくても怒らないでね.

 TeX Live を full インストールしていれば,他の環境でも問題なく再現できる話だと思いますが,動作確認は

  • エディション Windows 10 Home
  • バージョン 20H2
  • OS ビルド 19042.685

の中で WSL 2 の ubuntu-20.04 で行っています.また,TeX Live の バージョンは 2019.20200218-1 です*5(私自身が,WSL ユーザーなのでアレですが,実は WSL で Texdoc を使うには工夫が必要です.手前味噌ですが,Windows Subsystem for Linux で Texdoc を使いたいというおはなし - Sokratesさんの備忘録ないし雑記帳 を参照してください).

2. 初心者のための texdoc ユースケース

texdoc のユースケースを3つほど紹介します.

2.1. あの記号出したいんだけど,コマンドわからんのじゃが……

 ある日のこと,S くんはゼミでの論文紹介のためにスライドを LaTeX で作っていました.紹介したい論文に ¦ という記号が使われているので,自分のスライドにもこの記号を使いたくなりました.残念ながら S くんは頭がよくないので,¦ の出力コマンドをしりません.ここで諦めて別の記号を使うか,と思っていたとき,頭の良い友達の W くんが

$ texdoc symbols

を使ってみたまえ,と勧めてくれました.するとなんということでしょう,たちまち,symbols-a4.pdf *6という PDF ファイルが立ち上がり,LaTeX で使うことのできる記号の一覧が出てきたではありませんか!S くんはこのファイルの中を検索することによって ¦ という記号を出したければ,\usepackage{textcomp} をプリアンブルに書き,\textbrokenbar というコマンドを使えば良いことが分かりました.めでたしめでたし*7

 

 また,別の日のこと,S くんは「新しく定義したこの『二項関係』の記号どうしようかな. LaTeX で使えるいい感じの関係記号ないかなぁ」と悩んでいました.悩んでいても仕方ないので,S くんは

$ texdoc symbols

してみました.symbols-a4.pdf は記号を種類ごとにまとめてくれているので,「binary」などと検索をすると,さまざまな二項関係の記号を眺めることができます.

「お,これ良さそう」

S くん,良さそうな関係記号を見つけることができたようです.めでたしめでたし.

2.2. パッケージ特有のコマンドを忘れちまった……

私はよく,bussproofs というパッケージで,証明図を書きます.証明図というのは次のような記号論理学などで使われる図です(Texdoc の使い方と直接関係ないので意味を理解する必要はありません).

\begin{prooftree} \AxiomC{$A$} \AxiomC{$B$} \BinaryInfC{$A\land B$} \end{prooftree}

しかし,頭がよくないので,普段やらないようなことをやろうとすると,すぐコマンドがわからなくなります.

たとえば,

\begin{prooftree} \AxiomC{$\exists x\varphi$} \AxiomC{$[\varphi\left(t\right)]$} \UnaryInfC{$\vdots$} \UnaryInfC{$C$} \BinaryInfC{$C$} \end{prooftree}

の \(C\) と \(\vdots\) の上の線を消したくなったとします.こういう線を消すためのためのコマンドをよく私は忘れます.

こういうときは公式ドキュメントをみるために次のコマンドを打ち込みます.

$ texdoc bussproofs

すると,bussproofs.sty の公式ドキュメントが立ち上がります.ざっと目を通してみると,\noLine というコマンドで打ち消せることがわかりました(このくらいそろそろ覚えろよ).

\begin{prooftree} \AxiomC{$\exists x\varphi$} \AxiomC{$[\varphi\left(t\right)]$} \noLine\UnaryInfC{$\vdots$}\noLine \UnaryInfC{$C$} \BinaryInfC{$C$} \end{prooftree} 

 よし一仕事終わり!目的の証明図を出すことができました.

 

 このように Texdoc でパッケージの公式ドキュメントを呼び出すことができます*8.他にもたとえば

$ texdoc tikz

とすれば,tikz の公式ドキュメント*9が立ち上がるわけですね.

いわゆるパッケージ以外にも KOMA-Script という種類のドキュメントクラスの公式ドキュメントは

$ texdoc KOMA-Script

と打てば,出てきますし,

$ texdoc luatex-ja

 と打てば,LuaLaTeX で使える種類の日本語ドキュメントクラスの公式ドキュメントが立ち上がります.普段使うドキュメントクラスの公式ドキュメントを調べてみると自分の知らないオプション引数など新しい発見があり,おもしろいです.

ところで,Texdoc も TeX Live に含まれるツールの一つなので,

$ texdoc texdoc

とすれば,Texdoc の公式ドキュメントを見ることができます.Texdoc すごい!

2.3. 俺は TeX Master になるって,この前の飲み会で言ったら TeX に詳しい人達に複雑な顔をされた.それはそれとして,人並みには TeX を理解したいなぁ.

 TeX Live に含まれるドキュメントはいわゆるパッケージの公式ドキュメント以外にも色々あります.そういうドキュメントは TeX Live ドキュメント案内 - Qiita に詳しいです.

 その中でも,初心者が読むと嬉しくなりそうなものを二つほど紹介します.

1つ目は

$ texdoc short-math-guide

などとすると立ち上がる short-math-guide.pdf です.AMS のパッケージを使って LaTeX 文書作るときの注意点がまとまっていて,参考になります.AMS のパッケージを使わずに LaTeX 文書を作ることは珍しい時代だと思うので,数学を専門にしていなくても役に立つんじゃないかと思います.英語の文書ですが.

2つ目は

$ texdoc platexsheet

などとすると立ち上がる pLaTeXチートシートです.基本的なコマンドをど忘れしたときなどに役に立ちます.

3. まとめ

 はい.そんなわけで TeX 初心者にとって役に立ちそうな texdoc のユースケースを3つ紹介しました.

 もしかしたら,「ググった方が早いのでは」と思った人がいるかも知れませんが,LaTeX に対する怪しげな記事*10が散見される現代にあっては,公式ドキュメントに目を通す習慣をつけるという意味でも,Texdoc を使ってみると良いと考えます.

 Texdoc の仕組みや立ち上がる pdf viewer の変更方法などより進んだ情報については,

$ texdoc texdoc

をすると見ることのできる Texdoc の公式ドキュメントを参考にしてください.

 

 Texdoc の検索ワードを何も思いつかんとき,結局ググるけどね.

*1:もし,間違ったことを書いていても詳しい人からツッコミが入るはずなので,そのうち訂正されるはずだ.たぶん.知らんけど.

*2:TeX Live ドキュメント案内 - Qiita 以上の内容を書ける自信はないですが.

*3:Full でインストールした場合.

*4:あれ,使い方合ってる?

*5:最新版を apt を使わずに引っ張ってくる元気はない.

*6:http://tug.ctan.org/info/symbols/comprehensive/symbols-a4.pdf

*7: このケースの場合, Detexify LaTeX handwritten symbol recognition のような手書きされた記号から TeX Command を推測してくれるサービスを使うという手もあるんですがね…….後で知りましたが.

*8:というか,そのための Texdoc だよなという……

*9:聞いた話による(どこで聞いたかは忘れてしまった)と,tikz の公式ドキュメントには現在非推奨なコードが含まれているそうなので,読む際には注意が必要だそうです.

*10:この記事のように.

ZF が矛盾した日

 Twitter にて「Tychonoff の定理選択公理なしで証明された」という主張を見た.

 どのような体系で証明されたのかよくわからないが,もし,その体系が ZF の部分体系(もしくはそれと同等の証明能力を持つ体系)であって,また仮に証明されたのが事実だとすれば,その系として「ZF が矛盾する」ことを示す.以下では選択公理は ACと略記する.

 次の事実を使う.

事実1.

以下の2つは同値

  1. ZF が矛盾する
  2. ZF + \(\lnot\)AC が矛盾する

事実2.

ZF 上で AC とTychonoff の定理 は同値.

 さて,ZF の部分体系(もしくはそれと同等の証明能力を持つ体系)で「Tychonoff の定理選択公理なしで証明された」と仮定しよう.すると,当然 ZF において,Tychonoff の定理 を選択公理なしで証明することができる.これは事実2 から ZF において,AC が証明できることを意味する.よって,ZF + \(\lnot\)AC から AC が証明できる.これはZF + \(\lnot\)AC が矛盾することを意味する.ゆえに事実1 からZF が矛盾することが結論される.

また

事実3.

以下の2つは同値

  1. ZF が矛盾する
  2. ZFC が矛盾する

から,ZFCも矛盾する.

参考文献

Set Theory (Studies in Logic: Mathematical Logic and Foundations)

Set Theory (Studies in Logic: Mathematical Logic and Foundations)

  • 作者:Kunen, Kenneth
  • 発売日: 2011/11/02
  • メディア: ペーパーバック
 

 

集合論―独立性証明への案内

集合論―独立性証明への案内

 

  

 

追記(2020/9/18)

 どうも「Tychonoff の定理選択公理なしで証明された」と主張された方は「ZFC は矛盾している」という信念をお持ちのようである.仮に「ZFC は矛盾している」と仮定すると「ZF が矛盾すること」は事実3 からすみやかに導かれる.つまり,この記事の内容は件の人にはすべて自明であったようである.なんてこったい.