<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Semantics-based Logics over Hierarchical Nominative Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>.S. Nikitchenko</string-name>
          <email>nikitchenko@unicyb.kiev.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>S.S. Shkilniak</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Key Terms. MachineIntelligence</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Theory and Technology of Programming Taras Shevchenko National University of Kyiv 01601</institution>
          ,
          <addr-line>Kyiv, Volodymyrska st, 60 Tel.:</addr-line>
        </aff>
      </contrib-group>
      <fpage>296</fpage>
      <lpage>311</lpage>
      <abstract>
        <p>In the paper new logics oriented on hierarchical data are developed. Algebras of partial predicates over such data with special compositions as operations form a semantic base for constructed logics. Characteristic property of such logics is the usage of composite names in their languages. Semantic properties of these logics are studied; corresponding sequent calculi are defined, their soundness and completeness are proved for logics of renominative level.</p>
      </abstract>
      <kwd-group>
        <kwd>partial predicates</kwd>
        <kwd>program composition</kwd>
        <kwd>logic</kwd>
        <kwd>soundness</kwd>
        <kwd>completeness</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Research,</p>
      <p>MathematicalModel,</p>
      <p>FormalMethods,
Mathematical logic is widely used in formal program development, analysis, and
verification. Still, some discrepancies can be admitted between traditional logic and
problems to be solved. For example:
 semantics of programs is presented by partial functions, whereas in traditional
logic total functions and predicates are usually considered;
 programming languages have a developed system of data types, whereas traditional
logic prefers to operate with simple unstructured types (sorts);
 semantic aspects of programs prevail over syntactical aspects, whereas in
traditional logic we have the inverse situation.</p>
      <p>Discrepancies mentioned above complicate the usage of logic for program
development and verification. In this paper we propose to take program models as an
initial point and construct logics semantically based on such models.</p>
      <p>
        To realize this idea we should first construct adequate models of programs. To
tackle this problem we use composition-nominative approach to program
formalization [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which aims to construct a hierarchy of program models of various
abstraction levels and generality. The main principles of the approach are the
following.
 Development principle (from abstract to concrete): program notions should be
introduced as a process of their development that starts from abstract
understanding capturing essential program properties and proceeds to more
concrete considerations.
 Principle of integrity of intensional and extensional aspects: program notions
should be presented in the integrity of their intensional and extensional aspects.
      </p>
      <p>The intensional aspects in this integrity play a leading role.
 Principle of priority of semantics over syntax: program semantic and syntactical
aspects should be first studied separately, then in their integrity in which semantic
aspects prevail over syntactical ones.
 Compositionality principle: programs can be constructed from simpler programs
(functions) with the help of special operations, called compositions, which form a
kernel of program semantics structures.
 Nominativity principle: nominative (naming) relations are basic ones in
constructing data and programs.</p>
      <p>
        Here we have presented only principles relevant to the topic of the article; richer
system of principles is developed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The above principles specify program models
as composition-nominative systems (CNS) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Such a system may be considered as a
triple of simpler systems: composition, description, and denotation systems. A
composition system defines semantic aspects of programs, a description system
defines program descriptions (syntactical aspects), and a denotation system specifies
meanings (referents) of descriptions. We consider semantics of programs as partial
functions over class of data processed by programs; compositions are n-ary operations
over functions. Thus, composition system can be specified as two algebras: data
algebra and functional algebra.
      </p>
      <p>Functional algebra is the main semantic notion in program formalization. Terms of
this algebra define syntax of programs (descriptive system), and ordinary procedure
of term interpretation gives a denotation system.</p>
      <p>
        CNS can be used to construct formal models of various programming,
specification, and database languages [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1–4</xref>
        ]. The program models presented by CNS
are mathematically simple, but specify program semantics rather adequately; program
models are highly parametric and can in a natural way represent programs of various
abstraction levels; there is a possibility to introduce on a base of CNS the notion of
special (abstract) computability and various axiomatic formalisms [
        <xref ref-type="bibr" rid="ref5 ref6 ref7">5–7</xref>
        ].
      </p>
      <p>CNS are classified in accordance with levels of abstraction of their parameters:
data, functions, and compositions. In this article levels of program models are induced
by abstraction levels of data.</p>
      <p>Data are considered at three levels: abstract, Boolean, and nominative. At the
abstract level data are treated as "black boxes", thus no information can be extracted.
At the Boolean level to abstract data new data considered as "white boxes" are added.
Usually, these are logical values T (true) and F (false) from the set Bool. At the
nominative level data are considered as "grey boxes", constructed of "black" and
"white boxes" with the help of naming relations. The last level is the most interesting
for programming. Data of this level are called nominative data. The class of
nominative data over a set of names V and class of basic values W can be defined
inductively or as the least fixed point of the recursive definition
ND(V ,W )  W  (V m ND(V ,W )) , where</p>
    </sec>
    <sec id="sec-2">
      <title>V m ND(V ,W ) is the class of</title>
      <p>partial multi-valued (non-deterministic) functions.</p>
      <p>To present nominative data we use the form d = [vI ai | iI]. Nominative
membership relation is denoted by . Thus, vi ai d means that the value of vi in d
is defined and is equal to ai.</p>
      <p>The class ND(V,W) \ W is called the class of proper nominative data, or
hierarchical nominative data; data from the class V mW will be called flat
nominative data.</p>
      <p>
        Concretizations of nominative data can represent various data structures, such as
records, arrays, lists, relations, etc. [
        <xref ref-type="bibr" rid="ref1 ref4">1, 4</xref>
        ]. For example, a set {s1, s2, ..., sn} can be
presented as nominative data [1s1, 1s2, ..., 1sn], where 1 is treated as a standard
name. Thus, we can formulate the following data representation principle: program
data can be presented as concretizations of nominative data.
      </p>
      <p>
        The levels of data abstraction formulated above may be treated as data
intensionals. They respectively specify three levels of semantics-based program
models: abstract, Boolean, nominative. The models of each level constitute
extensionals of that level intensional. Program models of abstract level are very poor
(actually, only sequencing compositions can be defined). Program models of Boolean
level are richer and permit to define structured programming constructs (sequence,
selection, and repetition). This level is still too abstract and does not explicitly specify
data variables. At last, models of nominative level permit to formalise compositions
of traditional programming. This level (its intensional) involves variables of different
types. Consider, for example, a simple educational programming language WHILE
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], which is based on three main syntactical components: arithmetic expressions,
Boolean expression, and statements. States of WHILE programs are considered as
partial functions from the set V of variables to the set Z of values and here are denoted
by VZ(=V Z). Thus, semantics of these components is the following: arithmetic
expressions specify functions of the type VZ Z (we call them partial quasiary
functions), Boolean expressions define functions of the type VZ Bool (partial
quasiary predicates), statements specify functions of the type VZ VZ (partial
biquasiary functions). Note that in our terminology VZ is a class of single-valued flat
nominative data.
      </p>
      <p>Example 1. Consider a Boolean expression x&lt;y. Its semantics is formalized as a
partial quasiary predicate less : VZBool. This predicate is undefined on flat
nominative data [x5, u4] (we write less([x5, u4])), is defined on [x5,
u4, y2] with value F (we write less([x5, u4, y2])= F). Note that if a value
of less is defined on some data, then the predicate is defined with the same value on
any extension of this data. Thus, less([x5, u4, y2, v4])=F, x, u, y, vV. This
property is called equitonicity (a special case of monotonicity). A specific new
composition is renomination Rxv11,,......,,vxnn ,
e.g. (R xy,,vy (less))([x5, u4, y2, v4]) = less([x2, u4, y4, v4]) = T.</p>
      <p>
        More elaborated programming languages work with hierarchical nominative data.
In such languages composite names like x1.x2. … .xn are used to access data
components. The details can be found in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Having described program models of various abstraction levels, we can now start
developing semantics-based logics which correspond to such models. Such logics will
be called composition-nominative logics (CNL). Analysis of constructed program
models shows that the main semantic notion of mathematical logic – the notion of
predicate – can be defined at the Boolean level. At this level predicates are considered
as partial functions from a class of abstract data A (with abstract intensional) to Bool.
In this case such compositions as disjunction , negation , etc, can be defined. These
compositions are derived from Kleene’s strong connectives [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Thus, the main
semantic objects are algebras of partial predicates of the type &lt;ABool; , &gt;. The
obtained logics may be called propositional logics of partial predicates. Such logics
are rather abstract, therefore their further development is required at the nominative
level. As was mentioned earlier, at this level we have two sublevels determined
respectively by flat and hierarchical nominative data.
      </p>
      <p>Three kinds of logics can be constructed from program models at the flat
nominative data level:
 logics, which use only partial quasiary predicates (pure predicate logic);
 logics, which use additionally partial quasiary functions (predicate-function
logics);
 logics, which use also bi-quasiary functions (program logics).</p>
      <p>The first type of logics will generalize classical pure predicate logics, the second
type – classical predicate logic (with functions and equality), and the third type can
present various logics, which use program constructs.</p>
      <p>
        Here we give a short characteristic only to composition-nominative pure predicate
logics; predicate-function logics are described in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]; as to composition-nominative
program logics some initial variants are presented in [
        <xref ref-type="bibr" rid="ref3 ref7">3, 7</xref>
        ].
      </p>
      <p>From semantic point of view the main distinction of CNL from classical first-order
logics is usage of partial quasiary predicates instead of total n-are predicates; this
leads to algebras of quasiary predicates with compositions as operations. From
syntactical point of view formulas of CNL are simply terms of algebras of quasiary
predicates.</p>
      <p>The main compositions that can be additionally specified at the nominative level
are renomination (denoted also R vx ) and quantification x. These</p>
      <p>Rxv11,,......,,vxnn
compositions use subject names as parameters. CNL of renominative level are based
on algebras of the type &lt;VABool; , , R vx &gt;, CNL of quantifier level –
&lt;VABool; , , R vx , x&gt;. Properties of these algebras determine calculi for
corresponding logics.</p>
      <p>Note, that renomination (primarily in syntactical aspects) is widely used in classical
logic, lambda-calculus, and specification languages like Z-notation [10], B [11], TLA
[12], etc. Here we will give explicit semantic definition of this operation (cf. with [13]).</p>
      <p>
        To preserve properties of classical first-order logic we should restrict the class
VABool of quasiary predicates. Namely, we introduce a class of equitone predicates
and its different variations such as maxitotal equitone, local-equitone, equicompatible,
and local-equicompatible classes [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Logics based on equitone and maxitotal
equitone predicates are the “closest” generalization of classical first-order logic that
preserve its main properties. These logics are called neoclassical logics [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The current article continues investigations of pure predicate logics over
hierarchical nominative data initiated in [14]. Here we prove soundness (correctness)
and completeness of the constructed logics. The distinctive feature of such logics is
the usage of composite names of the form x1.x2. … .xn as parameters of renomination
and quantification compositions.</p>
      <p>The article is structured as follows: the first section is introduction, in the second
section operations over hierarchical data are introduced and their properties are
studied, the third section is devoted to compositions over predicates. In the fourth
section semantic models and corresponding languages of logics are described, and the
fifth section is devoted to definition of sequent calculi for some of the described
logics.</p>
      <p>
        Notions not defined here we interpret in sense of [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
2
      </p>
      <sec id="sec-2-1">
        <title>Hierarchical Nominative Data</title>
        <p>Class of hierarchical nominative data ND(V, A) over classes of basic names V and
basic values A is defined inductively:
1) ND0(V, A) = A – nominative data of rank 0;
2) NDk+1(V, A) = A  (V n NDk (V , A)) – nominative data of rank less or equal to
k+1.</p>
        <p>Then ND(V, A) =  (V n NDk (V , A)) .</p>
        <p>k 0</p>
        <p>Here V n NDk (V , A) is the set of all finite single-valued mappings from V to
NDk(V, A). Note, that we restrict nominative data to be single-valued mappings. This
guaranties unambiguity of naming for data components. An empty nominative data
has rank 0.</p>
        <p>The set of hierarchical nominative data is defined as follows:
HD(V, A) = ND(V, A) \ A.</p>
        <p>The value of name u in data d is equal to d(u), but we also write u:d in style of
denaming operation. For a composite name u = y1.y2. … .yn notation u:d means
yn:(…(y2:(y1:d))…). We drop a component xu:, if u: is undefined.</p>
        <p>Hierarchical data can be represented also as oriented trees with edges labeled by
basic names and leafs labeled by basic values.</p>
        <p>Any hierarchical data d can be represented as a flat nominative data with
composite names – elements of the set V+. These composite names are non-empty
words in the alphabet V formed by concatenation “.” of basic names along the path
from the root to leafs in the tree representing d.</p>
        <p>Example 2. Let [x  [ y 1, z 2], y  [ x 3, y  [ x 0, y 0, z 1]], z 2,
u  [ x [ x 0, u 1], z 3]] be hierarchical data. Its flat representation is
[x.y 1, x.z 2, y.x 3, y.y.x 0, y.y.y 0, y.y.z 1, z 2, u.x.x 0, u.x.u 1,
u.z 3].</p>
        <p>Such representations are called flat normal forms (FNF) of hierarchical data. Due
to the unambiguity of naming all (composite) names of FNF must be different;
moreover, they should be incomparable. Now it is possible to write [x.y  ,
x.u,…] in place of [x  [y  , u,…]].</p>
        <p>Let us formulate some definitions and properties of hierarchical data used in
further proofs. From now on, names are considered as composite names from V+
unless explicitly stated that they belong to V.</p>
        <p>A prefix of a word uV+ is any word x such that u = x.y for some yV*. If u  x,
we call x a strict prefix. We write x  u (x  u), if x is a prefix (strict prefix) of u.
Words x and u are comparable (xu), if x  u or u  x; otherwise they are
incomparable (x  u). Sets of names X and Y are incomparable (X  Y), if x  y for all
xX and yY.</p>
        <p>We call a composite name as a full name of d, if it coincides with some path from a
root in the tree determined by d. If this path reaches a leaf, then the name is called
terminal. We define the set of full names by fn(d) = {u | u:d}; the set of terminal
names by tn(d) = {u | u:dA}.</p>
        <p>Hierarchical data d1 and d2 are disjoint, if x  y for any xtn(d1) and ytn(d2). The
union of disjoint data we denote by “+”.</p>
        <p>Parametric operation of deletion of data components, the names of which are
comparable with given names x1,..., хn, is defined via FNF as follows:
|| x1,...,xn (d ) = [ ua d | u is terminal and x1  u,..., хn  u].</p>
        <sec id="sec-2-1-1">
          <title>For basic data aA, || x1,...,xn (a) is undefined.</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>In the sequel instead of || x1,...,xn (d ) we write d ||x1,...,xn .</title>
          <p>Example 3. Let d be a hierarchical data from example 2. Then:
d ||–х, u = [y.x 3, y.y.x 0, y.y.y 0, y.y.z 1, z 2];
d ||–х.z, y.y, z.y, u.x,u = [x.y 1, y.x 3, u.x.x 0, u.z 3].</p>
          <p>When using the symbol “+” we drop brackets “[” and “]”, e.g. instead of
d ||–u + [uu:d ||–v] we write d ||–u + uu:d ||–v .</p>
          <p>Proposition 1.
1) d || z,u,x1,...,xn  d ||z,x1,...,xn , if z  u;
4) (d1 + d2)||–u = d1||–u + d2||–u ;
2) d = d ||– x + x x:d, if xV ;
3) (d ||–х)||–х.y = (d ||–х.y)||–х = d ||–х ;
5) d ||–u.v = d ||–u + u u:d ||–v ;
6) d  d ||–u + u u:d.</p>
          <p>For a composite u the property d = d ||–u + u u:d may fail.</p>
          <p>Example 4. Let d = [ u 0, z.x 0, z.y 1]. Then d ||–u.v = [ z.x 0, z.y 1], and
d ||–u.v + u.vu.v:d = d ||–u.v  d, because u:d is a basic value and u.v:d is undefined.
Proposition 2. Let u  {х1,..., хn}, then d ||u,x1,...,xn  (d ||u ) ||x1,...,xn .
In particular, if z  u, then d ||–u, z = (d ||–u)||–z = (d ||–z)||–u .</p>
          <p>In the general case we have that d ||u1,...,um ,x1,...,xn  (d ||u1,...,um ) || x1,...,xn if
{u1,..., um}  {х1,..., хn}.</p>
          <p>Proposition 3. 1) x : (d || z1,...,zn  x  h)  h ; in particular, x : (x  h)  h ;
2) x : (d || z1,...,zn )  x : d , if x  {z1,..., zn};
3) x : (d || x,z1,...,zn )  .</p>
          <p>Using the propositions 1–3, it is possible to represent d ||x1,...,xn , where
x1,..., xnV+, with an expression in some standard form, which uses only operations of
deletion ||v1,...,vm with simple names v1,..., vmV, union +, naming y1.y2. … .yk and
denaming u1:u2:... ul: (here y1,..., yk, u1,..., ulV). Details are omitted here.</p>
          <p>Example 5. d ||–z.x, z.y, u.x.y = d ||–z, u + zz:d ||–x, y + uu:d ||–x + u.xx:u:d ||–y .
Operation of renomination rxv11,,......,,xvnn : HD(V, A)  HD(V, A) we define as follows:
rxv11,,......,,xvnn (d )  d ||v1,...,vn v1  x1 : d  ...  vn  xn : d .</p>
          <p>Here all names v1,..., vn should be pairwise incomparable. We see that the result of
renomination can be presented uniquely in the standard form.</p>
          <p>Example 6. ruv..yx,,yv..xy,,vu..xx.y (d )  d ||–v, u + vv:d ||–x, y + uu:d ||–x +
+ u.xx:u:d ||–y + v.xy:u:d + v.yx:y:d + u.x.yx:v:d.</p>
          <p>Note, that renomination is monotone: if d  h, then rxv11,,......,,xvnn (d )  rxv11,,......,,xvnn (h) .
To present convolution of renominations we use the standard form.</p>
          <p>Example 7. ruz (rxu.v (d ))  ruz (d ||u.v u.v  x : d ) 
 ruz (d ||u u  u : d ||v u.v  x : d ) 
d ||u,z u.v  x : d  z  u : d ||v z.v  x : d .</p>
          <p>
            Thus, situation for hierarchical data is more difficult than for flat data for which
convolution of renominations can be presented as one new renomination [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ].
          </p>
          <p>Example 8. rzx..yv (rux,.vx,.zy (d )) 
 rzx..yv (d ||u.z u  u : d ||v u.v  x : d  z  y : x : d ) 
 d ||u.z, x u  u : d ||v u.v  x : d  z  y : x : d  x  x : d ||v 
x.v  y : y : x : d.
3</p>
          <p>Compositions of Predicates over Hierarchical Data
From semantic point of view the notion of predicate is one of the basic concepts of
logic.</p>
          <p>By a predicate P on D we understand a single-valued partial function of the type
D  Bool. The truth and falsity domains of P are respectively
T(P) = {dD | P(d) = T} and F(P) = {dD | P(d) = F}. A predicate P is
irrefutable, or partially true, if F(P) = .</p>
          <p>Compositions determine universal methods of predicate construction; they form
the kernel of logic of corresponding type.</p>
          <p>At the propositional level data are treated as abstract, therefore predicates are
interpreted as functions from A to Bool, where A is an abstract class. Basic
propositional compositions are disjunction  and negation  ( P, QA Bool, d
 A ):
 T , if P(d )  T or Q(d )  T ,

(P  Q)(d )  F , if P(d )  F and Q(d )  F ,
 undefined in other cases.</p>
          <p>At the nominative level data are constructed from a set of subject names and a class
of subject values. In this work logics of partial predicates over hierarchical
nominative data at renominative and quantifier level are investigated.</p>
          <p>A function of the form Р : HD(V, A)  Bool is called a hierary predicate on
HD(V, A). We denote the class of hierary predicates on HD(V, A) by PrHV_А.</p>
          <p>The name xV is strictly unessential for a hierary predicate P on HD(V, A), if for
arbitrary d, HD(V, A) we have P(d ||–x + x) = P(d ||–х). The notion of unessential
name is an analogue of fresh name in classical and nominal logics [15].</p>
          <p>A predicate P : HD(V, A) Bool is called equitone, if for arbitrary d, d'HD(V, A)
conditions d  d' and P(d) imply P(d') = P(d).</p>
          <p>At the renominative level to propositional compositions we add renomination
composition Rv1,...,vn defined by the formula</p>
          <p>x1,...,xn
Rxv11,,......,,xvnn (Q)(d )  Q(rxv11,,......,,xvnn (d ))  Q(d ||v1,...,vn v1  x1 : d  ...  vn  xn : d ) .
Using vector notation, we can formulate the following properties of renomination:
R) Rxv (P  Q)  Rxv (P)  Rxv (Q) ; R) Rxv (P)  Rxv (P) .</p>
          <p>The properties of R, R&amp;, R can be written down analogously.</p>
          <p>RR) Rxv (Ryu (P)(d )  P(ryu (rxv (d ))) for each dHD(V, A).</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>RSN) Rzy,,xv (P)  Rxv (P) , if уV is strictly unessential for Р.</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>RT) Rzz,,xv (P)  Rxv (P) under condition zV.</title>
          <p>In the case of equitone predicates for composite names we have:</p>
        </sec>
        <sec id="sec-2-1-5">
          <title>RTE) Ruu,,xv (P)  Rxv (P) , where  is weak equality.</title>
        </sec>
        <sec id="sec-2-1-6">
          <title>At the quantifier level basic compositions are , , Rxv , x.</title>
          <p>Contrary to traditional case quantified names can be composite; quantification is
possible both over all hierarchical or only over basic data. In this work we consider
quantification over hierarchical data. Composition of existential quantification is
defined in the following way:</p>
          <p>T , if there exists   ND(V , A) : P(d ||x  x  )  T ,
xP(d )   F , if P(d ||x  x  )  F for all   ND(V , A),</p>
          <p> undefined in all other cases.</p>
          <p>Composition of universal quantification is defined by formula хР=хР.</p>
          <p>Theorem 1. The class of equitone predicates over hierarchical data is closed under
compositions , , Rxv , x, х.</p>
          <p>Main properties of compositions x and x are the following.
1. If x and y are incomparable then xуР = ухР and xуР = ухР.
2. Absorption of external quantifier by internal with the same name:</p>
          <p>xхР = хР; xхР = хР; xхР = хР; xхР = хР.
3. Absorption of external quantifier by internal with more general name:
x.ухР = хР; x.ухР = хР; x.ухР = хР; x.ухР = хР.</p>
          <p>At the same time xх.уР, xх.уР, хР, х.уР are all different;</p>
          <p>xх.уР, xх.уР, хР, х.уР are all different.
4. Absorption of the quantified name by more general upper name of renomination:
x.y(Rzx,,vu P)  Rzx,,vu (P), if x.y {z, u , v}.
5. Absorption of the upper name of renomination by more general quantifier:</p>
          <p>Rzy,,vu (xP)  Rvu (xP), if x is a prefix of names from y and x {u}.</p>
          <p>At the same time x.y(Rzx P)  Rzx (x.yP) and x.y(Rxx.y.v P)  Rx.y.v (P);
x
Rux.y (xP)  x(Rux.y (P)), Rux.y (xP)  Rux.y (P), x(Rxz.u P)  Rxz.u (xP).
6. z(Rvu P)  Rvu (zP), if z {u , v}.</p>
          <p>Properties 4–6 can be rephrased for universal quantification.</p>
          <p>Let us note that some properties valid in classical logic fail for the class of equitone
predicates over hierarchical data.</p>
          <p>Example 9. Let predicate х be defined by the following formula:</p>
          <p> T , if d (x)  A,
x (d )   F , if d (x)  A,</p>
          <p>undefined in all other cases.</p>
          <p>It is clear that х is equitone. By definitions of compositions x and хР we have
that x.v х(d) = x.v х(d) = F for each dHD(V, A) such that xad, where aA.
At the same time х(d) = T for such d. So, (х x.v х)(d) = F.
4 Semantic Models and Languages of Logics over Hierarchical
Data
Semantic models of composition-nominative logics over hierarchical nominative data
(CNLH) are predicate algebras with class PrHV_А of hierary predicates as carriers and
class C of compositions as operations of algebras. The class C is determined by a
level intensional; for a quantifier level C consists of compositions , , Rxv , and x;
v
for renominative level these are , , and Rx . Thus, algebras of the form AHD(V,
A) = &lt;PrHV_А; , , Rv , x &gt; are semantic base of constructed logics. With a fixed
x
sets V and C such algebras are determined by the set A.</p>
          <p>Alphabet of a language of quantifier level includes symbols of basic compositions,
a set Ps of predicate symbols, and a set of basic subject names (variables) V.</p>
          <p>The set Fr of formulas for a quantifier level is defined inductively:
1) every predicate symbol from Ps is an (atomic) formula;
2) if  and  are formulas, then  and  are formulas;
3) if  is a formula, then Rxv  is a formula;
4) if  is a formula, then x is a formula.</p>
          <p>For CNLH of renominative level we drop item 4 in this definition.</p>
          <p>Let nm() be the set of all names, which appear in the symbols of renomination
and quantification in .</p>
          <p>To distinguish symbols of compositions from their interpretations we use for the
latter bold font (only in the following definitions). Let I : Ps  PrHV_А be a total
single-valued interpretation mapping, then a pair (AHD(V, A), I) is called a model of
CNLH language. To simplify notation we will denote models as (A, I) Interpretation
J : FrPrHV_А we define as follows:
1) J(р) = I(p) for each рPs;
2) J() = J()J(), J() = (J());
3) J (Rxv ) = R vx (J());
4) J(x) = x(J()).</p>
          <p>For renominative level we drop item 4.</p>
          <p>Predicate J(), which is the value of a formula  interpreted on A = (A, I), we
denote by A. A formula  is partially true on A = (A, I) (denoted by A |= ), if A is
partially true (irrefutable) predicate.  is everywhere (partially) true, or irrefutable
(denoted by |= ), if  is partially true on every model of a language.</p>
          <p>A formula  is a logical consequence of a formula  ( |= ), if formula  is
irrefutable.  is a weak logical consequence of  ( ||= ), if for each A = (A, I) the
condition A |=  implies A |= .</p>
          <p>Formulas  and  are logically equivalent (  ), if  |=  and  |= . Formulas
 and  are logically strictly equivalent ( TF ), if T(A) = T(A) and
F(A) = F(A) for each AS A. The relation of logical consequence can be extended to
arbitrary sets ,   Fr.  is a logical consequence of  in the model A ( A|= ) if for
all dHD(V, A) the condition A(d) = T for all  implies that it is impossible that
A(d) = F for all .  is a logical consequence of  ( |= ), if  А|=  for all
model A = (А, I). Relation |= is reflective but not transitive.</p>
          <p>For CNLH the following statements hold.</p>
          <p>Theorem 2 (semantic equivalence). Suppose that ' is obtained from  by
substitution of some occurrences of 1,..., n with 1,..., n respectively. If 1  1,
... , n  n, then   '.</p>
          <p>Theorem 3 (semantic equivalence, strong form). Suppose that ' is obtained from
 by substitution of some occurrences of 1,..., n with 1,..., n respectively. If
1 TF 1 ,..., n TF n, then  TF '.</p>
          <p>Theorem 4 (substitution of equivalents). Suppose that   . Then ,  |=  
,  |=  and  |= ,    |= , .</p>
          <p>A name xV is strictly unessential for  (xsun()), if x is strictly unessential for
a predicate A for every A = (A, I).</p>
          <p>Proposition 4. Let уsun(). Then x TF yRyx .</p>
          <p>For each рPs the set of strictly unessential subject names is fixed by a total
function  : Ps2V. For CNLH we postulate infinity of the set VT =  ( p) of
pPs
totally strictly unessential names.</p>
          <p>The following properties of formulas are representations of corresponding
semantic properties of predicate algebras.</p>
          <p>RsN) Rzy,,xv () TF Rxv () , if ysun().</p>
          <p>RT) Rzz,,xv () TF Rxv () , if zV; in particular, Rzz () TF .</p>
          <p>R) Rxv (  ) TF Rxv ()  Rxv () .</p>
          <p>R) Rxv () TF Rxv () .</p>
          <p>Generalizing R and R, we get RR and RR.</p>
          <p>RR) Rxu (...Rzw (  )...) TF Rxu (...Rzw ()...)  Rxu (...Rzw ()...) .</p>
          <p>RR) Rxu (Ryv (...Rzw ()...)) TF Rxu (Ryv (...Rzw ()...)) .</p>
          <p>Similarly, we can write down the properties R&amp;, R, R, RR&amp;, RR, RR.
RR_C) Rxv (Ryu ( A )(d )   A (ryu (rxv (d ))) for each A = (A, I), dHD(V, A).
ANQ) x.y(Rzx,,vu ) TF Rzx,,vu () and x.y(Rzx,,vu ) TF Rzx,,vu (), if x.y {z, u , v}.</p>
          <p>ANR) Rzy,,vu (x) TF Rvu (x) and Rzy,,vu (x) TF Rvu (x), if x is a prefix of
all names in y and x {u}.</p>
          <p>R) Rxv (y) TF y(Rvu ) , if y {u , v}.</p>
          <p>R) Rxv (y) TF zRxv (Rzy ()) if zVT and znm(R vx (y)).</p>
          <p>Similarly, we can formulate R and R. Properties R, R, R, R can be
generalized to RR, RR, RR, RR; R and R to RR and RR.</p>
          <p>For equitone predicates RT can be changed to RTE:
RTE) Ruu,,xv ()  Rxv () ; in particular Ruu ()  .</p>
          <p>For logics of equitone predicates we introduce the notion of primitive formula. A
formula Rxu (Ryv (...Rzw ( p)...)) is primitive, if pPs and in renominations identical pairs
of names are removed.</p>
          <p>With every primitive Rxu (Ryv (...Rzw ( p)...)) we connect an expression of the form
р(), where  represents a convolution of renominations rxu (ryv (...rzw ()...)) given in
the standard form, VPs is a special symbol, which denotes arbitrary data. To take
into account strictly unessential subject names, we delete all components that have
z(р) as a prefix. An expression р() is called a renominant of the above primitive
formula. The set of longest incomparable names occurred in a renominant is called its
naming scheme.</p>
          <p>Example 10. To construct the renominant of a primitive formula Rxu.v (Ruz (q)) we
specify corresponding standard form of renomination convolution (see Example 7)
obtaining renominant q( d ||u,z u.v  x : d  z  u : d ||v z.v  x : d ). Its naming
scheme is {u.v, x, z.v}.</p>
          <p>Now we point out basic properties of quantification compositions for CNLH.
Q1. xy TF yx and xy TF yx, if x and у are incomparable.
Q2. x TF x and x TF x.</p>
          <p>Q3. x TF xx, x TF xx; x TF xx, x TF xx.
Q4. x TF x.уx, x TF x.уx; x TF x.уx, x TF x.уx.
Q5. xx TF x() and x&amp;x TF x(&amp;).</p>
          <p>Q6. x(&amp;)|= x&amp;x and xx|= x().</p>
          <p>Q7. yx |= xy; and not always xy|= yx.</p>
          <p>Q8.  ||= x and  ||= x.</p>
          <p>Q9. |= x (x) and |= x (x); |= x (x) and |= x (x).</p>
          <p>Properties Q2, Q3, Q5–Q9 are analogous to the corresponding properties of logics
of quasiary predicates.</p>
          <p>
            At the propositional level the properties of |= for sets of formulas are identical to
corresponding properties of logic of quasiary predicates [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ].
          </p>
          <p>Now we formulate basic properties of renomination compositions.</p>
          <p>RTE|–) Ruu,,xv (),  А|=   Rxv (),  А|= .</p>
          <p>RTE–|)  А|= , Ruu,,xv ()   А|= , Rxv () .
.</p>
          <p>RsN|–) Rzy,,xv (),  А|=   Rxv (),  А|= , where уV is strictly unessential for .
RsN–|)  А|= , Rzy,,xv ()   А|= , Rxv () , where уV is strictly unessential for
RR|–) Rxu (...Rzw (  )...),  А|=   Rxu (...Rzw ()...)  Rxu (...Rzw ()...),  А|= .
RR–|) , Rxu (...Rzw (  )...) А|=   , Rxu (...Rzw ()...)  Rxu (...Rzw ()...) А|= .
RR|–) Rxu (Ryv (...Rzw ()...)),  А|=   Rxu (Ryv (...Rzw ()...)),  А|= .
RR–|) , Rxu (Ryv (...Rzw ()...)) А|=   , Rxu (Ryv (...Rzw ()...)) А|= .
Properties RR|– , RR–| , RR&amp;|– , RR&amp;–| are analogous.</p>
          <p>R|–) Rxv (y),  А|=   yRxv (),  А|=  if y {u,v}.</p>
          <p>R–|)  А|= , Rxv (y)   А|= , yRxv () if y {u,v}.</p>
          <p>R|–) Rxv (y),  А|=   zRxv (Rzy ()),  А|= .</p>
          <p>R–|)  А|= , Rxv (y)   А|= , zRxv (Rzy ()) .</p>
          <p>For R|– and R–| z is totally strictly unessential and znm(R vx (y)).</p>
          <p>Properties R|– , R–| , R|– , R–| are analogous. Properties of type R, R,
R, R can be generalized to properties of type RR, RR, RR, RR.
5 The Sequent Calculus of Logics of Predicates over Hierarchical
Data
For logics of equitone hierary predicates we will build a calculus of sequent type. We
will consider here only logics of renominative level. Sequents are interpreted as sets
of labeled formulas marked by one of two symbols – |– or –|. Such sequents  are also
denoted by |––|, where all formulas of  are labeled by the symbol |– , of  – by the
symbol –| .</p>
          <p>Sequent  is closed, if there exists  such that |– and –| or if there exist
primitive  and  with identical renominants such that |– and –|. Consequently, if
|––| is closed then  |= .</p>
          <p>
            Derivation in the sequent calculus has the form of tree, the vertices of which are
sequents. Such trees [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] are called sequent trees. A sequent tree is closed, if every its
leaf is a closed sequent. A sequent  is derivable, if there is a closed sequent tree with
root . Sequent calculus is constructed in such a way that sequent |––| has a derivation
if and only if  |= .
          </p>
          <p>Semantic properties of relation |= have their syntactic analogues – sequent forms
(rules). For renominative logics of equitone hierary predicates these forms are the
following.
| | A, 
| A  B, </p>
          <p>| B, 
| 
|–RTE
|–RR
| A, 
| A, 
| Rxv ( A), 
| Ruu,,xv ( A), 
| | A, |B, </p>
          <p>| A  B, 
|  | A, </p>
          <p>| A, 
–|RTE
–|RR
| Rxv ( A), 
| Ruu,,xv ( A), 
| Rxu (...Rzw ( A)...)  Rxu (...Rzw (B)...), </p>
          <p>| Rxu (...Rzw ( A  B)...)), 
|–RR | Rxu (...Rzw ( A)...), 
| Rxu (...Rzw (A)...), 
| Rxu (...Rzw ( A)...)  Rxu (...Rzw (B)...), </p>
          <p>| Rxu (...Rzw ( A  B)...), 
–|RR | Rxu (...Rzw ( A)...), 
| Rxu (...Rzw (A)...), </p>
          <p>Sequent calculus with basic sequent forms shown above we will call RID-calculus.
For RID-calculus theorems of soundness and completeness hold.</p>
          <p>Theorem 5 (soundness). Let sequent |––| be derivable. Then  |= .
The proof can be conducted by induction over shape of a sequent tree for |––|.</p>
          <p>For proving completeness we will use Hintikka's method of model sets. The set Н
of labeled formulas with W = nm(Н) is a model set, if:</p>
          <p>HC) For every non-primitive formula  it is impossible that |–H and –|H.</p>
          <p>HCR) For primitive formulas  and  with identical renominants it is impossible
that |– , –|H and it is impossible that |–, –|H.
H) If |–H, then |–H or |–H; if –|H, then –|H and –|H.
H) If |–H, then –|H; if –|H, then |–H.</p>
          <p>HRT) If |– Ruu,,xv () H, then |– Rxv () H; if –| Ruu,,xv () H, then –| Rxv () H.
HR) If |– Rxu (...Rzw (  )...) H, then |– Rxu (...Rzw ()...)  Rxu (...Rzw ()...) H;
if –| Rxu (...Rzw (  )...) H, then</p>
          <p>–| Rxu (...Rzw ()...)  Rxu (...Rzw ()...) H.</p>
          <p>HR) If |– Rxu (...Rzw ()...) H, then |– Rxu (...Rzw ()...) H;</p>
          <p>if –| Rxu (...Rzw ()...) H, then –| Rxu (...Rzw ()...) H.</p>
          <p>Procedure of construction of a tree for  is split into stages. Every application of
sequent form is performed only for the finite set of accessible formulas. At the
beginning of every stage we perform the step of access: to the list of accessible
formulas one formula from each of lists of |–-formulas and –|-formulas is added. We
start the construction with a pair of first formulas from the lists.</p>
          <p>Suppose that k stages of procedure have already been performed. On the stage k+1
we check whether all terminal nodes are closed. If yes, the procedure is completed
positively, and we have got a closed sequent tree. If no, for every unclosed leaf  we
undertake a next step of access, whereupon we finish building of finite subtree with a
vertex  as follows.</p>
          <p>We activate all accessible non-primitive formula . Then to every active formula
we apply the proper sequent form. We remove all repetitions of formulas in a sequent.</p>
          <p>During the construction of sequent tree the following cases are possible:
1. Procedure is completed positively; we have the finite closed tree.</p>
          <p>2. Procedure is completed negatively, or is not completed; we have a finite
or infinite unclosed tree. Such tree has at least one path all vertices of which are
unclosed sequents. Such path  is unclosed. Every formula of  will be in  and
will become accessible.</p>
          <p>Theorem 6. Let  be an unclosed path in sequent tree. Then there exists AS
A = (A, I) and HD(V, A): |–Н  A() = T and –|Н  A() = F.</p>
          <p>The set Н of labeled formulas of sequents of the path  is a model set.</p>
          <p>Let W be a combination of naming schemes of the set of renominants of primitive
formulas of sequents of the path . Such W includes longest incomparable names,
which are involved in renominations of formulas of sequents of the path .</p>
          <p>We duplicate elements of W obtaining A = {u | uW}; then put  = [uu | uW].</p>
          <p>We specify the values of basic predicates on  and on data of the form rxu (...rzw ()...)
in the following way:
 if |–рН, then set рA() = T; if –|рН, then set рA() = F;
 if |– Rxu (...Rzw ( p)...) Н, then set pA (rxu (...rzw ()...)) = T;
 if –| Rxu (Ryv (...Rzw ( p)...) Н, then set pA (rxu (...rzw ()...)) = F.</p>
          <p>In all other cases for dHD(V, A) the value of рA(d) can be set arbitrarily, taking into
account equitonicity and strict inessentiality of names.</p>
          <p>Theorem holds for atomic and primitive formulas due to above definitions of basic
predicates. Then the proof is carried out by induction over the complexity of a
formula in accordance with construction of a model set.</p>
          <p>Theorem 7 (completeness). Let  |= . Then a sequent |––| is derivable.</p>
          <p>Suppose contrary:  |=  and a sequent |––| is not derivable. Then sequent tree 
for  = |––| is not closed. Consequently, in  there is unclosed path . The set H of
all labeled formulas of sequents of this path is a model set. According to the
theorem 5 there exists AS А = (А, І) and HD(V, A) such that |–H  A()= T
and –|H  A()= F. Due to   H we have |–  А() = T and –| 
А() = F. But it contradicts  |= .
6</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Conclusions</title>
        <p>In the paper new logics oriented on hierarchical data are developed. Algebras of
partial predicates over such data with special compositions as operations form a
semantic base for constructed logics. These logics may also be treated as
generalization of classical logic. First of all, this generalization concerns types of
predicates: while classical logic is semantically based on total n-ary predicates, we
have constructed logics based on partial quasiary and hierary predicates, defined on
special types of hierarchical nominative data. Importance of such data is explained by
their representational power, which permits to model data structures of specification
and programming languages. Characteristic feature of such languages is usage of
composite names to access data components. The constructed logics also use
composite names. Semantic properties of such logics have been studied;
corresponding sequent calculi have been defined, their soundness and completeness
have been proved for logics of renominative level. Authors plan to present more
developed logics at hierarchical nominative level in forthcoming papers.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>N.S.:</given-names>
          </string-name>
          <article-title>A Composition-nominative Approach to Program Semantics</article-title>
          .
          <source>Technical Report ITTR 1998-020</source>
          , Technical University of Denmark,
          <volume>103</volume>
          p. (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.S.</given-names>
          </string-name>
          :
          <article-title>Composition-nominative aspects of address programming</article-title>
          .
          <source>Cybernetics and Systems Analysis, No. 6</source>
          , pp.
          <fpage>24</fpage>
          -
          <lpage>35</lpage>
          (
          <year>2009</year>
          )
          <article-title>(In Russian)</article-title>
          . English translation: Springer New York, Volume
          <volume>45</volume>
          , Number 6 / November,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shkilniak</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          :
          <article-title>Mathematical logic and theory of algorithms</article-title>
          . Publishing house of National Taras Shevchenko University of Kyiv,
          <volume>528</volume>
          p. (
          <year>2008</year>
          )
          <article-title>(in Ukrainian)</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Basarab</surname>
            ,
            <given-names>I.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gubsky</surname>
            ,
            <given-names>B.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>N.S.</given-names>
          </string-name>
          , Red'ko, V.N.:
          <article-title>Composition models of databases</article-title>
          . In: Eder,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Kalinichenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.A</given-names>
            . (eds.)
            <surname>East-West Database Workshop</surname>
          </string-name>
          .- (
          <source>Workshops in Computing Series)</source>
          . Springer, London, pp.
          <fpage>221</fpage>
          -
          <lpage>231</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>N.S.</given-names>
          </string-name>
          :
          <article-title>Abstract Computability of Non-deterministic Programs over Various Data Structures</article-title>
          . In: Bjørner,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Broy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Zamulin</surname>
          </string-name>
          <string-name>
            <surname>A</surname>
          </string-name>
          .V. (eds.)
          <article-title>Perspectives of System Informatics</article-title>
          .
          <source>LNCS</source>
          , vol.
          <volume>2244</volume>
          , pp.
          <fpage>471</fpage>
          -
          <lpage>484</lpage>
          . Springer, Berlin (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Shkilniak</surname>
            ,
            <given-names>S.S.:</given-names>
          </string-name>
          <article-title>Relations of logical consequence in composition-nominative logics</article-title>
          .
          <source>Problems of Programming. Kyiv, No. 1</source>
          , pp.
          <fpage>15</fpage>
          -
          <lpage>38</lpage>
          ,
          <year>2010</year>
          (In Ukrainian)
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shkilnyak</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Omelchuk</surname>
            ,
            <given-names>L.L.</given-names>
          </string-name>
          :
          <article-title>Formalisms for Specification of Programs over Nominative Data</article-title>
          .
          <source>In: Electronic computers and informatics (ECI</source>
          <year>2006</year>
          ). Thesis of conference reports, pp.
          <fpage>134</fpage>
          -
          <lpage>139</lpage>
          . Kosice, Herl'any,
          <string-name>
            <surname>Slovakia</surname>
          </string-name>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Nielson</surname>
            ,
            <given-names>H.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nielson</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Semantics with Applications: A Formal Introduction</article-title>
          . John Wiley &amp; Sons Inc.
          <volume>252</volume>
          p. (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kleene</surname>
            ,
            <given-names>S. C.</given-names>
          </string-name>
          : Introduction to metamathematics, Van Nostrand, New York (
          <year>1952</year>
          )
          <fpage>10</fpage>
          .
          <string-name>
            <surname>Woodcock</surname>
            ,
            <given-names>J.C.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davies</surname>
          </string-name>
          , J.:
          <article-title>Using Z: Specification, Refinement and Proof</article-title>
          . Prentice Hall,
          <volume>523</volume>
          p. (
          <year>1996</year>
          )
          <fpage>11</fpage>
          .
          <string-name>
            <surname>Abrial</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          :
          <string-name>
            <surname>The B-Book</surname>
          </string-name>
          :
          <article-title>Assigning programs to meanings</article-title>
          . Cambridge University Press, 779 p. (
          <year>1996</year>
          )
          <fpage>12</fpage>
          .
          <string-name>
            <surname>Lamport</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>2002</year>
          )
          <fpage>13</fpage>
          .
          <string-name>
            <surname>Lamport</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <source>Substitution: Syntactic versus Semantic SRC Technical Note</source>
          <year>1998</year>
          -
          <volume>004</volume>
          (
          <year>March 1998</year>
          )
          <volume>14</volume>
          .
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shkilnyak</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          ,
          <article-title>Composition-nominative logics over hierarchical data</article-title>
          .
          <source>Problems of Programming. Kyiv, No. 2-3</source>
          , pp.
          <fpage>48</fpage>
          -
          <lpage>57</lpage>
          ,
          <year>2010</year>
          (In Ukrainian)
          <volume>15</volume>
          .
          <string-name>
            <surname>Pitts</surname>
            ,
            <given-names>A.M.:</given-names>
          </string-name>
          <article-title>Nominal logic, a first order theory of names and binding</article-title>
          .
          <source>Inf. Comput</source>
          .
          <volume>186</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>165</fpage>
          -
          <lpage>193</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>