Predicates
This section describes the predicate types available in this package.
MathematicalPredicates.Predicate
— TypePredicate{N}
The abstract supertype of predicates.
MathematicalPredicates.evaluate
— Functionevaluate(p::Predicate, args...)
Evaluate a predicate for given arguments.
Input
p
– predicateargs
– argument list
Output
A Bool
corresponding to the evaluation of p(args)
.
Notes
We offer p(args)
as a short-hand version of evaluate(p, args)
.
Atom
MathematicalPredicates.Atom
— TypeAtom{N, T} <: Predicate{N}
An atomic predicate of arity N
.
Fields
p
– Julia predicate
Negation
MathematicalPredicates.Negation
— TypeNegation{N, T<:Predicate{N}} <: Predicate{N}
A negation of a predicate of arity N
.
Fields
p
– predicate
Conjunction
MathematicalPredicates.Conjunction
— TypeConjunction{N, VT<:AbstractVector{<:Tuple{<:Predicate, <:AbstractVector{Int}}}} <: Predicate{N}
A conjunction of predicates of arity N
.
Fields
conjuncts
– vector of conjuncts
Disjunction
MathematicalPredicates.Disjunction
— TypeDisjunction{N, VT<:AbstractVector{<:Tuple{<:Predicate, <:AbstractVector{Int}}}} <: Predicate{N}
A disjunction of predicates of arity N
.
Fields
disjuncts
– vector of disjuncts