title: Overriding virtual boolean pure method without LSP breaking
body: <p>For example we have the following structure:</p>
  
  <pre><code>class Base
  {
      [pure]
      public virtual bool IsValid(/*you can add some parameters here*/)
      {
         //body
      }
  }
  
  class Child : Base
  {
      public override bool IsValid(/*you can add some parameters here*/)
      {
         //body
      }
  }
  </code></pre>
  
  <p>Could you please fill <code>Base::IsValid()</code> and <code>Child::IsValid()</code> with different bodies but without conflicts with LSP? Let's imagine it's just method for analyzing, we cannot change instance's state.
  Are we able to do it?
  I'm interested in any example.
  I try to understand whether virtual (bodied) boolean methods is <strong>anti-pattern</strong> or not in general case.</p>