Logics of First-Order Constraints - A Category Independent Approach (original) (raw)
Related papers
First-Order Sketch Conditions and Constraints - A Category Independent Approach
arXiv (Cornell University), 2021
Generalizing different variants of "graph conditions and constraints" as well as "universal constraints" and "negative universal constraints" in the Diagram Predicate Framework (DPF) , we introduce for arbitrary categories Cxt and "statement" functors Stm : Cxt → Set general first-order sketch conditions and constraints. Sketches are used in DPF to formalize different kinds of software models. We discuss the use of sketch constraints for describing the syntactic structure of sketches. We outline the use of sketch constraints to deduce knowledge implicitly given in a sketch as well as procedures to deduce sketch constraints from given sketch constraints. We use the simple but paradigmatic modeling formalism "Category Theory" as running example.
Towards a Formalization of Constraint Diagrams
2001
Geared to complement UML and to the specification of large software systems by non-mathematicians, constraint diagrams are a visual language that generalizes the popular and intuitive Venn diagrams and Euler circles, and adds facilities for quantifying over elements and navigating relations. The language design emphasizes scalability and expressiveness while retaining intuitiveness. Spider diagrams form a subset of the notation, leaving out universal quantification and the ability to navigate relations. Spider diagrams have been given a formal definition. This paper extends that definition to encompass the constraint diagram notation. The formalization of constraint diagrams is nontrivial: it exposes subtleties concerned with the implicit ordering of symbols in the visual language, which were not evident before a formal definition of the language was attempted. This has led to an improved design of the language.
A Reasoning System for Satisfiability of Diagrammatic Specifications
Outstanding Contributions to Logic, 2018
Diagrammatic modelling is the foundation of many popular knowledge representation and software development techniques. In Model Driven Software Engineering, domain specific modelling languages are represented as metamodels and domain specific specifications are represented as models. The (meta-)models are represented by graphs and (models) instances are represented by graphs typed by the (meta)model. The typing relation is formalised by graph homomorphisms. Constraints are used to further specify the semantics of models. The state of the art modelling techniques of today have limited support for expressing and reasoning about diagrammatic constraints; constraints are usually expressed in an external textual language, not fully integrated in the metamodelling process. The diagram predicate framework, DPF is a fully diagrammatic meta modelling technique where one can express arbitrary diagrammatic constraints in the form of predicates on graphs. In this paper we build on ideas, successfuly exploited in a variety of logical systems by Orłowska and collaborators, to build a logical reasoning system for diagrammatic specifications. We enrich the expressiveness of DPF specifications to include semantic dependencies between DPF constraints and present a sound and complete reasoning system using a dual tableaux deduction system to determine if DPF specifications are satisfiable. We briefly discuss an extension of the reasoning system which uses the relational approach to encode the existence of certain graph homomorphisms and provide deduction rules to account for necessary properties of these homomorphisms.
A formal approach to the specification and transformation of constraints in MDE
The Journal of Logic and Algebraic Programming, 2012
This paper introduces a formal approach to constraint-aware model transformation which supports specifying constraints in the definition of transformation rules. These constraints are used to control which structure to create in the target model and which constraints to add to the created structure. The proposed approach is classified under heterogeneous, graphbased and out-place model transformations; and illustrated by applying it to a language translation. It is based on the Diagram Predicate Framework which provides a formalisation of (meta)modelling based on category theory and graph transformation. In particular, the proposed approach uses non-deleting transformation rules that are specified by a joined modelling language which is defined by relating the source and target languages. The relation between source and target languages is formalised by morphisms from their corresponding modelling formalisms into a joined modelling formalism. Furthermore, the application of transformation rules is formalised as a pushout construction and the final target model is obtained by a pullback construction.
The Constraint Logical Framework LFP is a variant of the General Logical Framework GLF introduced in [HLL07]. It features a generalized form of λ-abstraction where β-reductions fire provided the argument satisfies a logical predicate, which can depend on types. The key idea is that the type system memorizes under what conditions and where reductions have yet to fire. Different notions of β-reductions corresponding to different predicates can be combined in LFP. The framework LFP subsumes, by simple instantiation, LF (in fact, it is also a subsystem of LF!), as well as a large class of new generalized constraintbased λ-calculi. These are appropriate to deal smoothly with the side-conditions of both Hilbert and Natural Deduction presentations of Modal Logics. We investigate and characterize the metatheoretical properties of the calculus underpinning LFP , such as subject reduction, confluence, strong normalization. A novel approach for proving such properties is necessary, in order to deal with reductions which depend on types, since these do not have corresponding reductions in an untyped setting.
Towards Overcoming Deficiencies in Constraint Diagrams
2007
The constraint diagram language was designed to be used in conjunction with the Unified Modelling Language (UML), primarily for placing formal constraints on software models. In particular, constraint diagrams play a similar role to the textual Object Constraint Language in that they can be used for specifying system invariants and operation contracts in the context of a UML model. Constraint diagrams can also be used independently of the UML. In this paper, we illustrate a range of counter-intuitive features of constraint diagrams and highlight some (potential) expressiveness limitations. We propose a generalized version of the constraint diagram language that overcomes the illustrated counter-intuitive features and limitations.
Generalized Sketches: A Universal Logic for Diagrammatic Modeling in Software Engineering
Electronic Notes in Theoretical Computer Science, 2000
Generalized sketches is a graph-based specification format that borrows its main ideas from both categorical and first-order logic, and adapts them to software engineering needs. In the engineering jargon, it is a modeling language design pattern that combines mathematical rigor and appealing graphical appearance. The paper presents a revised framework of basic concepts to make similarities with the traditional FOL
Constraint hierarchies and logic programming
1988
Constraint Logic Programming (CLP) is a general scheme for extending logic programming to include constraints. It is parameterized by D, the domain of the constraints. However, CLP(D) languages, as well as most other constraint systems, only allow the programmer to specify constraints that must hold. In many applications, such as interactive graphics, page layout, and decision support, one needs to express preferences as well as strict requirements. If we wish to make full use of the constraint paradigm, we need ways to represent these defaults and preferences declaratively, as constraints, rather than encoding them in the procedural parts of the language. We describe a scheme for extending CLP(D) to include both required and preferential constraints, with an arbitrary number of strengths of preference. We present some of the theory of such languages, and an algorithm for executing them. To test our ideas, we have implemented an interpreter for an instance of this language scheme with D equal to the reals. We describe our interpreter, and outline some examples of using this language.
Constraint Diagrams: A Step Beyond UML
1999
The Unified Modeling Language (UML) is a set of notations for modelling object-oriented systems. It has become the de facto standard. Most of its notations are diagrammatic. An exception to this is the Object Constraint Language (OCL) which is essentially a textual, stylised form of first order predicate logic. We describe a notation, constraint diagrams, which were introduced as a visual technique intended to be used in conjunction with the UML for object-oriented modelling. Constraint diagrams provide a diagrammatic notation for expressing constraints (e.g., invariants) that could only be expressed in UML using OCL.
Constraint modelling: A challenge for first order automated reasoning
The process of modelling a problem in a form suitable for solution by constraint satisfaction or operations research techniques, as opposed to the process of solving it once formulated, requires a significant amount of reasoning. Contemporary modelling languages separate the first order description or "model" from its grounding instantiation or "data". Properties of the model independent of the data may thus be established by first order reasoning. In this talk, I survey the opportunities arising from this new application direction for automated deduction, and note some of the formidable obstacles in the way of a practically useful implementation.