canSayInf1 :: Test 
canSayInf1 =
  let q  = makeAssertionUnsafe "Bob says Alice likes-jazz;"
      a1 = makeAssertionUnsafe "Bob says Alice can-say inf Alice likes-jazz;"
      a2 = makeAssertionUnsafe "Alice says Clive can-say 0 Alice likes-jazz;"
      a3 = makeAssertionUnsafe "Clive says Alice likes-jazz;"
      ctx = stdCtx{ ac=AC [a1,a2,a3], d=Infinity }
      prf = unsafePerformIO $ ctx ||- q
      pPrf = ppProof prf
  in Test { description = pShow ctx ++ " |= " ++ pShow q ++ pPrf
          , result = test . not . null $ prf
          }
canSayInf1 :: Test
canSayInf1 =
  let q  = makeAssertionUnsafe "Bob says Alice likes-jazz;"
      a1 = makeAssertionUnsafe "Bob says Alice can-say inf Alice likes-jazz;"
      a2 = makeAssertionUnsafe "Alice says Clive can-say 0 Alice likes-jazz;"
      a3 = makeAssertionUnsafe "Clive says Alice likes-jazz;"
      ctx = stdCtx{ ac=AC [a1,a2,a3], d=Infinity }
      prf = unsafePerformIO $ ctx ||- q
      pPrf = ppProof prf
  in Test { description = pShow ctx ++ " |= " ++ pShow q ++ pPrf
          , result = test . not . null $ prf
          }
canSayInf1 =
  let q  = makeAssertionUnsafe "Bob says Alice likes-jazz;"
      a1 = makeAssertionUnsafe "Bob says Alice can-say inf Alice likes-jazz;"
      a2 = makeAssertionUnsafe "Alice says Clive can-say 0 Alice likes-jazz;"
      a3 = makeAssertionUnsafe "Clive says Alice likes-jazz;"
      ctx = stdCtx{ ac=AC [a1,a2,a3], d=Infinity }
      prf = unsafePerformIO $ ctx ||- q
      pPrf = ppProof prf
  in Test { description = pShow ctx ++ " |= " ++ pShow q ++ pPrf
          , result = test . not . null $ prf
          }