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

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

1
SATを使用して、量指定子除去の正確性を検証する
ましょうx=(x1,…,xn)x=(x1,…,xn)x=(x_1,\dots,x_n)とあることのブール変数の-vectors。私はブール述語をに持っています。友達にプリシラを渡します。それに応答して、彼女は私に与え、上のブール述語、と彼女は主張しますy=(y1,…,yn)y=(y1,…,yn)y=(y_1,\dots,y_n)nnnQ(x,y)Q(x,y)Q(x,y)x,yx,yx,yQ(x,y)Q(x,y)Q(x,y)P(x)P(x)P(x)xxx P(x)≡∃y.Q(x,y),P(x)≡∃y.Q(x,y),P(x) \equiv \exists y . Q(x,y), 言い換えれば、 ∀x.[P(x)⇔∃y.Q(x,y)].∀x.[P(x)⇔∃y.Q(x,y)].\forall x . [P(x) \Leftrightarrow \exists y . Q(x,y)]. なんとか彼女の主張を検証したい。プリシラはこの主張を確認するのにどのように役立ちますか? と両方がCNF式として表され、それらが大きすぎない(多項式サイズなど)と想定できます。PPPQQQ 理想的な世界では、この主張をSATに検証する問題を軽減できればすばらしいでしょう。SATソルバーがあり、SATソルバーを使用してこの主張を検証できればすばらしいと思います。ただし、この主張をSATインスタンスとして直接検証するという問題を定式化することは不可能だと確信しています。2QBF式の有効性をテストすることは、 SATよりもほぼ確実に困難です。(方向はSATインスタンスとして簡単に定式化できますが、方向は2つの交互の量指定子が本質的に含まれるため困難です。)⇐⇐\Leftarrow⇒⇒\Rightarrow しかし、プリシラが彼女の主張を裏付けるいくつかの追加の証拠を私に与えることができると仮定します。プリシラが私に与えることができる追加の証拠または証人はありますか?それにより、彼女の主張を簡単に確認できますか?特に、彼女が私に与えることができる追加の証拠または証人はありますか?これにより、彼女の主張をSATのインスタンスとして検証する問題を簡単に定式化できます(次に、SATソルバーを適用できます)? 私の設定の珍しい側面の1つは、SATのオラクルがあると(ヒューリスティックに)想定していることです。複雑さの理論が好きなら、このように考えることができます。私は、(つまり、)で計算できるマシンの役割を担っており、プリシラのアルゴリズムを使用して要求します。このような考え方について、mdxに感謝します。PNPPNPP^{NP}ΔP2Δ2P\Delta^P_2PNPPNPP^{NP} 私の動機/アプリケーション:システムの正式な検証(たとえば、シンボリックモデルのチェック)を行うつもりであり、推論の重要なステップには、数量詞の削除(つまり、から開始して取得する)が含まれます。量指定子の削除が正しく行われたことを確認するためのクリーンな方法を期待しています。QQQPPP 考えられるすべてので機能する解決策がない場合は、「健全だが完全ではない」解決策を提案してください。つまり、多くの、主張された同等性を検証できます。(主張を満たす主張の検証に失敗した場合でも、誤った主張を検証したと不適切に主張しない限り、ヒューリスティックとしてこれを試すことができます。特定の、機能する場合と機能しない場合があります。機能しない場合でも、始めたときより悪くはありません)。P 、Q P 、QP,QP,QP,QP,QP,QP,QP,QP,QP,QP,QP,QP,Q

1
ヒルベルトの10番目の問題に関する質問
および 与えられると 、公式演算の言語で次の式を定義できます P 、Q ∈ N [ X 1、... 、xはN ]N ∈ Nn∈Nn \in \mathbb{N}p 、q∈ N [ X1、… 、xん]p,q∈N[x1,…,xn]p,q \in \mathbb{N}[x_1,\ldots,x_n] φ (n 、p 、q)= ∀ X1⋯ ∀ Xん:¬ (p (x1、… 、xん)= q(x1、… 、xん))φ(n,p,q)=∀x1⋯∀xn:¬(p(x1,…,xn)=q(x1,…,xn))\varphi(n,p,q) = \forall x_1 \cdots \forall x_n : \neg (p(x_1,\ldots,x_n) = q(x_1,\ldots,x_n)) もも形式的な演算の定理ではないような無限に多くのトリプルがあることを示したいと思います。φ (N 、P …

1
-SATから -SATに変換することで、句の数をどれだけ減らすことができますか?
kkk -SATのインスタンスから始めて、問題を(k+m)(k+m)(k+m) -SATのインスタンスに変換しようとすると、句ごとに(k+m)(k+m)(k+m)リテラルがあるため、条項の総量は? 投稿後、条項の数を減らすことは保証できないことを知りました。ただし、nnn句がある場合、「縮小」手法によってn/k+O(1)n/k+O(1)n/k + O(1)句のようなものを取得できるでしょうか。 もしそうなら、節の総数をどれだけ減らすことができることをどれだけ保証できますか?たとえば、n_k句を指定してkkk -SATで開始する場合、この句を(k + m) -SATに変換すると、新しい句の新しい量であるn_ {k + m}が保証されます。nknkn_knk+mnk+mn_{k+m}(k+m)(k+m)(k+m) さらに重要なのは、この変換をどのように実行するかです。

2
暫定的な充足可能性アルゴリズム
一般的な充足可能性(ホーン句などのいくつかの例外を除く)には、アルゴリズムによる解決策があるとは考えられていません。ただし、次のアルゴリズムは一般的な充足可能性の解決策のようです。次のアルゴリズムの欠陥は何ですか? してみましょう必ずしも真または偽でなければならないすべての変数が含まれています空のセットも。WWW してみましょう節の集合とします。LLL ループします。LLL 非条件変数†が見つかるたびに、それをから削除して挿入し。WLLLWWW この葉空の含意場合‡からその空の意味合いですべての変数を削除と挿入。WLLLWWW この葉空または暗示する場合‡、含意がある場合意味合い(つまり、1つの変数を持つところ、各インスタンスのお得な情報、アルゴリズムの新しいインスタンスを作成します。、1つのインスタンス作成挿入され、1をここで、は挿入され、とは挿入され。x W y Wx V⟹yxV⟹yx V \implies yバツxxWWWyyyWWWy WバツxxyyyWWW すべての変数を、必要な値に設定します。WWW 変数再度挿入中でその変更した値で、すべての句が満たされているかどうかを確認。LWWWLLL 充足可能性が満たされている場合はを返し、それ以外の場合は「満たされていない」を返します。LLL †非条件変数は、真または偽である必要がある変数として定義されます。たとえば、またはです。⟹バツ⟹x\implies x⟹¬ Y⟹¬y\implies \neg y ‡空の含意は、片側が空である含意(例:)または反対側が必然的に真である(例:)として定義されます。T R U E ∨ A⟹X ∧ Y⟹x∧y\implies x \wedge yT R U E ∨A⟹btrue∨a⟹b\mathrm{true} \vee a \implies b アルゴリズムをより直感的に理解するために、以下の一連の節検討してください。LLL ∧ Bff∨ A⟹c⟹f∧ グラム⟹¬ A⟹b⟹c(私)(ii)(iii)(iv)(v)a∧b⟹c(i)⟹f∧g(ii)f⟹¬a(iii)f∨a⟹b(iv)⟹c(v)\begin{align} a \wedge …

3
特定の計算可能な関数を型付きの用語で表すことができない理由に関する簡単な説明?
「Lambda Calculusの紹介」という論文を読んで、34ページ(私の斜体)で、あまり理解していない段落に出くわしました。 2つのパラダイムのそれぞれの中に、型付きラムダ計算のいくつかのバージョンがあります。多くの重要なシステム、特に教会のシステムでは、タイプを持つ用語が常に正規形を持っている場合がそうです。停止の問題が解決できないことから、これはすべての計算可能な関数が型付きの用語で表現できるわけではないことを意味します。Barendregt(1990)、定理4.2.15を参照してください。表現できない計算可能な関数を見つけるためには、頭の上に立つ必要があるため、これは見かけほど悪くはありません。たとえば、2では、2次の型付きラムダ計算では、たまたま合計である部分的な再帰関数しか表現できませんが、数学的分析(2次の算術)ではそうではありません。 私はこれらの概念のほとんどに精通していますが、部分的な再帰関数の概念や、証明可能な完全な関数の概念には精通していません。しかし、これは私が学習に興味があるものではありません。 特定の計算可能な関数を型付きの用語で表すことができない理由、およびそのような関数が「頭の上に立って」しか見つからない理由についての簡単な説明を探しています。

1
ラムダ計算の評価
私はこれが簡単な質問であることを知っていますが、誰かが私にその方法を示すことができます (λ Y。λ X 。λ yの。y)(λ X 。λ Y。y)(λy。λバツ。λy。y)(λバツ。λy。y)(\lambda y. \lambda x. \lambda y.y) (\lambda x. \lambda y. y) に減少する λ X 。λ yの。yλバツ。λy。y\lambda x. \lambda y. y。

2
ラムダ計算の単純化
以下は、削減するのが難しいと感じているラムダ式です。つまり、この問題の対処方法を理解できません。 (λ M 、N 。(λ S Z。m s (n s z)))(λ S Z。s z)(λ S Z。s z)(λメートルん。(λsz。メートルs(んsz)))(λsz。sz)(λsz。sz)(\lambda mn.(\lambda sz.ms(nsz)))(\lambda sz.sz)(\lambda sz.sz) 私はこれで迷っています。 誰かが私を正しい方向に導くことができればそれはとても感謝されます

4
2つのCTL数式が等しいかどうかを手動で決定するにはどうすればよいですか?
CTLに 2つの式と(同じ一連の原子命題)があると仮定します。上のすべての移行システムについて、 iffがあります。ΦΦ\PhiΨΨ\PsiAPAPAPΦ≡ΨΦ≡Ψ\Phi \equiv \PsiSatTS(Φ)=SatTS(Ψ)SatTS(Φ)=SatTS(Ψ)Sat_{TS}(\Phi) = Sat_{TS}(\Psi)TSTSTSAPAPAP 移行システムは無限にあるので、それらすべてをチェックすることは不可能です。PNF(正の正規形、リテラルの隣でのみ否定を許可)を使用することを考えました。これは、名前から判断すると、と同じ式がと同じになるはずですが、同等であるとは確信していません。すべての場合(PNFが実際には正常な形式であるとは確信していません)。ΦΦ\PhiΨΨ\Psi たとえば、(は演算子であり、が演算子です)。これを手動で行う方法を探しています。∀O∀◊Φ0≡?∀◊∀OΦ0∀O∀◊Φ0≡?∀◊∀OΦ0\forall \mathrm{O} \forall \lozenge \Phi_0 \stackrel{?}{\equiv} \forall \lozenge \forall \mathrm{O} \Phi_0OO\mathrm{O}next◊◊\lozengeeventually

1
スコープ外の変数で存在変数をインスタンス化することは何を意味しますか?
補題の未完成の証明を以下に示します。 Goal forall (P : Type -> Prop) (Q : Prop), ((forall x, (P x)) -> Q) -> (exists x, P x -> Q). Proof. intros. eapply ex_intro. intros. apply H. intros. eapply H0. 問題は最後のeapply失敗であり、メッセージが表示されます Error: In environment P : Type -> Prop Q : Prop H : (forall x …
7 logic  coq 

1
バインディングを持つ言語で用語のアルファ同等性を決定するためのアルゴリズム
次のような変数バインディングを使用する言語のアルファ同値関係に興味があります。 t := x:y 'x belong to y' | bot 'False' | t -> t 'implication' | Ax.t 'forall x, t' または純粋なラムダ計算: t := x 'variable' | (t t) 'application ' | Lx.t 'abstraction: \x -> t' 言語の2つの用語がアルファ相当であるかどうかを判断できるアルゴリズムを探しています。公開されたリファレンスも大歓迎です。私は、Haskellのように、標準的な再帰型として用語のデータ表現を想定しています。 newtype Var = Var Int data Term = Belong Var Var | …


1
述語論理の有効性決定可能性問題へのPCPの削減の証明の要素を解釈する目的は何ですか?
私の質問は、2004年の本、Logic in Computer Science:Modeling and Reasoning Systems(2nd Edition)のテキストの一部に直接関連しているため、次のディスカッションのコンテキストを提供するために、Michael HuthとMark Ryanによる本を逐語的に引用する: 述語論理における妥当性の決定問題は決定不可能です。が与えられた場合、かどうかを決定するプログラムは存在しません。φφ\varphiφφ\varphi 証明:前述のように、述語論理の有効性は決定可能であり、それによって(不溶性の)Post対応問題を解決します。対応問題のインスタンス与えられた場合: 有限の空間と時間内で均一に構築できる必要があるため、すべてのインスタンスに対して、のような述語論理のいくつかの公式上記の対応問題インスタンス解がある場合に限ります。CCCs1s2。。。sks1s2...sks_1 s_2 ... s_k t1t2。。。tkt1t2...tkt_1 t_2 ... t_kφφ\varphiφφ\varphiCCC 関数シンボルとして、定数と2つの関数シンボルおよびを選択します。それぞれに1つの引数が必要です。私たちが考える空の文字列、またはワードとして、そしてとあれば、それぞれ1、象徴0との連結のためのスタンドビットのバイナリ文字列である、我々は長期的なように、そのアップをコーディングでき。このコーディングはその単語のスペルを逆にすることに注意してください。これらの数式を読みやすくするために、ような用語を。eeef0f0f_0f1f1f_1eeef0f0f_0f1f1f_1b1b2。。。blb1b2...blb_1 b_2 ... b_lfbl(fbl−1。。。(fb2(fb1(e)))。。。)fbl(fbl−1...(fb2(fb1(e)))...)f_{b_l}(f_{b_{l−1}}...(f_{b_2}(f_{b_1}(e)))...)fbl(fbl−1。。。(fb2(fb1(t)))。。。)fbl(fbl−1...(fb2(fb1(t)))...)f_{b_l}(f_{b_{l−1}}...(f_{b_2}(f_{b_1}(t)))...)fb1b2。。。bl(t)fb1b2...bl(t)f_{{b_1}{b_2}...{b_l}}(t) また、2つの引数を期待する述語記号も必要です。意図した意味は、が表す用語であるようなインデックスシーケンスがあることですおよびは。したがって、はと同じインデックスのシーケンスを使用して文字列を作成します。だけが使用するのに対し、は使用し。PPPP(s、t)P(s,t)P(s,t)(私1、私2、。。。、私メートル)(i1,i2,...,im)(i_1,i_2,...,i_m)ssss私1s私2。。。s私メートルsi1si2...sims_{i_1} s_{i_2}...s_{i_m}tttt私1t私2。。。t私メートルti1ti2...timt_{i_1} t_{i_2}...t_{i_m}ssstttssss私sis_itttt私tit_i 私たちの文は粗い構造 where where setφφ\varphiφ1∧φ2⟹φ3φ1∧φ2⟹φ3\varphi_1 \wedge \varphi_2 \implies \varphi_3 φ1def=k⋀私=1P(fs私(e)、ft私(e))φ1=def⋀i=1kP(fsi(e),fti(e))\varphi_1 \stackrel{def}{=} \bigwedge\limits_{i=1}^k P\left(f_{s_i}(e),f_{t_i}(e)\right) φ2def=∀v、wP(v、w)→k⋀私=1P(fs私(v)、ft私(w))φ2=de f∀ V 、WP(v 、w )→⋀i = 1kP(fs私(v )、ft私(w ))\varphi_2 \stackrel{def}{=} …

2
意味保存の健全性(または正確性)または完全性
用語をある言語から別の言語に変換する場合、直感的に望ましいプロパティは、セマンティクスの保持です(たとえば、ここではCPS変換に使用されます)。 s⇓v⟹c(s)⇓c(v)s⇓v⟹c(s)⇓c(v) s \Downarrow v \implies c(s) \Downarrow c(v) しかし、これを古典的な用語の正しさ(または健全性)と論理システムの完全性と一致させることで、少し問題があります。通常、私は上記のステートメントをの完全性プロパティと見なし(正しさの定義を逆にします)。ccc ただし、直感的には、コンパイラーは完全ではなく正しいはずです(たとえば、型チェックは正しいプログラムを除外することが多いため)。上記の文の逆は、が単射である場合にのみ当てはまります。たとえば、ソース言語にブールとその演算が含まれていて、コンパイルでChurch-encodingを使用して置き換えられた場合、ターゲット言語はブールリテラルからコンパイルされた用語のブール演算を評価できます。ソース言語が評価できないラムダ抽象化。ccc 上記のステートメントがの完全性プロパティであると仮定するのは正しいのでしょうか?ccc 私はまた、非単射コンパイラは通常正しくないという私の結論で正しいのでしょうか?

1
Entscheidungsproblemに対するTuringの回答の理解
この質問が以前に尋ねられたことをお詫びしますが、重複を見つけることができませんでした。 The Annotated Turingを読み終えたばかりで、少し混乱しています。 私の理解から、Entscheidungsproblemは、ステートメントが証明可能かどうかを判断できるアルゴリズムが存在するかどうかです。この論文では、チューリングは証明可能なすべての公式を証明するKマシンを定義しています。これはほとんど問題の解決策のようですが、後でチューリングは書いています: ゲーデルが示したことの否定が証明された場合、つまり、各Aについて、Aまたは-Aのいずれかが証明可能な場合、我々はEntscheidungsproblemの即時解を持つ必要があります。証明可能なすべての公式を連続して証明するマシンKを発明できるからです。遅かれ早かれ、KはAまたは-Aに到達します。Aに達した場合、Aが証明可能であることがわかります。-Aに達した場合、 Kは一貫しているため(ヒルベルトとアッカーマン、p.65)、Aは証明できないことがわかります。 ゲーデルの定理は、一部のステートメントは真実であるが証明できないことを示しました。私が理解していないことは、ゲーデルの結果がチューリングのKマシンがEntscheidungsproblemのソリューションになるのをどのように妨げているかだと思います。それは、Kマシンが決して遭遇しないいくつかの式があるのと同じくらい簡単ですか?それで、それは永遠に実行し続け、その式が証明不可能であると決して結論付けません。

3
このSATのAND圧縮に関する論文と矛盾しているように見える何が問題になっていますか?
もっともらしい推測を前提とする論文と矛盾しているように見える単純な構造を得た。 予想が誤りである可能性は低いので、議論の何が問題になっていますか? 紙から AND圧縮は、SATインスタンスのセットをマップする確定的多項式時間アルゴリズムです。 x1,…,xtx1,…,xtx_1,\dots,x_t 単一のSATインスタンスに yyy サイズの poly(maxi|xi|)poly(maxi|xi|)\text{poly}(\max_i |x_i|) such that yyy is satisfiable if and only if all xixix_i are satisfiable. ... Unless the unlikely complexity-theoretic collapse coNP⊆NP/polycoNP⊆NP/poly\sf coNP \subseteq NP/poly occurs, there is no AND-compression for SAT. Construction: If xixix_i are not in CNF, convert them to …

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