testHasPermission :: Test 
testHasPermission = 
  let q  = makeAssertion "User says apk#App can-access-internet;"
      a1 = makeAssertionUnsafe "anyone says apk#app can-access-internet: permissionsCheck(apk#app, \"INTERNET\") = True;"
      ctx = stdCtx{ac=AC [a1]}
      prf = unsafePerformIO $ ctx ||- q
      pPrf = ppProof prf
  in Test { description = pShow ctx ++ " |= " ++ pShow q ++ pPrf
          , result = test . not . null $ prf
          }
testHasPermission :: Test
testHasPermission = 
  let q  = makeAssertion "User says apk#App can-access-internet;"
      a1 = makeAssertionUnsafe "anyone says apk#app can-access-internet: permissionsCheck(apk#app, \"INTERNET\") = True;"
      ctx = stdCtx{ac=AC [a1]}
      prf = unsafePerformIO $ ctx ||- q
      pPrf = ppProof prf
  in Test { description = pShow ctx ++ " |= " ++ pShow q ++ pPrf
          , result = test . not . null $ prf
          }
testHasPermission = 
  let q  = makeAssertion "User says apk#App can-access-internet;"
      a1 = makeAssertionUnsafe "anyone says apk#app can-access-internet: permissionsCheck(apk#app, \"INTERNET\") = True;"
      ctx = stdCtx{ac=AC [a1]}
      prf = unsafePerformIO $ ctx ||- q
      pPrf = ppProof prf
  in Test { description = pShow ctx ++ " |= " ++ pShow q ++ pPrf
          , result = test . not . null $ prf
          }