{- | computes the second part of the conjunction of the formula "largerThanKerH"
from the kernel of H for a concrete predicate profile -}
ltkh_preds_aux :: Id -> PredType -> CASLFORMULA
ltkh_preds_aux name (PredType args) = imp'
     where free_name = mkFreeName name
           free_args = map mkFreeName args
           psi = psiName name
           pt = Pred_type free_args nullRange
           ps_name = mkQualPred free_name pt
           ps_psi = mkQualPred psi pt
           vars = createVars 1 free_args
           prem = mkPredication ps_name vars
           concl = mkPredication ps_psi vars
           imp = mkImpl prem concl
           imp' = quantifyUniversally imp

{- | computes the first part of the conjunction of the formula "largerThanKerH"
from the kernel of H -}
ltkh_preds_aux :: Id -> PredType -> CASLFORMULA
ltkh_preds_aux name (PredType args) = imp'
     where free_name = mkFreeName name
           free_args = map mkFreeName args
           psi = psiName name
           pt = Pred_type free_args nullRange
           ps_name = mkQualPred free_name pt
           ps_psi = mkQualPred psi pt
           vars = createVars 1 free_args
           prem = mkPredication ps_name vars
           concl = mkPredication ps_psi vars
           imp = mkImpl prem concl
           imp' = quantifyUniversally imp

{- | computes the first part of the conjunction of the formula "largerThanKerH"
from the kernel of H -}
ltkh_preds_aux name (PredType args) = imp'
     where free_name = mkFreeName name
           free_args = map mkFreeName args
           psi = psiName name
           pt = Pred_type free_args nullRange
           ps_name = mkQualPred free_name pt
           ps_psi = mkQualPred psi pt
           vars = createVars 1 free_args
           prem = mkPredication ps_name vars
           concl = mkPredication ps_psi vars
           imp = mkImpl prem concl
           imp' = quantifyUniversally imp

{- | computes the first part of the conjunction of the formula "largerThanKerH"
from the kernel of H -}