casremainder :: Session a => a -> Named CMD -> IO (ProofStatus [EXPRESSION],
                 [(Named CMD, ProofStatus [EXPRESSION])])
casremainder sess cmd =
  do
    proofstatus <- procString sess (senAttr cmd) $ exportReduce
      (makeNamed (senAttr cmd) (Cmd "divide" args)) ++ ";"
    return (proofstatus, [exportLemmaRemainder cmd proofstatus])
  where Cmd _ args = sentence cmd

-- | integrates the given expression
casremainder :: Session a => a -> Named CMD -> IO (ProofStatus [EXPRESSION],
                 [(Named CMD, ProofStatus [EXPRESSION])])
casremainder sess cmd =
  do
    proofstatus <- procString sess (senAttr cmd) $ exportReduce
      (makeNamed (senAttr cmd) (Cmd "divide" args)) ++ ";"
    return (proofstatus, [exportLemmaRemainder cmd proofstatus])
  where Cmd _ args = sentence cmd

-- | integrates the given expression
casremainder sess cmd =
  do
    proofstatus <- procString sess (senAttr cmd) $ exportReduce
      (makeNamed (senAttr cmd) (Cmd "divide" args)) ++ ";"
    return (proofstatus, [exportLemmaRemainder cmd proofstatus])
  where Cmd _ args = sentence cmd

-- | integrates the given expression