12#ifndef MCRL2_PBES_DETAIL_TERM_TRAITS_OPTIMIZED_H
13#define MCRL2_PBES_DETAIL_TERM_TRAITS_OPTIMIZED_H
101 template <
typename FwdIt>
108 template <
typename FwdIt>
void optimized_exists_no_empty_domain(Term &result, const VariableSequence &l, const Term &p, bool remove_variables=false)
Make an existential quantification.
void optimized_or(Term &result, const Term &p, const Term &q)
Make a conjunction, and optimize if possible.
void optimized_imp(Term &result, const Term &p, const Term &q)
Make an implication.
void optimized_forall_no_empty_domain(Term &result, const VariableSequence &l, const Term &p, bool remove_variables=false)
Make a universal quantification.
void optimized_not(Term &result, const Term &arg)
Make a negation.
void optimized_and(Term &result, const Term &p, const Term &q)
Make a conjunction, and optimize if possible.
T join(FwdIt first, FwdIt last, BinaryOperation op, T empty_sequence_result)
Given a sequence [t1, t2, ..., tn] of elements of type T, returns op(t1, op(t2, .....
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
The class pbes_expression.
core::term_traits< pbes_system::pbes_expression > super
static void make_imp(term_type &result, const term_type &x, const term_type &y)
static void make_exists(term_type &result, const variable_sequence_type &d, const term_type &x)
static void make_forall(term_type &result, const variable_sequence_type &d, const term_type &x)
static void make_not_(term_type &result, const term_type &x)
static term_type or_(const term_type &x, const term_type &y)
static void make_and_(term_type &result, const term_type &x, const term_type &y)
static term_type join_or(FwdIt first, FwdIt last)
static term_type join_and(FwdIt first, FwdIt last)
static term_type and_(const term_type &x, const term_type &y)
static term_type not_(const term_type &x)
static term_type imp(const term_type &x, const term_type &y)
static void make_or_(term_type &result, const term_type &x, const term_type &y)
Contains type information for terms.
Contains type information for terms.