Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • N ndl
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • pro
  • ndl
  • Wiki
  • specification

specification · Changes

Page history
Adds semantics part to the model authored Nov 06, 2018 by Mateusz Ślażyński's avatar Mateusz Ślażyński
Hide whitespace changes
Inline Side-by-side
specification.md
View page @ ab21c8e6
......@@ -39,6 +39,7 @@ NDL model defines structure of the constraint programming problem and is compile
* Variable related:
* `fixed(+Name:string)` - variables with this name shouldn't be modified by the NDL query. Used only during compilation.
* `auxillary(+Name:string)` - variables with this name should be calculated in run-time based on one-directional constrants, used to define complex constraints
* `depends(+Name:string, ?AVar:aux_variable_index, ?Var:variable_index)` - specifies on which variable, the auxillary variable is defined
* `reified(+Name:string)` - variables with this name reify constraints with the same name. Their domain is always boolean.
* family of `variable` predicates allowing to non-deterministically get an indexed variable and it's index. **Used in the NDL query.**
* `variable(+Name:string, -Index:variable_index) is nondet` - for 0-dimensional variable types.
......@@ -49,6 +50,11 @@ NDL model defines structure of the constraint programming problem and is compile
* Constraint related:
* `constraint(+Name:string, ?Arg1:type_of(arg1(Name)), ?Index2:type_of(arg2(Name)) is nondet` - allows to non-deterministically check if two arguments (variables or range elements) are constrained with a constraint named `Name`. Also allows to find elements satisfying those requirements. **Used in the NDL query**.
* `reified_constraint(+Name:string, ?Arg1:arg1(Name)-?Arg2:arg2(Name), ?Rvar:rvariable_index)` - maps constraint to its reificiation
* Semantics related:
* `constraint_semantics(+Name:string, +Body:query)` - specifies a query checking if the constraint is satisfied
* `auxillary_semantics(+Name:string, +Body:query)` - specifies a query that updates value of the auxillary variable
## Query
......
Clone repository
  • 20181018
  • Theory
  • Home
  • knowledge base
  • specification