Prove formula using skolemization and resolution












1












$begingroup$


I have the following formula that I am trying to prove is valid:



$$exists x forall y q(x,y) rightarrow forall y exists x q(x,y)$$



By following the Skolemization algorithm in the book "Mathematical Logic for Computer Science" by Mordechai Ben-Ari, I get the following:



$$neg (exists x forall y q(x,y) rightarrow forall y exists x q(x,y)) qquad qquad text{Negated formula}$$
$$neg (exists x forall y q(x,y) rightarrow forall w exists z q(z,w)) qquad qquad text{Rename bound variables}$$
$$neg (neg exists x forall y q(x,y) lor forall w exists z q(z,w)) qquad qquad text{Eliminate boolean operators}$$
$$exists x forall y q(x,y) land exists w forall z neg q(z,w) qquad qquad text{Push negation inwards}$$
$$exists x forall y exists w forall z (q(x,y) land neg q(z,w)) qquad qquad text{Extract quantifiers}$$
$$text{(no change)} qquad qquad text{Distribute matrix}$$
$$forall y forall z (q(a,y) land neg q(z,f(y))) qquad qquad text{Replace existential quantifiers}$$



I'm not sure how to reach the empty clause from here. I'd appreciate a hint.










share|cite|improve this question











$endgroup$

















    1












    $begingroup$


    I have the following formula that I am trying to prove is valid:



    $$exists x forall y q(x,y) rightarrow forall y exists x q(x,y)$$



    By following the Skolemization algorithm in the book "Mathematical Logic for Computer Science" by Mordechai Ben-Ari, I get the following:



    $$neg (exists x forall y q(x,y) rightarrow forall y exists x q(x,y)) qquad qquad text{Negated formula}$$
    $$neg (exists x forall y q(x,y) rightarrow forall w exists z q(z,w)) qquad qquad text{Rename bound variables}$$
    $$neg (neg exists x forall y q(x,y) lor forall w exists z q(z,w)) qquad qquad text{Eliminate boolean operators}$$
    $$exists x forall y q(x,y) land exists w forall z neg q(z,w) qquad qquad text{Push negation inwards}$$
    $$exists x forall y exists w forall z (q(x,y) land neg q(z,w)) qquad qquad text{Extract quantifiers}$$
    $$text{(no change)} qquad qquad text{Distribute matrix}$$
    $$forall y forall z (q(a,y) land neg q(z,f(y))) qquad qquad text{Replace existential quantifiers}$$



    I'm not sure how to reach the empty clause from here. I'd appreciate a hint.










    share|cite|improve this question











    $endgroup$















      1












      1








      1





      $begingroup$


      I have the following formula that I am trying to prove is valid:



      $$exists x forall y q(x,y) rightarrow forall y exists x q(x,y)$$



      By following the Skolemization algorithm in the book "Mathematical Logic for Computer Science" by Mordechai Ben-Ari, I get the following:



      $$neg (exists x forall y q(x,y) rightarrow forall y exists x q(x,y)) qquad qquad text{Negated formula}$$
      $$neg (exists x forall y q(x,y) rightarrow forall w exists z q(z,w)) qquad qquad text{Rename bound variables}$$
      $$neg (neg exists x forall y q(x,y) lor forall w exists z q(z,w)) qquad qquad text{Eliminate boolean operators}$$
      $$exists x forall y q(x,y) land exists w forall z neg q(z,w) qquad qquad text{Push negation inwards}$$
      $$exists x forall y exists w forall z (q(x,y) land neg q(z,w)) qquad qquad text{Extract quantifiers}$$
      $$text{(no change)} qquad qquad text{Distribute matrix}$$
      $$forall y forall z (q(a,y) land neg q(z,f(y))) qquad qquad text{Replace existential quantifiers}$$



      I'm not sure how to reach the empty clause from here. I'd appreciate a hint.










      share|cite|improve this question











      $endgroup$




      I have the following formula that I am trying to prove is valid:



      $$exists x forall y q(x,y) rightarrow forall y exists x q(x,y)$$



      By following the Skolemization algorithm in the book "Mathematical Logic for Computer Science" by Mordechai Ben-Ari, I get the following:



      $$neg (exists x forall y q(x,y) rightarrow forall y exists x q(x,y)) qquad qquad text{Negated formula}$$
      $$neg (exists x forall y q(x,y) rightarrow forall w exists z q(z,w)) qquad qquad text{Rename bound variables}$$
      $$neg (neg exists x forall y q(x,y) lor forall w exists z q(z,w)) qquad qquad text{Eliminate boolean operators}$$
      $$exists x forall y q(x,y) land exists w forall z neg q(z,w) qquad qquad text{Push negation inwards}$$
      $$exists x forall y exists w forall z (q(x,y) land neg q(z,w)) qquad qquad text{Extract quantifiers}$$
      $$text{(no change)} qquad qquad text{Distribute matrix}$$
      $$forall y forall z (q(a,y) land neg q(z,f(y))) qquad qquad text{Replace existential quantifiers}$$



      I'm not sure how to reach the empty clause from here. I'd appreciate a hint.







      first-order-logic quantifiers






      share|cite|improve this question















      share|cite|improve this question













      share|cite|improve this question




      share|cite|improve this question








      edited Dec 4 '18 at 2:32







      Steve

















      asked Dec 4 '18 at 2:26









      SteveSteve

      1027




      1027






















          1 Answer
          1






          active

          oldest

          votes


















          2












          $begingroup$

          When you extract the quantifiers, pull out the $exists w$ before you pull out the $forall y$... that'll eliminate the dependency of $w$ on $y$



          That is, you get:



          $exists x forall y q(x,y) land exists w forall z neg q(z,w) Leftrightarrow$



          $exists x (forall y q(x,y) land exists w forall z neg q(z,w)) Leftrightarrow$



          $exists x exists w (forall y q(x,y) land forall z neg q(z,w)) Leftrightarrow$



          $exists x exists w forall y (q(x,y) land forall z neg q(z,w) Leftrightarrow$



          $exists x exists w forall y forall z (q(x,y) land neg q(z,w))$



          Skolemizing now gets you:



          $forall y forall z (q(a,y) land neg q(z,b))$



          Thus clauses ${q(a,y)}$ and ${neg q(z,b)}$



          And by substituting $a$ for $z$ and $b$ for $y$ these can be resolved to the empty clause.






          share|cite|improve this answer











          $endgroup$













            Your Answer





            StackExchange.ifUsing("editor", function () {
            return StackExchange.using("mathjaxEditing", function () {
            StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
            StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
            });
            });
            }, "mathjax-editing");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "69"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            noCode: true, onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3025044%2fprove-formula-using-skolemization-and-resolution%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2












            $begingroup$

            When you extract the quantifiers, pull out the $exists w$ before you pull out the $forall y$... that'll eliminate the dependency of $w$ on $y$



            That is, you get:



            $exists x forall y q(x,y) land exists w forall z neg q(z,w) Leftrightarrow$



            $exists x (forall y q(x,y) land exists w forall z neg q(z,w)) Leftrightarrow$



            $exists x exists w (forall y q(x,y) land forall z neg q(z,w)) Leftrightarrow$



            $exists x exists w forall y (q(x,y) land forall z neg q(z,w) Leftrightarrow$



            $exists x exists w forall y forall z (q(x,y) land neg q(z,w))$



            Skolemizing now gets you:



            $forall y forall z (q(a,y) land neg q(z,b))$



            Thus clauses ${q(a,y)}$ and ${neg q(z,b)}$



            And by substituting $a$ for $z$ and $b$ for $y$ these can be resolved to the empty clause.






            share|cite|improve this answer











            $endgroup$


















              2












              $begingroup$

              When you extract the quantifiers, pull out the $exists w$ before you pull out the $forall y$... that'll eliminate the dependency of $w$ on $y$



              That is, you get:



              $exists x forall y q(x,y) land exists w forall z neg q(z,w) Leftrightarrow$



              $exists x (forall y q(x,y) land exists w forall z neg q(z,w)) Leftrightarrow$



              $exists x exists w (forall y q(x,y) land forall z neg q(z,w)) Leftrightarrow$



              $exists x exists w forall y (q(x,y) land forall z neg q(z,w) Leftrightarrow$



              $exists x exists w forall y forall z (q(x,y) land neg q(z,w))$



              Skolemizing now gets you:



              $forall y forall z (q(a,y) land neg q(z,b))$



              Thus clauses ${q(a,y)}$ and ${neg q(z,b)}$



              And by substituting $a$ for $z$ and $b$ for $y$ these can be resolved to the empty clause.






              share|cite|improve this answer











              $endgroup$
















                2












                2








                2





                $begingroup$

                When you extract the quantifiers, pull out the $exists w$ before you pull out the $forall y$... that'll eliminate the dependency of $w$ on $y$



                That is, you get:



                $exists x forall y q(x,y) land exists w forall z neg q(z,w) Leftrightarrow$



                $exists x (forall y q(x,y) land exists w forall z neg q(z,w)) Leftrightarrow$



                $exists x exists w (forall y q(x,y) land forall z neg q(z,w)) Leftrightarrow$



                $exists x exists w forall y (q(x,y) land forall z neg q(z,w) Leftrightarrow$



                $exists x exists w forall y forall z (q(x,y) land neg q(z,w))$



                Skolemizing now gets you:



                $forall y forall z (q(a,y) land neg q(z,b))$



                Thus clauses ${q(a,y)}$ and ${neg q(z,b)}$



                And by substituting $a$ for $z$ and $b$ for $y$ these can be resolved to the empty clause.






                share|cite|improve this answer











                $endgroup$



                When you extract the quantifiers, pull out the $exists w$ before you pull out the $forall y$... that'll eliminate the dependency of $w$ on $y$



                That is, you get:



                $exists x forall y q(x,y) land exists w forall z neg q(z,w) Leftrightarrow$



                $exists x (forall y q(x,y) land exists w forall z neg q(z,w)) Leftrightarrow$



                $exists x exists w (forall y q(x,y) land forall z neg q(z,w)) Leftrightarrow$



                $exists x exists w forall y (q(x,y) land forall z neg q(z,w) Leftrightarrow$



                $exists x exists w forall y forall z (q(x,y) land neg q(z,w))$



                Skolemizing now gets you:



                $forall y forall z (q(a,y) land neg q(z,b))$



                Thus clauses ${q(a,y)}$ and ${neg q(z,b)}$



                And by substituting $a$ for $z$ and $b$ for $y$ these can be resolved to the empty clause.







                share|cite|improve this answer














                share|cite|improve this answer



                share|cite|improve this answer








                edited Dec 4 '18 at 3:16

























                answered Dec 4 '18 at 3:05









                Bram28Bram28

                61.6k44793




                61.6k44793






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Mathematics Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    Use MathJax to format equations. MathJax reference.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3025044%2fprove-formula-using-skolemization-and-resolution%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Plaza Victoria

                    Puebla de Zaragoza

                    Musa