module Theory.Drasil (
HasInputs(..), HasOutput(..)
, ConstraintSet
, mkConstraintSet
, Derivation(Derivation), mkDeriv, mkDerivName, mkDerivNoHeader
, MayHaveDerivation(derivations)
, 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
, DifferentialModel(..), ODESolverFormat(..), InitialValueProblem(..)
, ($^^), ($**), ($++)
, makeAODESolverFormat, makeAIVP, makeASystemDE, makeASingleDE, formEquations
) where
import Theory.Drasil.Classes (HasInputs(..), HasOutput(..))
import Theory.Drasil.Components.Derivation (
Derivation(Derivation), mkDeriv, mkDerivName, mkDerivNoHeader, MayHaveDerivation(derivations))
import Theory.Drasil.ConstraintSet (ConstraintSet, mkConstraintSet)
import Theory.Drasil.DataDefinition (ddMENoRefs, ddME, ddENoRefs, ddE,
DataDefinition, qdFromDD, qdEFromDD)
import Theory.Drasil.DifferentialModel (
DifferentialModel(..), ODESolverFormat(..), InitialValueProblem(..),
($^^), ($**), ($++),
makeAODESolverFormat, makeAIVP, makeASystemDE, makeASingleDE,
formEquations)
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)