Constraint Handling Rules 1st Edition by Thom Frühwirth – Ebook PDF Instant Download/Delivery: 0521877768, 978-0521877763
Full download Constraint Handling Rules 1st edition after payment

Product details:
ISBN 10: 0521877768
ISBN 13: 978-0521877763
Author: Thom Frühwirth
Constraint Handling Rules (CHR) is both a theoretical formalism based on logic and a practical programming language based on rules. This book, written by the creator of CHR, describes the theory of CHR and how to use it in practice. It is supported by a website containing teaching materials, online demos, and free downloads of the language. After a basic tutorial, the author describes in detail the CHR language and discusses guaranteed properties of CHR programs. The author then compares CHR with other formalisms and languages and illustrates how it can capture their essential features. Finally, larger programs are introduced and analyzed in detail. The book is ideal for graduate students and lecturers, and for more experienced programmers and researchers, who can use it for self-study. Exercises with selected solutions, and bibliographic remarks are included at the ends of chapters. The book is the definitive reference on the subject.
Constraint Handling Rules 1st Table of contents:
Part I CHR tutorial
1 Getting started
1.1 How CHR works
1.1.1 Propositional rules
1.1.2 Logical variables
1.1.3 Built-in constraints
1.2 CHR programs and their execution
1.2.1 Concrete syntax
1.2.2 Informal semantics
1.3 Exercises
1.4 Origins and applications of CHR
2 My first CHR programs
2.1 CHR as a database language
2.2 Multiset transformation
2.2.1 Minimum
2.2.2 Boolean Exclusive Or
2.2.3 Greatest common divisor
2.2.4 Prime numbers Sieve of Eratosthenes
2.2.5 Exchange sort
2.2.6 Newton’s method for square roots
2.3 Procedural algorithms
2.3.1 Maximum
2.3.2 Fibonacci
2.3.3 Depth first search in trees
2.3.4 Destructive assignment
2.4 Graph-based algorithms
2.4.1 Transitive closure
2.4.2 Partial order constraint
2.4.3 Grammar parsing
2.4.4 Ordered merging and sorting
2.5 Exercises
Part II The CHR language
3 Syntax and semantics
3.1 Preliminaries
3.1.1 Syntactic expressions
3.1.2 Substitution, variants, and equality
3.1.3 Constraint systems
3.1.4 Transition systems
3.2 Abstract syntax
3.3 Operational semantics
3.3.1 Very abstract semantics
3.3.2 CHR with disjunction
3.3.3 Abstract semantics ωt
3.3.4 Refined operational semantics ωr
3.4 Declarative semantics
3.4.1 First-order logic declarative semantics
3.4.2 Linear logic declarative semantics
3.5 Bibliographic remarks
4 Properties of CHR
4.1 Anytime approximation algorithm property
4.2 Monotonicity and online algorithm property
4.3 Declarative concurrency and logical parallelism
4.3.1 Processes, concurrency, and parallelism
4.3.2 Parallelism in CHR
4.4 Computational power and expressiveness
4.5 Bibliographic remarks
5 Program analysis
5.1 Termination
5.1.1 Rankings
5.1.2 Program termination
5.1.3 Derivation lengths
5.2 Confluence
5.2.1 Minimal states
5.2.2 Joinability
5.2.3 Confluence test
5.2.4 Joinability for confluence
5.2.5 Examples
5.2.6 Confluence test for the abstract semantics
5.2.7 Properties of confluent programs
5.3 Completion
5.3.1 Completion algorithm
5.3.2 Examples
5.3.3 Correctness
5.3.4 Failing completion and inconsistency
5.3.5 Program specialization by completion
Example 5.3.8 Let be the following CHR program (trying to implement
Example 5.3.9 We define the binary CHR constraint as a special case
Example 5.3.10 The classical Prolog predicate holds
Example 5.3.11 The classical Prolog predicate as a CHR constraint
Example 5.3.12 Consider again from Example 5.3.10. Using CHR,
5.4 Modularity of termination and confluence
5.4.1 Modularity of termination
5.4.2 Modularity of confluence
5.5 Operational equivalence
5.5.1 Operational equivalence of programs
5.5.2 Operational equivalence of constraints
5.5.3 Removal of redundant rules
5.6 Worst-case time complexity
5.6.1 Simplification rules
5.6.2 Programs
5.7 Bibliographic remarks
6 Rule-based and graph-based formalisms in CHR
6.1 Rule-based systems
6.1.1 Production rule systems
6.1.2 Negation-as-absence
6.1.3 Conflict resolution
6.1.4 Event–condition–action rules
6.1.5 Logical algorithms formalism
6.2 Rewriting-based and graph-based formalisms
6.2.1 Term rewriting systems
6.2.2 Multiset transformation
6.2.3 Petri nets
6.3 Constraint-based and logic-based programming
6.3.1 Prolog and constraint logic programming
6.3.2 Concurrent constraint programming
6.4 Bibliographic remarks
Part III CHR programs and applications
7 My first CHR programs, revisited for analysis
7.1 Multiset transformation
7.1.1 Minimum
7.1.2 Boolean Exclusive Or
7.1.3 Greatest common divisor
7.1.4 Primes sieve of Eratosthenes
7.1.5 Exchange sort
7.1.6 Newton’s method for square roots
7.2 Procedural algorithms
7.2.1 Maximum
7.2.2 Fibonacci numbers
7.2.3 Depth-first search in trees
7.2.4 Destructive assignment
7.3 Graph-based algorithms
7.3.1 Transitive closure
7.3.2 Partial order constraint
7.3.3 Grammar parsing
7.3.4 Ordered merging and sorting
7.4 Exercises
8 Finite domain constraint solvers
8.1 Boolean algebra and propositional logic
8.1.1 Boolean algebra
8.1.2 Boolean cardinality
8.1.3 Clauses and resolution
8.2 Path and arc consistency
8.2.1 Constraint networks and operations
8.2.2 Path consistency
8.2.3 Finite domain arc consistency
8.2.4 Temporal reasoning with path consistency
8.3 Exercises
8.4 Bibliographic remarks
9 Infinite domain constraint solvers
9.1 Linear polynomial equation solving
9.1.1 Variable elimination
9.1.2 Gaussian-style elimination
9.1.3 Fourier’s algorithm
9.2 Lexicographic order global constraint
9.2.1 Stepwise implementation
9.2.2 Constraint solver
9.2.3 Worst-case time complexity
9.2.4 Confluence
9.2.5 Logical correctness
9.2.6 Completeness
9.3 Description logic
9.3.1 Syntax and semantics
9.3.2 Constraint solver
9.3.3 Extensions
9.3.4 Description logic with rules
9.4 Rational trees
9.4.1 Constraint solver
9.5 Feature terms
9.6 Exercises
9.7 Bibliographic remarks
10 Union-find algorithm
10.1 Union-find algorithm
10.1.1 Basic union-find
10.1.2 Optimized union-find
10.1.3 Complexity
10.2 Rational tree unification with union-find
10.3 Parallelizing union-find
10.3.1 Basic union-find
10.3.2 Optimized union-find
10.3.3 Correctness and complexity
10.4 Generalizing union-find
10.4.1 Generalized union-find
10.4.2 Boolean equations
10.4.3 Linear polynomials
10.5 Bibliographic remarks
People also search for Constraint Handling Rules 1st:
chr constraint handling rules
difference between constraint and restraint
restraint or constraint
handling constraint
constraint rules


