Term
Murxla defines type
Term
for term representations
as an alias of shared pointer
(std::shared_ptr)
to AbsTerm
.
We only deal with Term
objects in Murxla core
components and at the interface between Murxla and the solver wrapper.
-
bool murxla::operator==(const Term &a, const Term &b)
Operator overload for equality over Terms.
- Parameters:
a – The term to be compared with the other term.
b – The other term.
- Returns:
True if AbsTerm::equals() (which queries the solver) is true and the sorts of
a
andb
are equal.
-
bool murxla::operator!=(const Term &a, const Term &b)
- Parameters:
a – The term to be compared with the other term.
b – The other term. Operator overload for disequality over Terms.
- Returns:
True if AbsTerm::not_equals() (which queries the solver) is true and the sorts of
a
andb
are not equal.
-
std::ostream &murxla::operator<<(std::ostream &out, const Term t)
Serialize a Term to given stream.
This represents a term as ‘t’ + its id and is mainly intended for tracing purposes. For a representation of a term as provided by the corresponding solver, use AbsTerm::to_string() instead.
- Parameters:
out – The output stream.
t – The term to be serialized.
- Returns:
The output stream.
-
std::ostream &murxla::operator<<(std::ostream &out, const std::vector<Term> &vector)
Serialize a vector of Terms to given stream.
As above, a term is represented as
t
+ its id, so this will yield a list of space separatedt<id>
s.- Parameters:
out – The output stream.
vector – The vector of terms to be serialized.
- Returns:
The output stream.