module Theory.Drasil (
HasInputs(..), HasOutput(..)
, ConstraintSet
, mkConstraintSet
, DataDefinition
, ddE, ddENoRefs
, ddME, ddMENoRefs
, qdFromDD, qdEFromDD
, GenDefn
, gd, gdNoRefs
, getEqModQdsFromGd
, MultiDefn, DefiningExpr
, mkMultiDefn, mkMultiDefnForQuant, mkDefiningExpr
, multiDefnGenQD, multiDefnGenQDByUID
, ModelKind
, newDEModel, deModel, equationalConstraints, equationalModel, equationalRealm, othModel
, newDEModel', deModel', equationalConstraints', equationalModel', equationalRealm', othModel'
, equationalModelU, equationalModelN, equationalRealmU, equationalRealmN
, InstanceModel
, im, imNoDeriv, imNoRefs, imNoDerivNoRefs
, qwUC, qwC, getEqModQdsFromIm
, Theory(..), TheoryModel
, tm, tmNoRefs
) where
import Theory.Drasil.Classes (HasInputs(..), HasOutput(..))
import Theory.Drasil.ConstraintSet (ConstraintSet, mkConstraintSet)
import Theory.Drasil.DataDefinition (ddMENoRefs, ddME, ddENoRefs, ddE,
DataDefinition, qdFromDD, qdEFromDD)
import Theory.Drasil.GenDefn (GenDefn, gd, gdNoRefs, getEqModQdsFromGd)
import Theory.Drasil.ModelKinds (ModelKind,
newDEModel, newDEModel',
deModel', deModel,
equationalConstraints, equationalConstraints',
equationalModel, equationalModel', equationalModelN, equationalModelU,
equationalRealm, equationalRealm', equationalRealmN, equationalRealmU,
othModel, othModel')
import Theory.Drasil.InstanceModel (InstanceModel,
im, imNoDeriv, imNoRefs, imNoDerivNoRefs,
qwUC, qwC,
getEqModQdsFromIm)
import Theory.Drasil.MultiDefn (MultiDefn, DefiningExpr,
mkDefiningExpr, mkMultiDefn,
mkMultiDefnForQuant, multiDefnGenQD, multiDefnGenQDByUID)
import Theory.Drasil.Theory (tm, tmNoRefs, Theory(..), TheoryModel)