SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
smtrat::cad Namespace Reference

Namespaces

 debug
 
 full
 
 full_ec
 
 preprocessor
 
 projection
 
 projection_compare
 
 sample_compare
 Contains comparison operators for samples and associated helpers.
 
 variable_ordering
 

Data Structures

class  CAD
 
class  LiftingTree
 
class  Sample
 
struct  FullSampleComparator
 
struct  FullSampleComparator< Iterator, FullSampleCompareStrategy::Value >
 
struct  FullSampleComparator< Iterator, FullSampleCompareStrategy::Type >
 
struct  FullSampleComparator< Iterator, FullSampleCompareStrategy::T >
 
class  SampleIteratorQueue
 
class  BaseProjection
 
struct  PolynomialComparator
 
class  PolynomialLiftingQueue
 
class  Projection
 
class  ModelBasedProjection
 
class  Projection< Incrementality::FULL, Backtracking::HIDE, Settings >
 
class  Projection< Incrementality::FULL, BT, Settings >
 
class  ModelBasedProjection< Incrementality::NONE, Backtracking::ORDERED, Settings >
 This class implements a projection that supports no incrementality and expects backtracking to be in order. More...
 
class  Projection< Incrementality::NONE, Backtracking::ORDERED, Settings >
 This class implements a projection that supports no incrementality and expects backtracking to be in order. More...
 
class  Projection< Incrementality::NONE, Backtracking::UNORDERED, Settings >
 This class implements a projection that supports no incrementality and allows backtracking to be out of order. More...
 
class  Projection< Incrementality::SIMPLE, BT, Settings >
 
class  ProjectionGlobalInformation
 
class  ProjectionLevelInformation
 
class  ProjectionPolynomialInformation
 
class  ProjectionInformation
 
struct  ProjectionOperator
 
struct  BaseSettings
 
class  CADConstraints
 
struct  CADCore
 
struct  CADCore< CoreHeuristic::BySample >
 
struct  CADCore< CoreHeuristic::PreferProjection >
 
struct  CADCore< CoreHeuristic::PreferSampling >
 
struct  CADCore< CoreHeuristic::Interleave >
 
struct  CADCore< CoreHeuristic::EnumerateAll >
 
struct  CADPreprocessorSettings
 
class  CADPreprocessor
 
class  ConflictGraph
 Representation of a bipartite graph (C+S, E) of vertices C and S, representing the constraints and samples, respectively. More...
 
class  MISGeneration
 
class  Origin
 This class represents one or more origins of some object. More...
 
struct  PreprocessorSettings
 
class  Preprocessor
 
struct  IncrementalityMixin
 Mixin that provides settings for incrementality and backtracking. More...
 
struct  ProjectionMixin
 Mixin that provides settings for the projection operator. More...
 
struct  SampleCompareMixin
 Mixin that provides settings for the sample comparison. More...
 
struct  ProjectionOrderMixin
 Mixin that provides settings for the projection order. More...
 
struct  MISHeuristicMixin
 Mixin that provides settings for MIS generation. More...
 

Typedefs

using RAN = smtrat::RAN
 
using ConstraintSelection = carl::Bitset
 
using OptionalID = std::optional< std::size_t >
 
using Assignment = std::map< carl::Variable, RAN >
 
using SampleLiftedWith = carl::Bitset
 
using SampleRootOf = carl::Bitset
 
using UPoly = carl::UnivariatePolynomial< Poly >
 
template<typename Settings >
using ProjectionT = Projection< Settings::incrementality, Settings::backtracking, Settings >
 
template<typename Settings >
using ModelBasedProjectionT = ModelBasedProjection< Settings::incrementality, Settings::backtracking, Settings >
 
using IncrementalityNO = IncrementalityMixin< Incrementality::NONE, Backtracking::ORDERED >
 
using IncrementalityNU = IncrementalityMixin< Incrementality::NONE, Backtracking::UNORDERED >
 
using IncrementalitySO = IncrementalityMixin< Incrementality::SIMPLE, Backtracking::ORDERED >
 
using IncrementalitySU = IncrementalityMixin< Incrementality::SIMPLE, Backtracking::UNORDERED >
 
using IncrementalityF = IncrementalityMixin< Incrementality::FULL, Backtracking::UNORDERED >
 
using IncrementalityFO = IncrementalityMixin< Incrementality::FULL, Backtracking::UNORDERED >
 
using IncrementalityEQ = IncrementalityMixin< Incrementality::FULL, Backtracking::HIDE >
 
using IncrementalityFU = IncrementalityMixin< Incrementality::FULL, Backtracking::UNORDERED >
 
using ProjectionCollins = ProjectionMixin< ProjectionType::Collins >
 
using ProjectionHong = ProjectionMixin< ProjectionType::Hong >
 
using ProjectionMcCallum = ProjectionMixin< ProjectionType::McCallum >
 
using ProjectionMcCallum_partial = ProjectionMixin< ProjectionType::McCallum_partial >
 
using ProjectionLazard = ProjectionMixin< ProjectionType::Lazard >
 
using ProjectionBrown = ProjectionMixin< ProjectionType::Brown >
 
using SampleCompareValue = SampleCompareMixin< SampleCompareStrategy::Value, FullSampleCompareStrategy::Value >
 
using SampleCompareType = SampleCompareMixin< SampleCompareStrategy::Type, FullSampleCompareStrategy::Type >
 
using SampleCompareT = SampleCompareMixin< SampleCompareStrategy::T, FullSampleCompareStrategy::T >
 
using SampleCompareTLSA = SampleCompareMixin< SampleCompareStrategy::TLSA, FullSampleCompareStrategy::T >
 
using SampleCompareTSA = SampleCompareMixin< SampleCompareStrategy::TSA, FullSampleCompareStrategy::T >
 
using SampleCompareTS = SampleCompareMixin< SampleCompareStrategy::TS, FullSampleCompareStrategy::T >
 
using SampleCompareLT = SampleCompareMixin< SampleCompareStrategy::LT, FullSampleCompareStrategy::T >
 
using SampleCompareLTA = SampleCompareMixin< SampleCompareStrategy::LTA, FullSampleCompareStrategy::T >
 
using SampleCompareLTS = SampleCompareMixin< SampleCompareStrategy::LTS, FullSampleCompareStrategy::T >
 
using SampleCompareLTSA = SampleCompareMixin< SampleCompareStrategy::LTSA, FullSampleCompareStrategy::T >
 
using SampleCompareLS = SampleCompareMixin< SampleCompareStrategy::LS, FullSampleCompareStrategy::T >
 
using SampleCompareS = SampleCompareMixin< SampleCompareStrategy::S, FullSampleCompareStrategy::T >
 
using ProjectionOrderDefault = ProjectionOrderMixin< ProjectionCompareStrategy::Default >
 
using ProjectionOrderD = ProjectionOrderMixin< ProjectionCompareStrategy::D >
 
using ProjectionOrderPD = ProjectionOrderMixin< ProjectionCompareStrategy::PD >
 
using ProjectionOrderSD = ProjectionOrderMixin< ProjectionCompareStrategy::SD >
 
using ProjectionOrderlD = ProjectionOrderMixin< ProjectionCompareStrategy::lD >
 
using ProjectionOrderLD = ProjectionOrderMixin< ProjectionCompareStrategy::LD >
 
using MISHeuristicTrivial = MISHeuristicMixin< MISHeuristic::TRIVIAL >
 
using MISHeuristicGreedy = MISHeuristicMixin< MISHeuristic::GREEDY >
 

Enumerations

enum class  Incrementality { NONE , SIMPLE , FULL }
 
enum class  Backtracking { ORDERED , UNORDERED , HIDE }
 
enum class  ProjectionType {
  Collins , Hong , McCallum , McCallum_partial ,
  Lazard , Brown
}
 
enum class  ProjectionCompareStrategy {
  D , PD , SD , lD ,
  LD , Default = lD
}
 
enum class  SampleCompareStrategy {
  T , TLSA , TSA , TS ,
  LT , LTA , LTS , LTSA ,
  LS , S , Type , Value ,
  Default = LT
}
 
enum class  FullSampleCompareStrategy { Type , Value , T , Default = T }
 
enum class  MISHeuristic {
  TRIVIAL , GREEDY , GREEDY_PRE , GREEDY_WEIGHTED ,
  EXACT , HYBRID
}
 
enum class  CoreHeuristic {
  BySample , PreferProjection , PreferSampling , EnumerateAll ,
  Interleave
}
 

Functions

template<typename I , typename C >
std::ostream & operator<< (std::ostream &os, const SampleIteratorQueue< I, C > &siq)
 
template<typename PG >
std::ostream & operator<< (std::ostream &os, const PolynomialLiftingQueue< PG > &plq)
 
template<typename S >
std::ostream & operator<< (std::ostream &os, const Projection< Incrementality::FULL, Backtracking::HIDE, S > &p)
 
std::ostream & operator<< (std::ostream &os, const full::Polynomial &p)
 
template<typename S , Backtracking B>
std::ostream & operator<< (std::ostream &os, const Projection< Incrementality::FULL, B, S > &p)
 
template<typename S >
std::ostream & operator<< (std::ostream &os, const ModelBasedProjection< Incrementality::NONE, Backtracking::ORDERED, S > &p)
 
template<typename S >
std::ostream & operator<< (std::ostream &os, const Projection< Incrementality::NONE, Backtracking::ORDERED, S > &p)
 
template<typename S >
std::ostream & operator<< (std::ostream &os, const Projection< Incrementality::NONE, Backtracking::UNORDERED, S > &p)
 
template<typename S , Backtracking B>
std::ostream & operator<< (std::ostream &os, const Projection< Incrementality::SIMPLE, B, S > &p)
 
template<typename Poly >
projection_compare::Candidate< Polycandidate (const Poly &p, const Poly &q, std::size_t level)
 
std::ostream & operator<< (std::ostream &os, const ProjectionGlobalInformation &gi)
 
std::ostream & operator<< (std::ostream &os, const ProjectionLevelInformation::LevelInfo &li)
 
std::ostream & operator<< (std::ostream &os, const ProjectionPolynomialInformation::PolyInfo &pi)
 
template<Backtracking BT>
std::ostream & operator<< (std::ostream &os, const CADConstraints< BT > &cc)
 
const auto & settings_cadpp ()
 
std::ostream & operator<< (std::ostream &os, const CADPreprocessor &cadpp)
 
std::ostream & operator<< (std::ostream &os, const ConflictGraph &cg)
 
std::ostream & operator<< (std::ostream &os, const Preprocessor &cadpp)
 

Typedef Documentation

◆ Assignment

using smtrat::cad::Assignment = typedef std::map<carl::Variable, RAN>

Definition at line 14 of file common.h.

◆ ConstraintSelection

using smtrat::cad::ConstraintSelection = typedef carl::Bitset

Definition at line 12 of file common.h.

◆ IncrementalityEQ

◆ IncrementalityF

◆ IncrementalityFO

◆ IncrementalityFU

◆ IncrementalityNO

◆ IncrementalityNU

◆ IncrementalitySO

◆ IncrementalitySU

◆ MISHeuristicGreedy

◆ MISHeuristicTrivial

◆ ModelBasedProjectionT

template<typename Settings >
using smtrat::cad::ModelBasedProjectionT = typedef ModelBasedProjection<Settings::incrementality, Settings::backtracking, Settings>

Definition at line 25 of file Projection.h.

◆ OptionalID

using smtrat::cad::OptionalID = typedef std::optional<std::size_t>

Definition at line 13 of file common.h.

◆ ProjectionBrown

◆ ProjectionCollins

◆ ProjectionHong

◆ ProjectionLazard

◆ ProjectionMcCallum

◆ ProjectionMcCallum_partial

◆ ProjectionOrderD

◆ ProjectionOrderDefault

◆ ProjectionOrderlD

◆ ProjectionOrderLD

◆ ProjectionOrderPD

◆ ProjectionOrderSD

◆ ProjectionT

template<typename Settings >
using smtrat::cad::ProjectionT = typedef Projection<Settings::incrementality, Settings::backtracking, Settings>

Definition at line 19 of file Projection.h.

◆ RAN

using smtrat::cad::RAN = typedef smtrat::RAN

Definition at line 11 of file common.h.

◆ SampleCompareLS

◆ SampleCompareLT

◆ SampleCompareLTA

◆ SampleCompareLTS

◆ SampleCompareLTSA

◆ SampleCompareS

◆ SampleCompareT

◆ SampleCompareTLSA

◆ SampleCompareTS

◆ SampleCompareTSA

◆ SampleCompareType

◆ SampleCompareValue

◆ SampleLiftedWith

using smtrat::cad::SampleLiftedWith = typedef carl::Bitset

Definition at line 15 of file common.h.

◆ SampleRootOf

using smtrat::cad::SampleRootOf = typedef carl::Bitset

Definition at line 16 of file common.h.

◆ UPoly

using smtrat::cad::UPoly = typedef carl::UnivariatePolynomial<Poly>

Definition at line 17 of file common.h.

Enumeration Type Documentation

◆ Backtracking

Enumerator
ORDERED 
UNORDERED 
HIDE 

Definition at line 8 of file Settings.h.

◆ CoreHeuristic

Enumerator
BySample 
PreferProjection 
PreferSampling 
EnumerateAll 
Interleave 

Definition at line 30 of file Settings.h.

◆ FullSampleCompareStrategy

Enumerator
Type 
Value 
Default 

Definition at line 28 of file Settings.h.

◆ Incrementality

Enumerator
NONE 
SIMPLE 
FULL 

Definition at line 7 of file Settings.h.

◆ MISHeuristic

Enumerator
TRIVIAL 
GREEDY 
GREEDY_PRE 
GREEDY_WEIGHTED 
EXACT 
HYBRID 

Definition at line 29 of file Settings.h.

◆ ProjectionCompareStrategy

Enumerator
PD 
SD 
lD 
LD 
Default 

Definition at line 10 of file Settings.h.

◆ ProjectionType

Enumerator
Collins 
Hong 
McCallum 
McCallum_partial 
Lazard 
Brown 

Definition at line 9 of file Settings.h.

◆ SampleCompareStrategy

Enumerator
TLSA 
TSA 
TS 
LT 
LTA 
LTS 
LTSA 
LS 
Type 
Value 
Default 

Definition at line 14 of file Settings.h.

Function Documentation

◆ candidate()

template<typename Poly >
projection_compare::Candidate<Poly> smtrat::cad::candidate ( const Poly p,
const Poly q,
std::size_t  level 
)

Definition at line 102 of file ProjectionComparator.h.

Here is the caller graph for this function:

◆ operator<<() [1/16]

template<Backtracking BT>
std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const CADConstraints< BT > &  cc 
)

Definition at line 253 of file CADConstraints.h.

◆ operator<<() [2/16]

std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const CADPreprocessor cadpp 
)
inline

Definition at line 224 of file CADPreprocessor.h.

◆ operator<<() [3/16]

std::ostream & smtrat::cad::operator<< ( std::ostream &  os,
const ConflictGraph cg 
)

Definition at line 133 of file ConflictGraph.cpp.

◆ operator<<() [4/16]

std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const full::Polynomial p 
)
inline

Definition at line 17 of file Projection_F.h.

◆ operator<<() [5/16]

template<typename S >
std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const ModelBasedProjection< Incrementality::NONE, Backtracking::ORDERED, S > &  p 
)

Definition at line 307 of file Projection_Model.h.

◆ operator<<() [6/16]

template<typename PG >
std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const PolynomialLiftingQueue< PG > &  plq 
)
inline

Definition at line 69 of file PolynomialLiftingQueue.h.

◆ operator<<() [7/16]

std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const Preprocessor cadpp 
)
inline

Definition at line 123 of file Preprocessor.h.

◆ operator<<() [8/16]

template<typename S , Backtracking B>
std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const Projection< Incrementality::FULL, B, S > &  p 
)

Definition at line 433 of file Projection_F.h.

◆ operator<<() [9/16]

template<typename S >
std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const Projection< Incrementality::FULL, Backtracking::HIDE, S > &  p 
)

Definition at line 765 of file Projection_EC.h.

◆ operator<<() [10/16]

template<typename S >
std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const Projection< Incrementality::NONE, Backtracking::ORDERED, S > &  p 
)

Definition at line 185 of file Projection_NO.h.

◆ operator<<() [11/16]

template<typename S >
std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const Projection< Incrementality::NONE, Backtracking::UNORDERED, S > &  p 
)

Definition at line 161 of file Projection_NU.h.

◆ operator<<() [12/16]

template<typename S , Backtracking B>
std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const Projection< Incrementality::SIMPLE, B, S > &  p 
)

Definition at line 73 of file Projection_S.h.

◆ operator<<() [13/16]

std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const ProjectionGlobalInformation gi 
)
inline

Definition at line 319 of file ProjectionInformation.h.

◆ operator<<() [14/16]

std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const ProjectionLevelInformation::LevelInfo li 
)
inline

Definition at line 325 of file ProjectionInformation.h.

◆ operator<<() [15/16]

std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const ProjectionPolynomialInformation::PolyInfo pi 
)
inline

Definition at line 329 of file ProjectionInformation.h.

◆ operator<<() [16/16]

template<typename I , typename C >
std::ostream& smtrat::cad::operator<< ( std::ostream &  os,
const SampleIteratorQueue< I, C > &  siq 
)
inline

Definition at line 63 of file SampleIteratorQueue.h.

◆ settings_cadpp()

const auto & smtrat::cad::settings_cadpp ( )
inline

Definition at line 35 of file CADPreprocessor.h.

Here is the caller graph for this function: