|| 証明の記号操作の根拠になるもの
「証明」のための「計算方法」のこと
スポンサーリンク
目次
シークエント「証明の記号的な表現方法」
シークエント計算「シークエントを使った計算」
構造規則「証明の構造から考えて明らかな規則」
推件式 Sequent
|| 前提と結論を記号で分けた表現方法
『証明を表現する形』をした「記号表現」のこと
\begin{array}{ccc} 前提 & \overset{←から→が導かれる}{\longrightarrow} & 結論 \\ \\ Γ&⊢&φ \end{array}
これの『記号と意味を分離する』ための概念で
(「記号である」などのメタレベルの意味は残る)
\begin{array}{lcl} 構文段階 && Γ\vdash φ の形をした記号 \\ \\ 記号要請段階 && Γやφや\vdash の具体的な中身 \\ \\ 全体要請段階 && Γ\vdash φ 全体の振る舞いの形式表現 \end{array}
その意味はこのような形で区分されています。
(実際の運用ではメタレベルの意味しか持たない記号を指す)
記号 \vdash の変遷
これは以前ちょっと曖昧に使われていた記号で
(『最終的に証明を表現する』点では一致していた)
\begin{array}{ccc} 証明 &\overset{中身を記号で表現して整理}{\longrightarrow}& 前提\vdash 結論 \\ \\ Γ\vDash φ &\overset{モデル内での表現に形成}{\longrightarrow}& Γ\vdash φ \end{array}
だいたいこのような意味で使われていました。
(本質的には同じだが役割と厳密さに差異がある)
\begin{array}{ccc} Γ\vdash φ &\longrightarrow& この記号表現を推件式と呼ぼう \end{array}
これを整備したのが「推件式」で
\begin{array}{ccc} 直感的な意味での証明 &\to& 推件式の形 \\ \\ 記号的な意味での証明 &←& 推件式の形 \end{array}
これにより「証明である(述語)」を
より厳密な形で定義できるようになりました。
(証明?文の記号表現 → 記号の形チェック)
推件式の意味的な要請的定義
↑ では「推件式の形」は定義されましたが
\begin{array}{ccl} Γ && 前提を表しているはず \\ \\ \vdash && 左側から右側が導かれるを意味するはず \\ \\ φ && 結論を表しているはず \end{array}
これらについての定義はまだされていません。
(チェック対象の範囲がまだ広過ぎる)
\begin{array}{ccl} Γ,\vdash,φ &←& この定義も必要 \\ \\ Γ\vdash φ &←& これがどう振る舞うかも必要 \end{array}
この部分が「意味的に要請される定義」であり
(ここでの『意味』はメタレベルの意味以外の意味)
\begin{array}{ccc} 規則上は大丈夫な記号操作 &\to& 証明計算 \end{array}
この「定義に従う」という形で
『証明の計算』は定義されています。
使われる記号への要請的定義
これについては
\begin{array}{ccc} Γ &\Longleftrightarrow& 前提 \\ \\ φ &\Longleftrightarrow& 結論 \\ \\ Γ\vdash φ &\Longleftrightarrow& Γからφが導かれる \end{array}
この感覚的な定義から
( ↑ の時点では真偽が重要だが ↓ からは問われない)
\begin{array}{ccc} Γ &\Longleftrightarrow& 論理式の有限列か論理式が要素の有限集合 \\ \\ φ &\Longleftrightarrow& 1つの論理式 \\ \\ \vdash &\Longleftrightarrow& チェックの手順で置かれる記号 \end{array}
このような形で厳密に定義されています。
(これでもまだ『証明自体の振る舞い』は曖昧)
推件式かどうかのチェックの流れ
補足しておくと
\begin{array}{ccl} チェック対象 &\to& 導かれるや証明できるなどを記号⊢に変換 \\ \\ &\to& 自然言語表現を論理式に翻訳 \\ \\ &\to& 自然言語が残っているか \\ \\&\to& 無いならチェック対象は加工済み \end{array}
まず「論理式への変換」はこんな感じ。
(これを通過できないものはそもそも数学では扱えない)
\begin{array}{ccc} チェック対象 &\to& 加工済みチェック対象 &\to& 推件式? \end{array}
その上で定義される
「推件式であるか」のチェック方法は
\begin{array}{lcl} 加工済みチェック対象 &\to& 推件式の概形 Γ\vdash φ を目指す \\ \\ &\to& とりあえず記号 \vdash を置く \\ \\ &\to& φに該当する記号を\vdash の右側に置く \\ \\ &\to& Γに該当する記号を\vdash の左側に置く \\ \\ &\to& Γ \vdash φ に含まれない記号があるか \\ \\ &\to& 無いなら推件式である \end{array}
こんな感じになります。
(これによりチェックの精度が向上した)
それが証明であるのなら
以上でほとんど定義できた気もしますが
実際は「推件式ならできるはずのこと」
推件式全体への意味的な要請的定義
シークエント計算 Sequent Calculus
|| シークエントを元にした計算のこと
「推件式の定義」と「規則」による『記号操作』
\begin{array}{lcl} Γ_1&⊢&Δ_1 \\ \\ Γ_2&⊢&Δ_2 \\ \\ &↓& \\ \\ Γ_1 ,Γ_2&⊢&Δ_1, Δ_2 \end{array}
命題論理と推件式 (シークエント)
シークエントの「前件」と「後件」は、
その性質上、以下のように分割することが可能です。
\begin{array}{llllllllll} \displaystyle Γ&=&ω_1∧ω_2∧…∧ω_n \\ \\ \Psi&=&ψ_1∨ψ_2∨...∨ψ_n \end{array}
シークエントは記号だと↓のように解釈できるので。
\begin{array}{llllllll} ω_1∧ω_2∧…∧ω_n&&→&&ψ_1∨ψ_2∨…∨ψ_n \end{array}
これは適当に和訳すると直観的に分かると思います。
(あれで)かつ(あれ)なら (ああなる)もしくは(そうなる)
(あれ)で(これ) なら (ああなる)または(こうなる)
(あー)で(こー) なら (あー)か(そー)
論理式の列
念のため補足しておくと、
「前件」「後件」は、厳密には「論理式の列」ですから、
『使わない論理式』が入っている可能性はあります。
\begin{array}{llllllll} ω_1∧ω_2∧…∧ω_n&&→&&ψ_1∨ψ_2∨…∨ψ_n \end{array}
そのため、この解釈では「全ての論理式が真である」
ということが求められているわけですが、
必ずしもそうとは限らないので、
実際には、使わない論理式は使わなくても良いです。
↑の解釈はあくまで
『必要で正しい論理式だけを集めた場合』の話なので、
それとごっちゃにならないよう気を付けてください。
構造規則 Structure Rules
|| 証明でやって良いこと
「証明の構造上存在する規則」のこと。
\begin{array}{lllll} \displaystyle Γ,ω_A,ω_B,Δ⊢\Psi &&→&& Γ,ω_B,ω_A,Δ⊢ \Psi \\ \\ Γ,ω_A,ω_A,Δ⊢\Psi&&→&&Γ,ω_A,Δ⊢\Psi \\ \\ Γ,ω_A,Δ⊢\Psi&&→&&Γ,ω_A,ω_B,Δ⊢\Psi \end{array}
「論理積・論理和」の性質から
『交換』『追加』『重複を一つに』することができるので、
これらの性質は必然的に導かれることになります。
転置規則 Permutation,Exchange
『 ω_A∧ω_B=ω_B∧ω_A (交換法則)』から
\begin{array}{lllllll} \displaystyle Γ, ω_A,ω_B,Δ⊢\Psi &&→&& Γ,ω_B,ω_A,Δ⊢ \Psi \\ \\ \end{array}
縮約規則 Contraction
『 ω_A∧ω_A=ω_A (冪等性)』から
\begin{array}{llllllll} \displaystyle Γ,ω_A,ω_A,Δ⊢\Psi&&→&&Γ,ω_A,Δ⊢\Psi \end{array}
弱化規則 Weakening
シークエントの「解釈」から、
\begin{array}{llllllll} \displaystyle Γ,ω_A,Δ⊢\Psi&&→&&Γ,ω_A,ω_B,Δ⊢\Psi \end{array}
これは「無関係な文(論理式)」を入れたとしても、
必要な「前提・結論」が欠けてないなら正しい、という感じ。
「 A でありかつ B であるなら~となる」
「 A でありかつ B であり、 C である(無関係)なら~となる」
見ての通り、
いらない文(正しい)が入ったとしても
それで「文の正しさ」は変わりません。
「結論を導くのに必要な条件」は全てそのままなので、
「必要最低限の条件」から「より狭い条件」になっただけ。
なので、この操作は可能となります。
より厳密には『不必要な文は使わない』
ということも許されるので、
不要な文を挟むことで全体に影響が及ぶことはない。
だから許される って感じでしょうか。
そしてこれは「後件」の側でも同様。
「いずれかの結論が導かれる」というのが解釈になるので、
「導かれる結論」が一つでも入ってればOKになります。
シークエント計算と構造規則
シークエント計算の書き方なんですが、
\begin{array}{llllll} \displaystyle \displaystyle \frac{ω_A,ω_B⊢\Psi}{ω_B,ω_A⊢\Psi} \end{array}
これは「 ↑ のから ↓ が導ける」
ということを意味する記号で、
以下で紹介する「構造規則」を含め
『形式的証明』はこのように表現されることがあります。
転置規則 PL, PR (Permutation Left, Right)
\begin{array}{llllll} \displaystyle \frac{Γ,ω_A,ω_B,Δ⊢\Psi}{Γ,ω_B,ω_A,Δ⊢\Psi} && \displaystyle\frac{Γ⊢\Phi,ψ_A,ψ_B,Π}{Γ⊢\Phi,ψ_B,ψ_A,Π} \end{array}
縮約規則 CL, CR (Contraction Left, Right)
\begin{array}{llllll} \displaystyle\frac{Γ,ω_A,ω_A,Δ⊢\Psi}{Γ,ω_A,Δ⊢\Psi}&&\displaystyle\frac{Γ⊢\Phi,ψ_A,ψ_A,Π}{Γ⊢\Phi,ψ_A,Π} \end{array}
弱化規則 WL, WR (Weakening Left, Right)
\begin{array}{llllll} \displaystyle\frac{Γ,ω_A,Δ⊢\Psi}{Γ,ω_A,ω_B,Δ⊢\Psi} && \displaystyle\frac{Γ⊢Φ,ψ_A,Π}{Γ⊢Φ,ψ_A,ψ_B,Π} \end{array}
以上
「シークエント計算」の基本はこんな感じですね。
