12#ifndef MCRL2_CORE_IDENTIFIER_STRING_H
13#define MCRL2_CORE_IDENTIFIER_STRING_H
15#include "mcrl2/atermpp/aterm_string.h"
16#include "mcrl2/core/detail/function_symbols.h"
42 return out << core::pp(x);
46inline void swap(identifier_string& t1, identifier_string& t2)
noexcept
58 return t.type_is_appl() && t.size() == 0;
75struct hash<mcrl2::
core::identifier_string>
An integer term stores a single std::size_t value. It carries no arguments.
Term containing a string.
A unordered_map class in which aterms can be stored.
const aterm_string & empty_string()
Returns the empty aterm_string.
const atermpp::aterm & default_value_Seq()
const atermpp::aterm & default_value_PRESAnd()
const atermpp::aterm & default_value_Whr()
const atermpp::aterm & default_value_IfThenElse()
const atermpp::aterm & default_value_ProcEqn()
const atermpp::aterm & default_value_Sum()
const atermpp::aterm & default_value_StateOr()
const atermpp::aterm & default_value_PBESExists()
const atermpp::aterm & default_value_StateYaledTimed()
const atermpp::aterm & default_value_PBESTrue()
const atermpp::aterm & default_value_StateImp()
const atermpp::aterm & default_value_StateSum()
const atermpp::aterm & default_value_StateYaled()
const atermpp::aterm & default_value_DataExpr()
const atermpp::aterm & default_value_DataEqn()
const atermpp::aterm & default_value_PRESCondSm()
const atermpp::aterm & default_value_ActTrue()
const atermpp::aterm & default_value_MultAct()
const atermpp::aterm & default_value_StateMu()
const atermpp::aterm & default_value_StateMinus()
const atermpp::aterm & default_value_ActSpec()
const atermpp::aterm & default_value_ActFalse()
const atermpp::aterm & default_value_PREqnSpec()
const atermpp::aterm & default_value_PropVarDecl()
const atermpp::aterm & default_value_RegFrm()
const atermpp::aterm & default_value_StateExists()
const atermpp::aterm & default_value_SortBag()
const atermpp::aterm & default_value_Comm()
const atermpp::aterm & default_value_PRESInfimum()
const atermpp::aterm & default_value_StateVar()
const atermpp::aterm & default_value_PRESCondEq()
const atermpp::aterm & default_value_UntypedSortsPossible()
const atermpp::aterm & default_value_SortFSet()
const atermpp::aterm & default_value_Tau()
const atermpp::aterm & default_value_SortExpr()
const atermpp::aterm & default_value_Distribution()
const atermpp::aterm & default_value_PRESImp()
const atermpp::aterm & default_value_PRESTrue()
const atermpp::aterm & default_value_Mu()
const atermpp::aterm & default_value_ActionRenameRuleRHS()
const atermpp::aterm & default_value_ActionRenameRule()
const atermpp::aterm & default_value_DataVarId()
const atermpp::aterm & default_value_MapSpec()
const atermpp::aterm_int & default_value_Number()
const atermpp::aterm & default_value_PBESFalse()
const atermpp::aterm & default_value_StateMay()
const atermpp::aterm & default_value_UntypedIdentifierAssignment()
const atermpp::aterm & default_value_PRESEqInf()
const atermpp::aterm & default_value_Choice()
const atermpp::aterm & default_value_StateAnd()
const atermpp::aterm & default_value_PropVarInst()
const atermpp::aterm & default_value_MultActName()
const atermpp::aterm & default_value_SortDecl()
const atermpp::aterm & default_value_ActAnd()
const atermpp::aterm & default_value_GlobVarSpec()
const atermpp::aterm & default_value_ActAt()
const atermpp::aterm & default_value_StringOrEmpty()
const atermpp::aterm_list & default_value_List()
const atermpp::aterm & default_value_StateConstantMultiplyAlt()
const atermpp::aterm & default_value_StatePlus()
const atermpp::aterm & default_value_UntypedSetBagComp()
const atermpp::aterm & default_value_ProcSpec()
const atermpp::aterm & default_value_PBInit()
const atermpp::aterm & default_value_PBESNot()
const atermpp::aterm & default_value_UntypedRegFrm()
const atermpp::aterm & default_value_ConsSpec()
const atermpp::aterm & default_value_TimedMultAct()
const atermpp::aterm & default_value_ActNot()
const atermpp::aterm & default_value_DataVarIdInit()
const atermpp::aterm & default_value_DataSpec()
const atermpp::aterm & default_value_Merge()
const atermpp::aterm & default_value_FixPoint()
const atermpp::aterm & default_value_PRESSupremum()
const atermpp::aterm & default_value_Nu()
const atermpp::aterm & default_value_RegAlt()
const atermpp::aterm & default_value_PREqn()
const atermpp::aterm & default_value_SetComp()
const atermpp::aterm & default_value_BagComp()
const atermpp::aterm & default_value_Lambda()
const atermpp::aterm & default_value_RenameExpr()
const atermpp::aterm & default_value_StateFrm()
const atermpp::aterm & default_value_PRESConstantMultiplyAlt()
const atermpp::aterm & default_value_Block()
const atermpp::aterm & default_value_Allow()
const atermpp::aterm & default_value_StateTrue()
const atermpp::aterm & default_value_PRESConstantMultiply()
const atermpp::aterm & default_value_Sync()
const atermpp::aterm & default_value_Delta()
const atermpp::aterm & default_value_StateDelay()
const atermpp::aterm & default_value_Forall()
const atermpp::aterm & default_value_ProcVarId()
const atermpp::aterm & default_value_StateSupremum()
const atermpp::aterm & default_value_PRESOr()
const atermpp::aterm & default_value_PRESSum()
const atermpp::aterm & default_value_RegTrans()
const atermpp::aterm & default_value_ProcExpr()
const atermpp::aterm & default_value_SortId()
const atermpp::aterm & default_value_StructCons()
const atermpp::aterm & default_value_WhrDecl()
const atermpp::aterm & default_value_UntypedIdentifier()
const atermpp::aterm & default_value_StateFalse()
const atermpp::aterm & default_value_SortSet()
const atermpp::aterm & default_value_ActImp()
const atermpp::aterm & default_value_PBESAnd()
const atermpp::aterm & default_value_MultActOrDelta()
const atermpp::aterm & default_value_Process()
const atermpp::aterm & default_value_PRESPlus()
const atermpp::aterm & default_value_Action()
const atermpp::aterm & default_value_UntypedMultiAction()
const atermpp::aterm & default_value_ActionRenameRules()
const atermpp::aterm & default_value_ActFrm()
const atermpp::aterm & default_value_OpId()
const atermpp::aterm & default_value_ActExists()
const atermpp::aterm & default_value_UntypedDataParameter()
const atermpp::aterm & default_value_StateNu()
const atermpp::aterm & default_value_BInit()
const atermpp::aterm & default_value_RegNil()
const atermpp::aterm & default_value_Rename()
const atermpp::aterm & default_value_StateDelayTimed()
const atermpp::aterm & default_value_SortStruct()
const atermpp::aterm & default_value_LMerge()
const atermpp::aterm & default_value_SortRef()
const atermpp::aterm & default_value_StateForall()
const atermpp::aterm & default_value_PRExpr()
std::array< atermpp::function_symbol, DataApplFixed > function_symbols_DataApplFixed
const atermpp::aterm & default_value_SortList()
const atermpp::aterm & default_value_StateConstantMultiply()
const atermpp::aterm & default_value_RegSeq()
const atermpp::aterm & default_value_SortArrow()
const atermpp::aterm & default_value_PRESEqNInf()
const atermpp::aterm & default_value_ProcInit()
const atermpp::aterm & default_value_PBEqnSpec()
const atermpp::aterm & default_value_LinearProcessSummand()
const atermpp::aterm & default_value_ProcessAssignment()
const atermpp::aterm & default_value_ActionRenameSpec()
const atermpp::aterm & default_value_ActMultAct()
const atermpp::aterm & default_value_PBESOr()
const atermpp::aterm & default_value_StochasticOperator()
const atermpp::aterm & default_value_PBExpr()
const atermpp::aterm & default_value_StateNot()
const atermpp::aterm & default_value_PBES()
const atermpp::aterm & default_value_PBESForall()
const atermpp::aterm & default_value_StructProj()
const atermpp::aterm & default_value_ActId()
const atermpp::aterm & default_value_SortSpec()
const atermpp::aterm & default_value_ProcEqnSpec()
const atermpp::aterm & default_value_UntypedProcessAssignment()
const atermpp::aterm & default_value_ProcessInit()
const atermpp::aterm & default_value_PRESFalse()
const atermpp::aterm & default_value_LinProcSpec()
const atermpp::aterm & default_value_StateInfimum()
const atermpp::aterm & default_value_UntypedSortUnknown()
const atermpp::aterm & default_value_SortCons()
const atermpp::aterm & default_value_PRInit()
const atermpp::aterm & default_value_LinearProcessInit()
const atermpp::aterm & default_value_Exists()
const atermpp::aterm & default_value_PRES()
const atermpp::aterm & default_value_PBESImp()
atermpp::aterm_list default_value_List(const atermpp::aterm &t)
const atermpp::aterm & default_value_DataEqnSpec()
const atermpp::aterm & default_value_IfThen()
const atermpp::aterm & default_value_Hide()
const atermpp::aterm & default_value_StateMust()
const atermpp::aterm & default_value_Binder()
const atermpp::aterm & default_value_CommExpr()
const atermpp::aterm & default_value_PBEqn()
const atermpp::aterm & default_value_RegTransOrNil()
const atermpp::aterm & default_value_ParamIdOrAction()
const atermpp::aterm & default_value_LinearProcess()
const atermpp::aterm & default_value_ActForall()
const atermpp::aterm & default_value_SortConsType()
const atermpp::aterm & default_value_SortFBag()
const atermpp::aterm & default_value_PRESMinus()
const atermpp::aterm & default_value_AtTime()
const atermpp::aterm & default_value_String()
const atermpp::aterm & default_value_BindingOperator()
const atermpp::aterm & default_value_UntypedSortVariable()
const atermpp::aterm & default_value_ActOr()
identifier_string empty_identifier_string()
Provides the empty identifier string.
void swap(identifier_string &t1, identifier_string &t2) noexcept
\brief swap overload
std::string pp(const core::identifier_string &x, bool arg0)
std::ostream & operator<<(std::ostream &out, const identifier_string &x)
bool is_identifier_string(const atermpp::aterm &t)
Tests if a term is an identifier string.
static const atermpp::aterm Mu
static const atermpp::aterm DataVarIdInit
static const atermpp::aterm ProcSpec
static const atermpp::aterm PRESInfimum
static const atermpp::aterm Delta
static const atermpp::aterm PREqnSpec
static const atermpp::aterm StateMay
static const atermpp::aterm StateOr
static const atermpp::aterm PBESForall
static const atermpp::aterm PRESConstantMultiplyAlt
static const atermpp::aterm PBExpr
static const atermpp::aterm ParamIdOrAction
static const atermpp::aterm UntypedProcessAssignment
static const atermpp::aterm SortFSet
static const atermpp::aterm PRES
static const atermpp::aterm UntypedRegFrm
static const atermpp::aterm DataVarId
static const atermpp::aterm PBESOr
static const atermpp::aterm PRESPlus
static const atermpp::aterm Distribution
static const atermpp::aterm Allow
static const atermpp::aterm PRExpr
static const atermpp::aterm ActionRenameRules
static const atermpp::aterm PBESExists
static const atermpp::aterm RenameExpr
static const atermpp::aterm LinearProcess
static const atermpp::aterm BindingOperator
static const atermpp::aterm MultActOrDelta
static const atermpp::aterm PRESFalse
static const atermpp::aterm PRESSupremum
static const atermpp::aterm Tau
static const atermpp::aterm StateFrm
static const atermpp::aterm StateYaled
static const atermpp::aterm PRESTrue
static const atermpp::aterm ActId
static const atermpp::aterm SortArrow
static const atermpp::aterm PREqn
static const atermpp::aterm PRESSum
static const atermpp::aterm RegAlt
static const atermpp::aterm ActNot
static const atermpp::aterm Hide
static const atermpp::aterm LinearProcessInit
static const atermpp::aterm SortDecl
static const atermpp::aterm Rename
static const atermpp::aterm ActImp
static const atermpp::aterm ActTrue
static const atermpp::aterm StateInfimum
static const atermpp::aterm Process
static const atermpp::aterm StateAnd
static const atermpp::aterm ActionRenameRuleRHS
static const atermpp::aterm IfThen
static const atermpp::aterm StateExists
static const atermpp::aterm PRESConstantMultiply
static const atermpp::aterm UntypedSetBagComp
static const atermpp::aterm StochasticOperator
static const atermpp::aterm PBEqnSpec
static const atermpp::aterm PRESAnd
static const atermpp::aterm PRESCondEq
static const atermpp::aterm BInit
static const atermpp::aterm Merge
static const atermpp::aterm SortSpec
static const atermpp::aterm Lambda
static const atermpp::aterm SortExpr
static const atermpp::aterm SortConsType
static const atermpp::aterm SortId
static const atermpp::aterm UntypedSortsPossible
static const atermpp::aterm Binder
static const atermpp::aterm PRESCondSm
static const atermpp::aterm RegTrans
static const atermpp::aterm Action
static const atermpp::aterm ActOr
static const atermpp::aterm ActSpec
static const atermpp::aterm UntypedSortVariable
static const atermpp::aterm DataEqn
static const atermpp::aterm MultActName
static const atermpp::aterm StateConstantMultiplyAlt
static const atermpp::aterm SortRef
static const atermpp::aterm AtTime
static const atermpp::aterm TimedMultAct
static const atermpp::aterm Choice
static const atermpp::aterm DataExpr
static const atermpp::aterm PBESImp
static const atermpp::aterm Nu
static const atermpp::aterm ActFrm
static const atermpp::aterm ActForall
static const atermpp::aterm Comm
static const atermpp::aterm UntypedSortUnknown
static const atermpp::aterm StateYaledTimed
static const atermpp::aterm SortSet
static const atermpp::aterm PBInit
static const atermpp::aterm ActionRenameSpec
static const atermpp::aterm ProcessAssignment
static const atermpp::aterm PBESNot
static const atermpp::aterm LinProcSpec
static const atermpp::aterm ActFalse
static const atermpp::aterm Exists
static const atermpp::aterm Sync
static const atermpp::aterm StateFalse
static const atermpp::aterm RegFrm
static const atermpp::aterm FixPoint
static const atermpp::aterm SortCons
static const atermpp::aterm DataSpec
static const atermpp::aterm PropVarInst
static const atermpp::aterm PRInit
static const atermpp::aterm PRESOr
static const atermpp::aterm SortBag
static const atermpp::aterm StateDelay
static const atermpp::aterm StatePlus
static const atermpp::aterm DataEqnSpec
static const atermpp::aterm OpId
static const atermpp::aterm PRESMinus
static const atermpp::aterm PRESImp
static const atermpp::aterm StateMinus
static const atermpp::aterm StateNu
static const atermpp::aterm ActionRenameRule
static const atermpp::aterm ActAnd
static const atermpp::aterm PBES
static const atermpp::aterm LinearProcessSummand
static const atermpp::aterm StructProj
static const atermpp::aterm LMerge
static const atermpp::aterm StateDelayTimed
static const atermpp::aterm PRESEqInf
static const atermpp::aterm Whr
static const atermpp::aterm PRESEqNInf
static const atermpp::aterm ProcVarId
static const atermpp::aterm UntypedIdentifierAssignment
static const atermpp::aterm StateSupremum
static const atermpp::aterm StateSum
static const atermpp::aterm SortStruct
static const atermpp::aterm ActAt
static const atermpp::aterm GlobVarSpec
static const atermpp::aterm ProcEqnSpec
static const atermpp::aterm MultAct
static const atermpp::aterm ProcExpr
static const atermpp::aterm Seq
static const atermpp::aterm SetComp
static const atermpp::aterm ActExists
static const atermpp::aterm StateMu
static const atermpp::aterm RegTransOrNil
static const atermpp::aterm StateVar
static const atermpp::aterm StateImp
static const atermpp::aterm StructCons
static const atermpp::aterm RegSeq
static const atermpp::aterm RegNil
static const atermpp::aterm BagComp
static const atermpp::aterm UntypedIdentifier
static const atermpp::aterm Sum
static const atermpp::aterm SortFBag
static const atermpp::aterm UntypedMultiAction
static const atermpp::aterm ProcessInit
static const atermpp::aterm SortList
static const atermpp::aterm Block
static const atermpp::aterm StateTrue
static const atermpp::aterm ProcEqn
static const atermpp::aterm CommExpr
static const atermpp::aterm WhrDecl
static const atermpp::aterm StateForall
static const atermpp::aterm StateMust
static const atermpp::aterm PBEqn
static const atermpp::aterm StateNot
static const atermpp::aterm PBESFalse
static const atermpp::aterm PBESTrue
static const atermpp::aterm PropVarDecl
static const atermpp::aterm PBESAnd
static const atermpp::aterm Forall
static const atermpp::aterm UntypedDataParameter
static const atermpp::aterm ProcInit
static const atermpp::aterm MapSpec
static const atermpp::aterm ConsSpec
static const atermpp::aterm IfThenElse
static const atermpp::aterm ActMultAct
static const atermpp::aterm StateConstantMultiply
static const atermpp::function_symbol ProcEqnSpec
static const atermpp::function_symbol Lambda
static const atermpp::function_symbol PRInit
static const atermpp::function_symbol PBESTrue
static const atermpp::function_symbol UntypedRegFrm
static const atermpp::function_symbol ProcessInit
static const atermpp::function_symbol PRESTrue
static const atermpp::function_symbol StateMu
static const atermpp::function_symbol PREqnSpec
static const atermpp::function_symbol ActMultAct
static const atermpp::function_symbol RegSeq
static const atermpp::function_symbol Rename
static const atermpp::function_symbol BagComp
static const atermpp::function_symbol StateConstantMultiply
static const atermpp::function_symbol ActNot
static const atermpp::function_symbol Allow
static const atermpp::function_symbol StateSum
static const atermpp::function_symbol ActionRenameRules
static const atermpp::function_symbol ProcEqn
static const atermpp::function_symbol ActAnd
static const atermpp::function_symbol PRESCondEq
static const atermpp::function_symbol Forall
static const atermpp::function_symbol Delta
static const atermpp::function_symbol PropVarDecl
static const atermpp::function_symbol DataEqn
static const atermpp::function_symbol UntypedDataParameter
static const atermpp::function_symbol StructProj
static const atermpp::function_symbol ProcessAssignment
static const atermpp::function_symbol ActSpec
static const atermpp::function_symbol PRESImp
static const atermpp::function_symbol StateConstantMultiplyAlt
static const atermpp::function_symbol MultAct
static const atermpp::function_symbol Whr
static const atermpp::function_symbol SortFSet
static const atermpp::function_symbol IfThenElse
static const atermpp::function_symbol StateForall
static const atermpp::function_symbol PBESForall
static const atermpp::function_symbol StateOr
static const atermpp::function_symbol PRES
static const atermpp::function_symbol ActFalse
static const atermpp::function_symbol PBESFalse
static const atermpp::function_symbol RegTransOrNil
static const atermpp::function_symbol Hide
static const atermpp::function_symbol PRESEqInf
static const atermpp::function_symbol UntypedProcessAssignment
static const atermpp::function_symbol StateYaledTimed
static const atermpp::function_symbol SortList
static const atermpp::function_symbol Exists
static const atermpp::function_symbol ActId
static const atermpp::function_symbol TimedMultAct
static const atermpp::function_symbol StateExists
static const atermpp::function_symbol ActExists
static const atermpp::function_symbol ProcVarId
static const atermpp::function_symbol ConsSpec
static const atermpp::function_symbol BInit
static const atermpp::function_symbol RenameExpr
static const atermpp::function_symbol UntypedMultiAction
static const atermpp::function_symbol PRESMinus
static const atermpp::function_symbol PBES
static const atermpp::function_symbol StructCons
static const atermpp::function_symbol StochasticOperator
static const atermpp::function_symbol StateVar
static const atermpp::function_symbol StateTrue
static const atermpp::function_symbol LinProcSpec
static const atermpp::function_symbol SortRef
static const atermpp::function_symbol StateFalse
static const atermpp::function_symbol Choice
static const atermpp::function_symbol SortArrow
static const atermpp::function_symbol OpId
static const atermpp::function_symbol SortFBag
static const atermpp::function_symbol StateImp
static const atermpp::function_symbol Sync
static const atermpp::function_symbol Sum
static const atermpp::function_symbol PRESEqNInf
static const atermpp::function_symbol PBESNot
static const atermpp::function_symbol ProcSpec
static const atermpp::function_symbol MapSpec
static const atermpp::function_symbol PRESCondSm
static const atermpp::function_symbol RegAlt
static const atermpp::function_symbol RegTrans
static const atermpp::function_symbol Action
static const atermpp::function_symbol StateMinus
static const atermpp::function_symbol SetComp
static const atermpp::function_symbol PBESImp
static const atermpp::function_symbol StateNot
static const atermpp::function_symbol CommExpr
static const atermpp::function_symbol Comm
static const atermpp::function_symbol SortCons
static const atermpp::function_symbol SortSet
static const atermpp::function_symbol PBESAnd
static const atermpp::function_symbol AtTime
static const atermpp::function_symbol Nu
static const atermpp::function_symbol Binder
static const atermpp::function_symbol StateInfimum
static const atermpp::function_symbol SortSpec
static const atermpp::function_symbol StateDelay
static const atermpp::function_symbol PRESOr
static const atermpp::function_symbol StateYaled
static const atermpp::function_symbol MultActName
static const atermpp::function_symbol ActAt
static const atermpp::function_symbol PropVarInst
static const atermpp::function_symbol PBInit
static const atermpp::function_symbol StateMay
static const atermpp::function_symbol LinearProcess
static const atermpp::function_symbol Process
static const atermpp::function_symbol SortStruct
static const atermpp::function_symbol StateDelayTimed
static const atermpp::function_symbol ActImp
static const atermpp::function_symbol ActTrue
static const atermpp::function_symbol Merge
static const atermpp::function_symbol ActForall
static const atermpp::function_symbol LinearProcessInit
static const atermpp::function_symbol Block
static const atermpp::function_symbol Seq
static const atermpp::function_symbol ActionRenameRule
static const atermpp::function_symbol Mu
static const atermpp::function_symbol PRESSupremum
static const atermpp::function_symbol StatePlus
static const atermpp::function_symbol UntypedSortsPossible
static const atermpp::function_symbol IfThen
static const atermpp::function_symbol LinearProcessSummand
static const atermpp::function_symbol StateMust
static const atermpp::function_symbol PBESExists
static const atermpp::function_symbol DataVarId
static const atermpp::function_symbol ActionRenameSpec
static const atermpp::function_symbol DataSpec
static const atermpp::function_symbol SortId
static const atermpp::function_symbol GlobVarSpec
static const atermpp::function_symbol UntypedIdentifier
static const atermpp::function_symbol StateNu
static const atermpp::function_symbol PBESOr
static const atermpp::function_symbol Distribution
static const atermpp::function_symbol UntypedSortVariable
static const atermpp::function_symbol DataVarIdInit
static const atermpp::function_symbol PREqn
static const atermpp::function_symbol StateAnd
static const atermpp::function_symbol PRESPlus
static const atermpp::function_symbol SortBag
static const atermpp::function_symbol PRESInfimum
static const atermpp::function_symbol PBEqnSpec
static const atermpp::function_symbol PRESFalse
static const atermpp::function_symbol ActOr
static const atermpp::function_symbol DataEqnSpec
static const atermpp::function_symbol PRESConstantMultiply
static const atermpp::function_symbol UntypedIdentifierAssignment
static const atermpp::function_symbol PRESConstantMultiplyAlt
static const atermpp::function_symbol UntypedSetBagComp
static const atermpp::function_symbol StateSupremum
static const atermpp::function_symbol PBEqn
static const atermpp::function_symbol UntypedSortUnknown
static const atermpp::function_symbol PRESSum
static const atermpp::function_symbol PRESAnd
static const atermpp::function_symbol RegNil
static const atermpp::function_symbol LMerge
static const atermpp::function_symbol Tau
std::size_t operator()(const mcrl2::core::identifier_string &x) const