# Package org.eclipse.viatra.query.runtime.matchers.psystem

- Interface Summary
  Interface | Description
  --- | ---
  IExpressionEvaluator | An expression evaluator is used to execute arbitrary Java code during pattern matching.
  IMultiQueryReference | A `PConstraint` that implements this interface refers to a list of PQueries.
  InitializablePQuery | Adds extra methods to the PQuery interface to initialize its contents.
  IQueryReference | A `PConstraint` that implements this interface refers to a `PQuery`.
  IRelationEvaluator | Implementations of this interface take an arbitrary number of input relations with their contents and compute the tuples of a single output relation.
  ITypeConstraint | Common superinterface of enumerable and deferred type constraints.
  ITypeInfoProviderConstraint |
  IValueProvider | Helper interface to get values from a tuple of variables.
  PConstraint |
  PTraceable | Marker interface for PSystem elements that can be traced.

- Class Summary
  Class | Description
  --- | ---
  BasePConstraint |
  DeferredPConstraint | Any constraint that can only be checked on certain SubPlans (e.g.
  EnumerablePConstraint | A constraint for which all satisfying tuples of variable values can be enumerated at any point during run-time.
  ITypeConstraint.TypeConstraintUtil | Static internal utility class for implementations of `ITypeConstraint`s.
  KeyedEnumerablePConstraint<KeyType> |
  PBody | A set of constraints representing a pattern body
  PVariable |
  TypeJudgement | A judgement that means that the given tuple of variables will represent a tuple of values that is a member of the extensional relation identified by the given input key.
  VariableDeferredPConstraint | A kind of deferred constraint that can only be checked when a set of deferring variables are all present in a plan.