-- Tests for Can-act-as
testCanActAs1 :: Test
testCanActAs1 = 
  let q = makeAssertion "A says B okay;"
      a = makeAssertion "A says B can-act-as C;"
      b = makeAssertion "A says C okay;"
      ctx = stdCtx{ac=AC [a,b]}
      prf = unsafePerformIO $ ctx ||- q
      pPrf = ppProof prf
  in Test { description = pShow ctx ++ " |= " ++ pShow q ++ pPrf
          , result = test . not . null $ prf
          }
testCanActAs1 :: Test
testCanActAs1 = 
  let q = makeAssertion "A says B okay;"
      a = makeAssertion "A says B can-act-as C;"
      b = makeAssertion "A says C okay;"
      ctx = stdCtx{ac=AC [a,b]}
      prf = unsafePerformIO $ ctx ||- q
      pPrf = ppProof prf
  in Test { description = pShow ctx ++ " |= " ++ pShow q ++ pPrf
          , result = test . not . null $ prf
          }
testCanActAs1 = 
  let q = makeAssertion "A says B okay;"
      a = makeAssertion "A says B can-act-as C;"
      b = makeAssertion "A says C okay;"
      ctx = stdCtx{ac=AC [a,b]}
      prf = unsafePerformIO $ ctx ||- q
      pPrf = ppProof prf
  in Test { description = pShow ctx ++ " |= " ++ pShow q ++ pPrf
          , result = test . not . null $ prf
          }