Logical equivalences for $P implies Q$ and $neg Q implies neg P$












0












$begingroup$


This is probably quite a basic question, but it's something I'm having trouble wrapping my head around.



I came across a proof which employed the following strategy



The goal was to prove



$$P implies Q$$



And the strategy used was to prove the following instead:



$$neg Q implies neg P$$



If possible, could someone provide some intuition as to why these two statements would be equivalent?










share|cite|improve this question









$endgroup$








  • 2




    $begingroup$
    Why not consider some concrete examples?
    $endgroup$
    – Derek Elkins
    Jan 31 at 23:47






  • 2




    $begingroup$
    IMHO the best way to get an intuitive feeling for this kind of thing is to look at examples. "If you live in London then you live in the UK" and "if you don't live in the UK then you don't live in London" are really just two ways of stating the same fact. Make up your own examples too!
    $endgroup$
    – David
    Jan 31 at 23:48








  • 2




    $begingroup$
    This is called the contrapositive. The Wikipedia page has an intuitive explanation, though a few examples should clear this up for you.
    $endgroup$
    – Alexandros
    Jan 31 at 23:49










  • $begingroup$
    @David Ah okay I see, I think I understand it better if I draw a Venn Diagram - P should be contained in Q?
    $endgroup$
    – Sean Lee
    Jan 31 at 23:51










  • $begingroup$
    Mmm... I guess... if it works for you. Wouldn't go that way myself, doubt that it would give me any intuitive understanding.
    $endgroup$
    – David
    Feb 1 at 0:02
















0












$begingroup$


This is probably quite a basic question, but it's something I'm having trouble wrapping my head around.



I came across a proof which employed the following strategy



The goal was to prove



$$P implies Q$$



And the strategy used was to prove the following instead:



$$neg Q implies neg P$$



If possible, could someone provide some intuition as to why these two statements would be equivalent?










share|cite|improve this question









$endgroup$








  • 2




    $begingroup$
    Why not consider some concrete examples?
    $endgroup$
    – Derek Elkins
    Jan 31 at 23:47






  • 2




    $begingroup$
    IMHO the best way to get an intuitive feeling for this kind of thing is to look at examples. "If you live in London then you live in the UK" and "if you don't live in the UK then you don't live in London" are really just two ways of stating the same fact. Make up your own examples too!
    $endgroup$
    – David
    Jan 31 at 23:48








  • 2




    $begingroup$
    This is called the contrapositive. The Wikipedia page has an intuitive explanation, though a few examples should clear this up for you.
    $endgroup$
    – Alexandros
    Jan 31 at 23:49










  • $begingroup$
    @David Ah okay I see, I think I understand it better if I draw a Venn Diagram - P should be contained in Q?
    $endgroup$
    – Sean Lee
    Jan 31 at 23:51










  • $begingroup$
    Mmm... I guess... if it works for you. Wouldn't go that way myself, doubt that it would give me any intuitive understanding.
    $endgroup$
    – David
    Feb 1 at 0:02














0












0








0





$begingroup$


This is probably quite a basic question, but it's something I'm having trouble wrapping my head around.



I came across a proof which employed the following strategy



The goal was to prove



$$P implies Q$$



And the strategy used was to prove the following instead:



$$neg Q implies neg P$$



If possible, could someone provide some intuition as to why these two statements would be equivalent?










share|cite|improve this question









$endgroup$




This is probably quite a basic question, but it's something I'm having trouble wrapping my head around.



I came across a proof which employed the following strategy



The goal was to prove



$$P implies Q$$



And the strategy used was to prove the following instead:



$$neg Q implies neg P$$



If possible, could someone provide some intuition as to why these two statements would be equivalent?







logic proof-writing proof-explanation






share|cite|improve this question













share|cite|improve this question











share|cite|improve this question




share|cite|improve this question










asked Jan 31 at 23:44









Sean LeeSean Lee

749214




749214








  • 2




    $begingroup$
    Why not consider some concrete examples?
    $endgroup$
    – Derek Elkins
    Jan 31 at 23:47






  • 2




    $begingroup$
    IMHO the best way to get an intuitive feeling for this kind of thing is to look at examples. "If you live in London then you live in the UK" and "if you don't live in the UK then you don't live in London" are really just two ways of stating the same fact. Make up your own examples too!
    $endgroup$
    – David
    Jan 31 at 23:48








  • 2




    $begingroup$
    This is called the contrapositive. The Wikipedia page has an intuitive explanation, though a few examples should clear this up for you.
    $endgroup$
    – Alexandros
    Jan 31 at 23:49










  • $begingroup$
    @David Ah okay I see, I think I understand it better if I draw a Venn Diagram - P should be contained in Q?
    $endgroup$
    – Sean Lee
    Jan 31 at 23:51










  • $begingroup$
    Mmm... I guess... if it works for you. Wouldn't go that way myself, doubt that it would give me any intuitive understanding.
    $endgroup$
    – David
    Feb 1 at 0:02














  • 2




    $begingroup$
    Why not consider some concrete examples?
    $endgroup$
    – Derek Elkins
    Jan 31 at 23:47






  • 2




    $begingroup$
    IMHO the best way to get an intuitive feeling for this kind of thing is to look at examples. "If you live in London then you live in the UK" and "if you don't live in the UK then you don't live in London" are really just two ways of stating the same fact. Make up your own examples too!
    $endgroup$
    – David
    Jan 31 at 23:48








  • 2




    $begingroup$
    This is called the contrapositive. The Wikipedia page has an intuitive explanation, though a few examples should clear this up for you.
    $endgroup$
    – Alexandros
    Jan 31 at 23:49










  • $begingroup$
    @David Ah okay I see, I think I understand it better if I draw a Venn Diagram - P should be contained in Q?
    $endgroup$
    – Sean Lee
    Jan 31 at 23:51










  • $begingroup$
    Mmm... I guess... if it works for you. Wouldn't go that way myself, doubt that it would give me any intuitive understanding.
    $endgroup$
    – David
    Feb 1 at 0:02








2




2




$begingroup$
Why not consider some concrete examples?
$endgroup$
– Derek Elkins
Jan 31 at 23:47




$begingroup$
Why not consider some concrete examples?
$endgroup$
– Derek Elkins
Jan 31 at 23:47




2




2




$begingroup$
IMHO the best way to get an intuitive feeling for this kind of thing is to look at examples. "If you live in London then you live in the UK" and "if you don't live in the UK then you don't live in London" are really just two ways of stating the same fact. Make up your own examples too!
$endgroup$
– David
Jan 31 at 23:48






$begingroup$
IMHO the best way to get an intuitive feeling for this kind of thing is to look at examples. "If you live in London then you live in the UK" and "if you don't live in the UK then you don't live in London" are really just two ways of stating the same fact. Make up your own examples too!
$endgroup$
– David
Jan 31 at 23:48






2




2




$begingroup$
This is called the contrapositive. The Wikipedia page has an intuitive explanation, though a few examples should clear this up for you.
$endgroup$
– Alexandros
Jan 31 at 23:49




$begingroup$
This is called the contrapositive. The Wikipedia page has an intuitive explanation, though a few examples should clear this up for you.
$endgroup$
– Alexandros
Jan 31 at 23:49












$begingroup$
@David Ah okay I see, I think I understand it better if I draw a Venn Diagram - P should be contained in Q?
$endgroup$
– Sean Lee
Jan 31 at 23:51




$begingroup$
@David Ah okay I see, I think I understand it better if I draw a Venn Diagram - P should be contained in Q?
$endgroup$
– Sean Lee
Jan 31 at 23:51












$begingroup$
Mmm... I guess... if it works for you. Wouldn't go that way myself, doubt that it would give me any intuitive understanding.
$endgroup$
– David
Feb 1 at 0:02




$begingroup$
Mmm... I guess... if it works for you. Wouldn't go that way myself, doubt that it would give me any intuitive understanding.
$endgroup$
– David
Feb 1 at 0:02










3 Answers
3






active

oldest

votes


















1












$begingroup$

$P implies Q$ means whenever you have $P$ you will have $Q$.



That means if you have $P$ then $lnot Q$ is impossible.



That means if you do have $lnot Q$, it isn't possible that you had $P$ (because then you would have had $Q$).



That means if you have $lnot Q$ then you will have $lnot P$.



That means $lnot Q implies lnot P$.



... So if "$P implies Q$" is true it is also true that "$lnot Q implies lnot P$".



====



Likewise $lnot Q implies lnot P$ means whenever $Q$ is false then $P$ is false.



So if you have $P$ is true it isn't possible that you had $Q$ is false (because if $Q$ is false $P$ wouldn't be true.)



So if somehow you had $P$ is true and it isn't possible that $Q$ is false, it must be that $Q$ is true.



So if you did have $P$ is true it must follow that $Q$ is true.



So $P implies Q$.



... So if "$lnot Q implies lnot P$" is true it will follow that "$P implies Q$" is true.



====



So the two statements $Pimplies Q$ and $lnot Q implies lnot P$ can only be true if the other one is true, and if one is false the other can't be true and if one is true the other must also be true, these two statements are always true or false under the exact same circumstances.



In other words... they are equivalent statements.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    Wow, this really cleared things up for me! Thank you for going through it using first principles, it becomes so much clearer! (:
    $endgroup$
    – Sean Lee
    Feb 1 at 0:18



















2












$begingroup$

In classical logic this boils down to the definition of $implies$. You can then check this equivalence by testing all possible combinations of truth values for $P$ and $Q$. This principle is called contraposition.



In intuitionistic logic, you only get that $Pimplies Q$ implies $lnot Qimplies lnot P$, but not the converse.



Contraposition is often a convenient way of starting a proof, in particular if you don't know where you want to go with your proof. But many such proofs can be in fact reformulated to be direct proofs.






share|cite|improve this answer









$endgroup$





















    0












    $begingroup$

    If $P$ implies $Q$, then $lnot Q$ cannot imply $P$; because that would in turn imply $Q$ (a contradiction).   So therefore must $lnot Q$ imply $lnot P$.



    That is: $Pto Q$ entails that $lnot Qtolnot P$.





    Likewise if $lnot Q$ implies $lnot P$, then $P$ cannot imply $lnot Q$; because that would in turn imply $lnot P$ (a contradiction).   So therefore must $P$ imply $lnotlnot Q$.



    In classical logic, that double negation can be eliminated, so we can say $lnot Qtolnot P$ entails $Pto Q$.






    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%2f3095635%2flogical-equivalences-for-p-implies-q-and-neg-q-implies-neg-p%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      1












      $begingroup$

      $P implies Q$ means whenever you have $P$ you will have $Q$.



      That means if you have $P$ then $lnot Q$ is impossible.



      That means if you do have $lnot Q$, it isn't possible that you had $P$ (because then you would have had $Q$).



      That means if you have $lnot Q$ then you will have $lnot P$.



      That means $lnot Q implies lnot P$.



      ... So if "$P implies Q$" is true it is also true that "$lnot Q implies lnot P$".



      ====



      Likewise $lnot Q implies lnot P$ means whenever $Q$ is false then $P$ is false.



      So if you have $P$ is true it isn't possible that you had $Q$ is false (because if $Q$ is false $P$ wouldn't be true.)



      So if somehow you had $P$ is true and it isn't possible that $Q$ is false, it must be that $Q$ is true.



      So if you did have $P$ is true it must follow that $Q$ is true.



      So $P implies Q$.



      ... So if "$lnot Q implies lnot P$" is true it will follow that "$P implies Q$" is true.



      ====



      So the two statements $Pimplies Q$ and $lnot Q implies lnot P$ can only be true if the other one is true, and if one is false the other can't be true and if one is true the other must also be true, these two statements are always true or false under the exact same circumstances.



      In other words... they are equivalent statements.






      share|cite|improve this answer









      $endgroup$













      • $begingroup$
        Wow, this really cleared things up for me! Thank you for going through it using first principles, it becomes so much clearer! (:
        $endgroup$
        – Sean Lee
        Feb 1 at 0:18
















      1












      $begingroup$

      $P implies Q$ means whenever you have $P$ you will have $Q$.



      That means if you have $P$ then $lnot Q$ is impossible.



      That means if you do have $lnot Q$, it isn't possible that you had $P$ (because then you would have had $Q$).



      That means if you have $lnot Q$ then you will have $lnot P$.



      That means $lnot Q implies lnot P$.



      ... So if "$P implies Q$" is true it is also true that "$lnot Q implies lnot P$".



      ====



      Likewise $lnot Q implies lnot P$ means whenever $Q$ is false then $P$ is false.



      So if you have $P$ is true it isn't possible that you had $Q$ is false (because if $Q$ is false $P$ wouldn't be true.)



      So if somehow you had $P$ is true and it isn't possible that $Q$ is false, it must be that $Q$ is true.



      So if you did have $P$ is true it must follow that $Q$ is true.



      So $P implies Q$.



      ... So if "$lnot Q implies lnot P$" is true it will follow that "$P implies Q$" is true.



      ====



      So the two statements $Pimplies Q$ and $lnot Q implies lnot P$ can only be true if the other one is true, and if one is false the other can't be true and if one is true the other must also be true, these two statements are always true or false under the exact same circumstances.



      In other words... they are equivalent statements.






      share|cite|improve this answer









      $endgroup$













      • $begingroup$
        Wow, this really cleared things up for me! Thank you for going through it using first principles, it becomes so much clearer! (:
        $endgroup$
        – Sean Lee
        Feb 1 at 0:18














      1












      1








      1





      $begingroup$

      $P implies Q$ means whenever you have $P$ you will have $Q$.



      That means if you have $P$ then $lnot Q$ is impossible.



      That means if you do have $lnot Q$, it isn't possible that you had $P$ (because then you would have had $Q$).



      That means if you have $lnot Q$ then you will have $lnot P$.



      That means $lnot Q implies lnot P$.



      ... So if "$P implies Q$" is true it is also true that "$lnot Q implies lnot P$".



      ====



      Likewise $lnot Q implies lnot P$ means whenever $Q$ is false then $P$ is false.



      So if you have $P$ is true it isn't possible that you had $Q$ is false (because if $Q$ is false $P$ wouldn't be true.)



      So if somehow you had $P$ is true and it isn't possible that $Q$ is false, it must be that $Q$ is true.



      So if you did have $P$ is true it must follow that $Q$ is true.



      So $P implies Q$.



      ... So if "$lnot Q implies lnot P$" is true it will follow that "$P implies Q$" is true.



      ====



      So the two statements $Pimplies Q$ and $lnot Q implies lnot P$ can only be true if the other one is true, and if one is false the other can't be true and if one is true the other must also be true, these two statements are always true or false under the exact same circumstances.



      In other words... they are equivalent statements.






      share|cite|improve this answer









      $endgroup$



      $P implies Q$ means whenever you have $P$ you will have $Q$.



      That means if you have $P$ then $lnot Q$ is impossible.



      That means if you do have $lnot Q$, it isn't possible that you had $P$ (because then you would have had $Q$).



      That means if you have $lnot Q$ then you will have $lnot P$.



      That means $lnot Q implies lnot P$.



      ... So if "$P implies Q$" is true it is also true that "$lnot Q implies lnot P$".



      ====



      Likewise $lnot Q implies lnot P$ means whenever $Q$ is false then $P$ is false.



      So if you have $P$ is true it isn't possible that you had $Q$ is false (because if $Q$ is false $P$ wouldn't be true.)



      So if somehow you had $P$ is true and it isn't possible that $Q$ is false, it must be that $Q$ is true.



      So if you did have $P$ is true it must follow that $Q$ is true.



      So $P implies Q$.



      ... So if "$lnot Q implies lnot P$" is true it will follow that "$P implies Q$" is true.



      ====



      So the two statements $Pimplies Q$ and $lnot Q implies lnot P$ can only be true if the other one is true, and if one is false the other can't be true and if one is true the other must also be true, these two statements are always true or false under the exact same circumstances.



      In other words... they are equivalent statements.







      share|cite|improve this answer












      share|cite|improve this answer



      share|cite|improve this answer










      answered Feb 1 at 0:16









      fleabloodfleablood

      73.9k22891




      73.9k22891












      • $begingroup$
        Wow, this really cleared things up for me! Thank you for going through it using first principles, it becomes so much clearer! (:
        $endgroup$
        – Sean Lee
        Feb 1 at 0:18


















      • $begingroup$
        Wow, this really cleared things up for me! Thank you for going through it using first principles, it becomes so much clearer! (:
        $endgroup$
        – Sean Lee
        Feb 1 at 0:18
















      $begingroup$
      Wow, this really cleared things up for me! Thank you for going through it using first principles, it becomes so much clearer! (:
      $endgroup$
      – Sean Lee
      Feb 1 at 0:18




      $begingroup$
      Wow, this really cleared things up for me! Thank you for going through it using first principles, it becomes so much clearer! (:
      $endgroup$
      – Sean Lee
      Feb 1 at 0:18











      2












      $begingroup$

      In classical logic this boils down to the definition of $implies$. You can then check this equivalence by testing all possible combinations of truth values for $P$ and $Q$. This principle is called contraposition.



      In intuitionistic logic, you only get that $Pimplies Q$ implies $lnot Qimplies lnot P$, but not the converse.



      Contraposition is often a convenient way of starting a proof, in particular if you don't know where you want to go with your proof. But many such proofs can be in fact reformulated to be direct proofs.






      share|cite|improve this answer









      $endgroup$


















        2












        $begingroup$

        In classical logic this boils down to the definition of $implies$. You can then check this equivalence by testing all possible combinations of truth values for $P$ and $Q$. This principle is called contraposition.



        In intuitionistic logic, you only get that $Pimplies Q$ implies $lnot Qimplies lnot P$, but not the converse.



        Contraposition is often a convenient way of starting a proof, in particular if you don't know where you want to go with your proof. But many such proofs can be in fact reformulated to be direct proofs.






        share|cite|improve this answer









        $endgroup$
















          2












          2








          2





          $begingroup$

          In classical logic this boils down to the definition of $implies$. You can then check this equivalence by testing all possible combinations of truth values for $P$ and $Q$. This principle is called contraposition.



          In intuitionistic logic, you only get that $Pimplies Q$ implies $lnot Qimplies lnot P$, but not the converse.



          Contraposition is often a convenient way of starting a proof, in particular if you don't know where you want to go with your proof. But many such proofs can be in fact reformulated to be direct proofs.






          share|cite|improve this answer









          $endgroup$



          In classical logic this boils down to the definition of $implies$. You can then check this equivalence by testing all possible combinations of truth values for $P$ and $Q$. This principle is called contraposition.



          In intuitionistic logic, you only get that $Pimplies Q$ implies $lnot Qimplies lnot P$, but not the converse.



          Contraposition is often a convenient way of starting a proof, in particular if you don't know where you want to go with your proof. But many such proofs can be in fact reformulated to be direct proofs.







          share|cite|improve this answer












          share|cite|improve this answer



          share|cite|improve this answer










          answered Jan 31 at 23:58









          ffffforallffffforall

          36028




          36028























              0












              $begingroup$

              If $P$ implies $Q$, then $lnot Q$ cannot imply $P$; because that would in turn imply $Q$ (a contradiction).   So therefore must $lnot Q$ imply $lnot P$.



              That is: $Pto Q$ entails that $lnot Qtolnot P$.





              Likewise if $lnot Q$ implies $lnot P$, then $P$ cannot imply $lnot Q$; because that would in turn imply $lnot P$ (a contradiction).   So therefore must $P$ imply $lnotlnot Q$.



              In classical logic, that double negation can be eliminated, so we can say $lnot Qtolnot P$ entails $Pto Q$.






              share|cite|improve this answer









              $endgroup$


















                0












                $begingroup$

                If $P$ implies $Q$, then $lnot Q$ cannot imply $P$; because that would in turn imply $Q$ (a contradiction).   So therefore must $lnot Q$ imply $lnot P$.



                That is: $Pto Q$ entails that $lnot Qtolnot P$.





                Likewise if $lnot Q$ implies $lnot P$, then $P$ cannot imply $lnot Q$; because that would in turn imply $lnot P$ (a contradiction).   So therefore must $P$ imply $lnotlnot Q$.



                In classical logic, that double negation can be eliminated, so we can say $lnot Qtolnot P$ entails $Pto Q$.






                share|cite|improve this answer









                $endgroup$
















                  0












                  0








                  0





                  $begingroup$

                  If $P$ implies $Q$, then $lnot Q$ cannot imply $P$; because that would in turn imply $Q$ (a contradiction).   So therefore must $lnot Q$ imply $lnot P$.



                  That is: $Pto Q$ entails that $lnot Qtolnot P$.





                  Likewise if $lnot Q$ implies $lnot P$, then $P$ cannot imply $lnot Q$; because that would in turn imply $lnot P$ (a contradiction).   So therefore must $P$ imply $lnotlnot Q$.



                  In classical logic, that double negation can be eliminated, so we can say $lnot Qtolnot P$ entails $Pto Q$.






                  share|cite|improve this answer









                  $endgroup$



                  If $P$ implies $Q$, then $lnot Q$ cannot imply $P$; because that would in turn imply $Q$ (a contradiction).   So therefore must $lnot Q$ imply $lnot P$.



                  That is: $Pto Q$ entails that $lnot Qtolnot P$.





                  Likewise if $lnot Q$ implies $lnot P$, then $P$ cannot imply $lnot Q$; because that would in turn imply $lnot P$ (a contradiction).   So therefore must $P$ imply $lnotlnot Q$.



                  In classical logic, that double negation can be eliminated, so we can say $lnot Qtolnot P$ entails $Pto Q$.







                  share|cite|improve this answer












                  share|cite|improve this answer



                  share|cite|improve this answer










                  answered Feb 1 at 0:18









                  Graham KempGraham Kemp

                  87.8k43578




                  87.8k43578






























                      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%2f3095635%2flogical-equivalences-for-p-implies-q-and-neg-q-implies-neg-p%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

                      MongoDB - Not Authorized To Execute Command

                      How to fix TextFormField cause rebuild widget in Flutter

                      in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith