タグ付けされた質問 「logic」

数学的論理とコンピューターサイエンスでのその使用に関する質問


3
主要なプロセス代数の類似点と相違点
私の知る限り、3つの主要なプロセス代数があり、並行性の正式なモデルに関する広範な研究に影響を与えています。これらは: CCSと -calculusはともにRobin Milnerによるππ\pi Tony HoareによるCSPおよび Jan BergstraとJan Willem KlopによるACP 3つすべては、今日まで非常に活発な支持者を抱えているようで、膨大な量の研究が行われています。 これらのアプローチの主な類似点と相違点は何ですか?分野を統一する普遍的なモデルはないという意味で、プロセス代数の研究が収束するのではなく分岐するのはなぜですか?

2
ベータ等価とは何ですか?
この質問は、コンピューターサイエンススタック交換で回答できるため、理論的なコンピューターサイエンススタック交換から移行されました。 7年前に移行され ました。 私が現在ラムダ計算で読んでいるスクリプトでは、ベータ等価は次のように定義されています。 -equivalence含まれている最小の等価である。≡ β → βββ\beta≡β≡β\equiv_\beta→β→β\rightarrow_\beta それが何を意味するのか分かりません。誰かがそれをより簡単な言葉で説明できますか?たぶん例を挙げて? チャーチ・ラッサーの定理から続く補題のためにそれが必要です M Nの場合、M LおよびN \ twoheadrightarrow_ \ beta LのLがあります。≡β≡β\equiv_\beta↠β↠β\twoheadrightarrow_\beta↠β↠β\twoheadrightarrow_\beta

2
入れ子になったコンポーネントを持つ帰納的なタイプの再帰的な定義
入れ子になっているが厳密に正の場所で再帰的に発生する誘導型を考えてください。たとえば、一般的なリストデータ構造を使用して子を格納するノードを使用した有限分岐を持つツリー。 Inductive LTree : Set := Node : list LTree -> LTree. これらのツリーとツリーのリストを再帰的に再帰的に定義する単純な方法は機能しません。以下sizeは、ノードの数を計算する関数の例です。 Fixpoint size (t : LTree) : nat := match t with Node l => 1 + (size_l l) end with size_l (l : list LTree) : nat := match l with | nil => 0 | cons …

1
自動定理証明の種類
私は自動定理証明 / SMTソルバー / 証明アシスタントを自分で学んでおり、ここからプロセスに関する一連の質問を投稿しています。 関連する自動定理証明者はどれですか?定理証明のレビューを見つけました これはまだ最新ですか? どれがまだ非常にアクティブであるか、つまり、それを作成したグループ以外で現在使用されているのはどれですか? ここでシリーズの次の質問を見つけます。

2
ユニバーサルタイプは、実存タイプのサブタイプ、または特別な場合ですか?
この質問は、Computer Science Stack Exchangeで回答できるため、Software Engineering Stack Exchangeから移行されました。 7年前に移行され ました。 Iは、普遍的に定量タイプかどうかを知りたい:T = ∀ X :{ ∈ X 、F :X → { T 、Fは} }、存在、定量化を、サブタイプ、又は特別なケースでありますタイプTのEを同じ署名で:TのE = ∃ X :{ ∈ X 、F :X → { T 、F } }TaTaT_aTa=∀X:{a∈X,f:X→{T,F}}Ta=∀X:{a∈X,f:X→{T,F}}T_a = \forall X: \left\{ a\in X,f:X→\{T, F\} \right\}TeTeT_eTe=∃X:{a∈X,f:X→{T,F}}Te=∃X:{a∈X,f:X→{T,F}}T_e = \exists X: \left\{ a\in …

4
排除された中間の法則がなくても、矛盾による証明は機能しますか?
私は最近、矛盾による証明の有効性について考えていました。直観主義の論理とゲーデルの定理に関する過去数日間の記事を読んで、質問に対する答えが得られるかどうかを確認しました。今はまだ質問が残っており(おそらく私が読んだ新しい資料に関連する)、いくつかの答えが得られることを望んでいた (警告:あなたは論理の非常に混乱した基盤でコンテンツを読みに行こうとしている、すべてを一粒の塩で取り、それは答えではなく質問であると仮定し、それに多くの誤解があります)。 私の主な質問は、Aが何らかの矛盾につながることを示したら、Aが偽であってはならないことを示したら、Aが真でなければならないと結論付けることだと思います。その部分は理にかなっています(特に、除外された中間の法則を理にかなっているものとして受け入れる場合)が、気になるのは、矛盾による証明が実際にどのように発生するかです。まずAではなくAから始めて、公理と推論の規則を(機械的に言うと)適用し、それが私たちをどこに導くかを見てみましょう。通常、矛盾に達します(たとえば、Aがtrueまたはおよびがtrue)。私たちは、Aが偽であってはならないと結論付け、Aは真です。それはいいです。しかし、私の質問は、正式なシステムにはどのような保証がありますか¬φ¬φ\neg \varphiϕϕ\phi同じプロセスを適用したが、Aで開始した場合、矛盾も生じないでしょうか?Aの同じプロセスが同様に行われた場合、矛盾に到達しないという矛盾によって、いくつかの隠れた仮定が行われていると思います。不可能な証拠はありますか?言い換えれば、ターニングマシン(TM)(またはスーパーTM)が永遠に続き、おそらく公理からのすべての論理的ステップを、本当のステートメントAから始めて試行した場合AAA、矛盾を見つけるために停止しないことが保証されます? その後、私は過去の質問と、ゲーデルの次のような不完全性定理との関係を作りました。 算術を表現する形式システムFは、(F内で)独自の一貫性を証明できません。 これは基本的に、それが本当なら一貫性、つまりAではなくAが起こらないことを保証することは不可能であることを私に明確にした。したがって、矛盾による証明は、一貫性が何らかの形で保証されていると暗黙的に仮定するだけであるように思われました(そうでなければ、なぜその一貫性をまだ知らなかった場合、Aが可能でないことを証明することによってAが真であると結論付けますか?そして、A)ではなくA)のステートメントのペアについては、矛盾はありませんか?これは間違っていますか、何か見落としましたか? 次に、除外された中間のルールを公理に含めるだけで、すべての問題が解決されると考えました。しかし、気が付いたのは、それをやるのであれば、それを処理するのではなく、単に問題を定義するだけだということです。定義によってシステムの整合性を強要しただけでは、必ずしも実際に整合性があるとは限りません...そうでしょうか?私はこれらのアイデアを理解しようとしているだけで、何をすべきかはよくわかりませんが、これらの概念、矛盾、排他的ミドルのほぼすべての側面で何かを読んでビデオを見た後、これが実現しています直観主義論理、ゲーデルの完全性および不完全性定理… これに関連して、除外された中間(または矛盾)のルールなしに何かが偽であることを実際に直接証明することは本質的に不可能であると思われます。証明システムは真の陳述を証明するのに優れているようですが、私の理解では、物事が偽であることを直接示すことはできません。おそらく、彼らがそれを行う方法は、矛盾(間接的に何かが間違っているか悪いことが起こるはずだと示す)、または除外された中間(一方のAのみの真理値を知っているかAが他の真実を私たちに与える場合)または反例を提供します(基本的に反対のことが当てはまるので、除外された中間の法則を間接的に使用します)。何かが間違っているという建設的な証拠が本当に欲しいのでしょうか? Aが偽ではないことを証明すれば(矛盾を受け入れると)本当に大丈夫であり、Aにすべての推論規則と公理を無限に適用する必要はなく、Aが勝ったことが保証されていることを知っていると思います矛盾に到達しないでください。それが本当なら、矛盾による証明をもっと簡単に受け入れることができると思います。これは本当ですか、またはゲーデルの2番目の不完全性は、私がこれを所有できないことを保証しますか?私がこれを持てなければ、私が困惑するのは、長年の数学者が私たちが矛盾を発見していない数学をすることで、それがどのように可能かということです。一貫性の経験的証拠に頼る必要がありますか?または、たとえば、FがFであると証明することでF教授は一貫していますが、実際にはSuperFとFだけは必要ないので、本当に機能するコンテンツにはなれませんか? 私は自分の苦情が直接的な証拠にも一般化されていることに気づきました。わかりましたので、Aの直接証明を行った場合、Aが真であることがわかります...しかし、A以外の直接証明を行った場合、正しい証明も得られないことをどのように確認できますか?同じ質問を強調しているように見えます。

3
ド・モーガンの法則を説明し理解する直観的な方法は何ですか?
De Morganの法則は、コンピューターサイエンスコースの入門数学でしばしば導入されます。用語を否定することで、ステートメントをANDからORに変換する方法としてよく見ます。 真理値表を覚えているだけでなく、これが機能する理由について、より直感的な説明はありますか?私にとってこれは黒魔術を使うようなもので、数学的にあまり傾いていない人にとって意味があるようにこれを説明するより良い方法は何ですか?

3
タイピングルールの読み方
私は言語研究論文をどんどん読み始めました。私はそれが非常に興味深く、プログラミング全般についてもっと学ぶ良い方法だと思います。しかし、コンピューターサイエンスの理論的背景に欠けているため、通常は常に苦労するセクションがあります(たとえば、このパート3を取り上げます):タイプルール。 この分野で始めるのに役立つ良い本やオンラインリソースはありますか?ウィキペディアは信じられないほど曖昧であり、初心者を本当に助けません。

4
Prologで制約充足の問題を解決できますか?
である「パーティー出席」プロローグで解ける問題のタイプ?例えば: ゴボウマルドーンとカルロッタピンクストーンは、アルバスダンブルドアが来たら来ると言いました。アルバス・ダンブルドアとデイジー・ドッデリッジは両方とも、カルロッタ・ピンクストーンが来たら来たと言った。アルバス・ダンブルドア、ゴボウ・マルドーン、カルロッタ・ピンクストーンは全員、エルフリダ・クラッグが来れば来ると言った。Carlotta PinkstoneとDaisy Dodderidgeは、どちらもFalco Aesalonが来たら来ると言っていました。ゴボウ・マルドーン、エルフリダ・クラッグ、ファルコ・アエサロンは、カルロッタ・ピンクストーンとデイジー・ドッデリッジの両方が来たら来ると言った。デイジー・ドッデリッジは、アルバス・ダンブルドアとゴボウ・マルドゥーンの両方が来たら彼女が来ると言った。すべての招待者が出席することを保証するために、誰がパーティーに出席するよう説得する必要がありますか? 私はこれをGNU Prologで表現しようとしました: attend(BM) :- attend(AD). attend(CP) :- attend(AD). attend(AD) :- attend(CP). attend(DD) :- attend(CP). attend(AD) :- attend(EC). attend(BM) :- attend(EC). attend(CP) :- attend(EC). attend(CP) :- attend(FA). attend(DD) :- attend(FA). attend(BM) :- attend(CP),attend(DD). attend(EC) :- attend(CP),attend(DD). attend(FA) :- attend(CP),attend(DD). attend(DD) :- attend(AD),attend(BM). attend(FA). /* try different …

4
仕様からコンピュータプログラムを書くシステムを実際に作成した人はいますか?
コンピュータプログラムを生成するシステム(ソフトウェアまたは簡単な例を含む紙の詳細な説明)を実際に書いた人はいますか?I入力、それがリスト素数10未満ことプログラム作成 のP rがiは、mは、E (Xの)単にように定義される 1 &lt; X ∧ ∄ APrime(x)∧x&lt;10Prime(x)∧x&lt;10Prime(x) \wedge x<10Prime(x)Prime(x)Prime(x) 教授は、彼らができると言う誰も実際の完全な例を与えません。1&lt;x∧∄As.t.1&lt;A∧A&lt;x∧x=A×B, with A,B∈N1&lt;x∧∄As.t.1&lt;A∧A&lt;x∧x=A×B, with A,B∈N1<x \wedge \not\exists A\; s.t. 1<A \wedge A<x \wedge x=A\times B,\mbox{ with } A,B\in \mathbb{N}

3
推論エンジンにとって統一がなぜそれほど重要なのですか?
私は自動定理証明 / SMTソルバー / 証明アシスタントを自分で学んでおり、ここからプロセスに関する一連の質問を投稿しています。 私は統一アルゴリズムについて読み続けています。 それは何で、なぜ推論エンジンにとってそれほど重要なのですか? なぜコンピューターサイエンスにとってこれほど重要なのですか?

2
なぜ一部の推論エンジンには人間の支援が必要なのに、他の推論エンジンには必要ないのですか
私は自動定理証明 / SMTソルバー / 証明アシスタントを自分で学んでおり、ここからプロセスに関する一連の質問を投稿しています。 自動化された定理証明者、つまりACL2とSMTソルバーが人間の支援を必要としない一方で、証明アシスタント、つまりイザベルとCoqは必要ないのはなぜですか? ここでシリーズの次の質問を見つけます。

1
書かれたルールのシステムを評価する方法
私は、組織の基本的な論理を決定するために組織の細則を評価するシステムを考え出そうとしていました。 一次述語システムは、ルールを表すために機能すると思います。ルールは、品詞タグ付けやその他のNLPテクニックを使用してテキストから翻訳できます。 全体として一次論理規則を解釈する体系的な方法、または要素間の類似性を見つけるための第2層として機能する何らかのタイプのMLアーキテクチャがありますか。 例えば、 楽しいアクティビティのリスト: ゴルフ コーヒーブレイク ピザ 細則: 金曜日、ゴルフをします 金曜日または土曜日に、私たちは短いコーヒー休憩を取り、それが土曜日の場合、ピザを受け取ります 結論:私たちのグループは週末は楽しい それははるかにフェッチされたように聞こえますが、可能かどうか私は興味があります。また、2次層の結論を導き出すには、おそらく1次論理のほうが適していると思います。

2
Yコンビネータは、カレー-ハワード通信と矛盾しますか?
Yコンビネータのタイプはです。Curry-Howard Correspondenceでは、型(a → a )→ aが存在するため、真の定理に対応しなければなりません。ただし、a → aは常にtrueであるため、Yコンビネータの型は定理aに対応するように見えますが、これは常にtrueとは限りません。どうすればいいの?(a→a)→a(a→a)→a(a \rightarrow a) \rightarrow a(a→a)→a(a→a)→a(a \rightarrow a) \rightarrow aa→aa→aa \rightarrow aaaa

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.