<!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>Program Logics of Renominative Level with the Composition of Predicate Complement</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Taras Shevchenko National University of Kyiv</institution>
          ,
          <addr-line>60 Volodymyrska Street, City of Kyiv, Ukraine, 01033</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Program logics are wildly used for software verification. Such logics are based on formal program models and reflect main program properties. Among various program logics, Floyd-Hoare logic and its variants take a special place because of its naturalness and simplicity. But such logics are oriented on total pre- and post-conditions, and in the case of partial conditions they become unsound. Different methods to overcome this problem were proposed in our previous works. One of the methods involves extension of program algebras with the composition of predicate complement. This permits to modify rules of the logic making them sound. Such modification requires introduction of undefinedness conditions into logic rules. In this paper we continue our research of such logics. We investigate a special predicate logic called logic of renominative (quantifier-free) level with the composition of predicate complement. This logic is a constituent part of the program logic. We introduce a special consequence relation for this logic, construct a sequent calculus, and prove its soundness and completeness.</p>
      </abstract>
      <kwd-group>
        <kwd>software verification</kwd>
        <kwd>program logic</kwd>
        <kwd>Floyd-Hoare logic</kwd>
        <kwd>partial predicate</kwd>
        <kwd>soundness</kwd>
        <kwd>completeness</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The formalism of program logics is the main instrument for software verification [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
To be effective, such logics should reflect main program properties. Therefore,
adequate formal program models should be constructed which will form a base for a
program logic. Among such logics we should point to Floyd-Hoare logic and its
variants as quite natural and simple [2, 3]. But such logics are oriented on total pre- and
post-conditions, and in the case of partial conditions (predicates) they become
unsound.
      </p>
      <p>
        In our previous works [4, 5] we considered several methods to extend Floyd-Hoare
logic for partial predicates, in particular, we proposed two methods: 1) introduction of
special rule constraints; and 2) restriction of the class of program assertions (of Hoare
triples). Both methods make a logic sound but they are difficult for practical usage or
are rather restrictive. Here we study one more method which proposes to extend
program algebras with the composition of predicate complement [
        <xref ref-type="bibr" rid="ref6">6, 7</xref>
        ]. Introduction of
this composition permits to modify rules in such a way that they become sound, but a
negative side of this proposal is that logic becomes more complicated. In this case,
undefinedness conditions for predicates should be taken into account.
      </p>
      <p>In this paper we continue our research of logics with the composition of predicate
complement. We concentrate on a base logic which is a constituent part of program
logic. This logic is a special logic of partial quasiary predicates of renominative
(quantifier-free) level. We introduce a consequence relation with undefinedness
conditions, study its properties, and define a sequent calculus. We prove the soundness
and completeness theorems for this logic with the composition of predicate
complement.
2</p>
      <p>Program Algebras with the Composition of Predicate</p>
      <p>Complement</p>
      <p>
        According to the principles of composition-nominative approach [8, 9] we
construct program logics based on program algebras. Such algebras are defined in the
following way [
        <xref ref-type="bibr" rid="ref10">9, 10</xref>
        ]:
1) a set D of data processed by programs is defined;
2) the classes of partial predicates Pr = D pBool and partial functions
      </p>
      <p>Fn = D p D are defined;
3) operations (compositions) over Pr and Fn are specified.</p>
      <p>This scheme leads to two-sorted program algebras. In our previous works we
considered program algebras with traditional compositions. But the problem of defining
sound rules for program logics requires new compositions. Therefore, here we
consider a program algebra extended with the composition of predicate complement. This
unary predicate composition is defined in the following way ( p  Pr, d  D ):
( p)(d)   unTde,fiinfedp,(dif) ips(udn)diesfidneefdin,ed.</p>
      <p>
        Specifying D as the class DCC (V , A) of hierarchical nominative data [
        <xref ref-type="bibr" rid="ref11">7, 11</xref>
        ] with
complex names and values built over the set of basic names V and the set of basic
values A, we can define a complemented program algebra as a two-sorted algebra [7]
CPANDCC (V , A)  (PrCC (V , A), FnCC (V, A);
      </p>
      <p>ASu ,id, IF,WH, SFu , SPu , v, v a , , , x, )
where PrCC (V, A) and FnCC (V , A) are classes of partial predicates and partial function
over DCC (V , A) respectively; ASu , id, IF, WH, SPu , SFu are compositions of
assignment, identity, conditional, cycle, superposition into predicate, superposition into
function respectively;  v and v a are naming and denaming functions;
, , x, are composition of disjunction, negation, existential quantification,
and predicate complement; v, u, x V  are complex names, u U is a sequence of
complex names. This algebra is quite expressive to present formal semantics of rather
complex programs.</p>
      <p>A special program logic of Floyd-Hoare type based on such algebras is presented
in [7]. Its distinctive feature is introduction of new rules which are sound for partial
predicates and which use preconditions constructed with the help of the composition
of predicate complement.</p>
      <p>For example, a classical rule of Floyd-Hoare logic for sequential execution of
operators f and g has the form</p>
      <p>R _ SEQ
{p} f {q},{q}g{r}</p>
      <p>{p} f  g{r}
where f  g denotes sequential execution of f and g.</p>
      <p>This rule is not sound in the case of partial predicates [4]. Therefore, a new sound
rule based on extended program algebra was introduced [7]:</p>
      <p>{p} f {q},{q}g{r},{ q}g{r}
R _ SSEQ
{p} f  g{r}
.</p>
      <p>Obtained program logic can be an important instrument of program verification.
So, its thorough investigation is required. This is a rather complicated challenge;
therefore, we start with more simple logics. First, we identify a special predicate logic
as a constituent part of the program logic. Such predicate logic can be considered as a
logic defining constraints (program annotations). Second, we will consider here only
logic LQCR of renominative level which can be characterized as quantifier-free
predicate logic of partial quasiary predicates with the composition of predicate
complement. The case of first-order logic with quantifiers and functions is planned to study
in the forthcoming papers.
3</p>
      <p>
        Logic of Partial Quasiary Predicates of Renominative Level
with the Composition of Predicate Complement
To define a logic LQCR we should define [
        <xref ref-type="bibr" rid="ref10">9, 10</xref>
        ]
– its class of algebras;
– its language (based on logic signature);
– its class of interpretations;
– its consequence relation;
– its inference relation based on some calculus.
      </p>
      <p>Formal definitions will be given in the next section. We will use the following
notations:
– S pS ' ( S tS ' ) is the class of partial (total) mappings from S to S ';
– p(d)  ( p(d)  ) means that p is defined (undefined) on d;
– p(d)  T ( p(d)  F ) means that p is defined on d with value T (F). For this
case we also use simpler notation p(d)  T ( p(d )  F ).</p>
      <p>
        The terms and notations, not defined here, are treated in the sense of [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
3.1
      </p>
      <p>Complemented Algebras of Partial Quasiary Predicates of Renominative
Level
Let V be a set of names (variables) and A be a set of values. The class V A of
nominative sets (partial assignments, partial data) is defined as the class of all partial
mappings from V to A, thus, V A  V p A .</p>
      <p>Nominative sets represent states of program variables.</p>
      <p>
        The main operation for nominative sets is a total unary parametric renomination
rvx11,,......,,vxnn : V A t V A , where v1,..., vn , x1,..., xn are names, and v1,..., vn are distinct
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Intuitively, given nominative set d this operation yields a new nominative set
changing the values of v1,..., vn to the values of x1,..., xn respectively. We also use
simpler notation for this renomination: rv . We write x v to denote that x is a
varix
able from v ; we write v  x to denote the set of variables that occur in the sequences
v and x .
      </p>
      <p>The set of assigned variables (names) in d is denoted asn(d).</p>
      <p>Let PrAV  V A pBool be the set of all partial predicates over V A . Such
predicates are called partial quasiary predicates. For a predicate p  PrAV its truth, falsity,
and undefinedness domains are denoted T(p), F(p), and  ( p) respectively. Please
note that these domains do not intersect pairwise and their union is equal to V A ; thus,
predicate p is defined by T(p) and F(p) only, because  ( p)  V A \ (T( p)  F( p)) .</p>
      <p>Operations over PrAV are called compositions. Basic compositions of renominative
level over quasiary predicates are disjunction , negation , and renomination Rv .
x
We extend this set with the composition of predicate complement .
These compositions are defined by the following formulas ( p, q  PrAV ):
– T(pq) = T(p)T(q); F(pq) = F(p)F(q);
– T(p) = F(p); F(p) = T(p);
– T (Rxv ( p)) = {dVA | rvx (d) T( p) }; F (Rxv ( p)) = {dVA | rvx (d)  F( p) };
– T( p) =  ( p) ; F( p)=  .</p>
      <p>
        Please note that definitions of disjunction and negation are similar to strong
Kleene’s connectives [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. We consider as a composition of propositional level.
      </p>
      <p>A tuple</p>
      <p> QCR (V, A) = &lt; PrAV ; , , Rxv , &gt;
is called a complemented algebra of partial quasiary predicates of renominative level.</p>
      <p>A class of such algebras (with different A) forms a semantic base for a logic LQCR.</p>
      <p>
        Now we describe the main properties of  QCR (V, A). We do not formulate
traditional properties of propositional compositions of disjunction and negation [
        <xref ref-type="bibr" rid="ref14">9, 14</xref>
        ], but
concentrate on properties of compositions of renomination and complement.
      </p>
      <p>Compositions of disjunction and negation have traditional properties; in contrast
to these compositions, the composition of predicate complement is more complicated:
it does not have the monotonicity property and it does not have distributivity
properties with respect to disjunction. For this composition we identify the following
properties.</p>
      <p>Lemma 1. For any p  PrAV we have
p 
p ;
p 
p ;
p 
p .</p>
      <p>Lemma 2. For any p  PrAV we have
1) T( p)   ; F( p)  T ( p) ;  ( p)   ( p) ;
2) T(Rxv ( p)) = T ( (Rxv ( p))) ; F(Rxv ( p))   ;  (Rxv ( p)) =  ( (Rxv ( p))) .</p>
      <p>
        The notion of unessential variable is important for the composition of
renomination. A name (variable) z is unessential for predicate p  PrAV , if for any dVA the
value of p does not depends on the value of z [
        <xref ref-type="bibr" rid="ref12">9, 12</xref>
        ].
      </p>
      <p>Lemma 3. The following properties of the compositions of renomination and
predicate complement hold for any p  PrAV :</p>
      <p>R) Rxv ( p  q)  Rxv ( p)  Rxv (q) ;
R) Rxv (p)  Rxv ( p) ;
RR) Rxv (Ryw ( p))  Rxv wy ( p) ;
R ) Rv ( p) </p>
      <p>x
R) R(p) = p;
RI) Rzz,,xv ( p)  Rxv ( p) ;</p>
      <p>Rxv ( p) ;</p>
      <p>RU) Ryz,,vx ( p)  Rxv ( p) if zV is unessential for p.
is called the language signature.</p>
      <p>For simplicity, we use the same notation for symbols of compositions and
compositions themselves.</p>
      <p>Given QCR , we define inductively the language of LQCR – the set of formulas
denoted Fr( LQCR ) or simply Fr:
– if P  Ps then PFr. Formulas of such forms are called atomic;
– if , Fr then , , Rxv  ,  Fr .
Let  QCR (V, A) = &lt; PrAV ; , , Rv ,</p>
      <p>x
QCR  (V,U;, , Rvx , ; Ps) , IQPs  Ps tPrAV
&gt; be a complemented algebra of a signature
be an interpretation mapping of
predicate symbols. Then a tuple J( QCR ) = ( QCR (V, A), IQPs ) is called an LQCR
interpretation.</p>
      <p>We simplify notation for LQCR -interpretation J( QCR ) omitting LQCR and QCR .</p>
      <p>In interpretation J, an algebra  QCR (V, A) defines interpretations of composition
symbols while IQPs defines interpretations of predicate symbols.</p>
      <p>For given interpretation J and formula , we can define by induction on the
structure of  its value in J. Obtained predicate is denoted  J.</p>
      <p>Lemma 4. Let J be an interpretation and , Fr. Then</p>
      <p>R) R()J = J ;
RI) Rzz,,xv ()J  Rxv ()J ;
RU) Ryz,,vx ()J  Rxv ()J if zV is unessential for ;
R) Rxv ()J  Rxv ()J ;
R) Rxv (  )J  Rxv ()J  Rxv ()J ;
RR) Rxv (Ryw ())J  Rxv wy ()J ;
R ) Rv ( )J 
x</p>
      <p>Rxv ()J .
3.4</p>
      <p>Logical Consequence Relation under Conditions of Undefinedness
Introduction of composition requires more complicated consequence relation
because undefinedness domains should be taken into consideration. Here we introduce
new consequence relation between sets of formulas denoted |=IR which generalizes
irrefutability relation |=IR [7].</p>
      <p>Let   Fr and J be an interpretation.</p>
      <p>We denote:</p>
      <p>T(J ) as T( J),</p>
      <p>F(J ) as F( J),
 (J ) as ( J).



Here J denotes set {  |    }.</p>
      <p>J
Set  can be empty. In this case</p>
      <p>T() = T() = F() = F() = () = () = V A .</p>
      <p>Let , U,   Fr. Informally, the statement “ is irrefutable consequence of 
under undefinedness conditions U in interpretation J ” means
“for any dVA if J (d)  for any U then it is not possible that ( J (d) = T
for any  and J (d) = F for any  )”.</p>
      <p>This statement is equivalent to the following statement:</p>
      <p>“for any dVA if d(UJ) then it is not possible that dT(J)F( J) ”.
The former statement can be reformulated as follows:</p>
      <p>“for any dVA it is not possible that (d(UJ) and dT(J)F( J)) ”.
Finally, we obtain the following statement:</p>
      <p>“(UJ)  T(J)  F( J) =  ”.</p>
      <p>So, we come to the following formal definition:  is irrefutable consequence of 
under undefinedness conditions U in interpretation J (denoted U /  J |=IR  ) if</p>
      <p>T(J)  (UJ)  F( J) = .</p>
      <p>In particular, for U =  we obtain irrefutability consequence relation  J |=IR .
 is logical irrefutability consequence of  under undefinedness conditions U
(denoted U /  |=IR ), if U /  J |=IR  for any interpretation J.</p>
      <p>In particular, for U = , we get traditional logical irrefutability relation  |=IR .</p>
      <p>Let us now describe the main properties of the consequence relation |=IR for
propositional level.</p>
      <p>By definition of |=IR, we obtain monotonicity:
M) Let   , U  W, and   ; then U /  |=IR   W /  |=IR .</p>
      <p>The following properties describe conditions under which |=IR holds.
Theorem 1. For any U, ,   Fr, Fr:
С) U / ,  |=IR , ;
СUL) U, / ,  |=IR ;
СUR) U, /  |=IR , ;
C ) U /  |=IR ,  .</p>
      <p>Proof. Property С holds because T(J)  F(J) = .</p>
      <p>For property СUL we take into consideration that (J)  T(J) = .</p>
      <p>For property СUR we take into consideration that (J)  F(J) = .</p>
      <p>Property C holds because F( J) = .</p>
      <p>For |=IR the following properties of formula decomposition hold.</p>
      <p>Theorem 2. For any U, ,   Fr, , , Fr:
L) U /,  |=IR   U /  |=IR , ;
R) U /  |=IR ,   U / ,  |=IR ;
L) U / ,  |=IR   U / ,  |=IR  and U / ,  |=IR ;
R) U /  |=IR ,   U /  |=IR , , ;
U) U, /  |=IR   U,  /  |=IR ;
U) U, /  |=IR   U,, /  |=IR  and U, /  |=IR ,  and</p>
      <p>U, /  |=IR , ;
U) U,  /  |=IR   U / ,  |=IR  and U /  |=IR , ;</p>
      <p>L) U / ,  |=IR   U,  /  |=IR .</p>
      <p>Proof. Property U holds because (J) = (J).</p>
      <p>Property U holds because</p>
      <p> (J  J )  ( (J )  (J )) ( (J )  F(J )) (F(J )  (J )) .
Property</p>
      <p>U holds because  ( J ) = T(J)  F(J).
U,</p>
      <p>
        Properties L, R, L, R are similar to properties of |=IR [
        <xref ref-type="bibr" rid="ref12 ref13">9, 12, 13</xref>
        ]. Properties U,
      </p>
      <p>L, U are special for LQCR.</p>
      <p>Let us consider properties of relation |=IRU of a renominative level. Their proofs are
based on Theorem 2. Each of properties R, RI, RU, RR, R, R, R of Lemma 4
induces three corresponding properties for |=IRU, depending on the position of a
formula (in the left side of |=IRU, in the right side of |=IRU, in the undefinedness conditions
of |=IRU). Such properties are formulated in a similar way, for example, the following
properties R L, R R, R U are induced by R :</p>
      <p>R L) U / Rxv ( ),  |=IR   U / Rxv (),  |=IR ;
R R) U /  |=IR , Rxv ( )  U /  |=IR , Rxv () ;</p>
      <p>R U) U, Rxv ( ) /  |=IR   U, Rxv ()/  |=IR .
4</p>
      <p>Sequent Calculus for LQCR
Usually, inference relations are defined by some axiomatic systems (calculi). We
present here a system that formalizes logical consequence relation between two sets
of formulas. Such systems are called sequent calculi.</p>
      <p>We construct a sequent calculus CQCR for relation |=IR.</p>
      <p>The main objects of this calculus are sequents. Here we consider only the case with
finite sequents. We construct calculus in the style of semantic tableau, so, we will
treat sequents as finite sets of formulas signed (marked, indexed) by symbols |– , –| ,
and  .</p>
      <p>Formulas from  (they are signed by |–) are called T-formulas, formulas from 
(they are signed by –|) are called F-formulas, and formulas from U (they are signed
by ) are called  -formulas.</p>
      <p>Sequents are denoted |–U–|, in abbreviated form .</p>
      <p>The derivation in a sequent calculus has the form of a tree whose vertices are
sequents. Such trees are called sequent trees.</p>
      <p>
        The rules of sequent calculus are called sequent forms. They are syntactical
analogs of the semantic properties of the corresponding relations of logical consequence.
Details of the definition of sequent tree can be found in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>Closed sequents are axioms of the sequent calculus.</p>
      <p>A closed sequent is specified in such a way that the following condition should
hold:</p>
      <p>if sequent |–U–| is closed then U /  |=IR .</p>
      <p>Sequent calculus is defined by basic sequent forms and closure conditions of
sequents.</p>
      <p>For CQCR we take the following closure conditions:</p>
      <p>sequent |–U–| is closed if condition CCUL CUR C holds.</p>
      <p>Here C, CUL, CUR, C are the following basic closure conditions:
C) exists :  and ;
CUL) exists :  and U;
CUR) exists :  and U;</p>
      <p>C ) exists :  .</p>
      <p>Theorem 3. If sequent |–U–| is closed then U/ |=IR .</p>
      <p>Proof. The theorem statement follows directly from Theorem 1.</p>
      <p>The sequent forms of decomposition of compositions , ,
are induced by the
corresponding properties of formulas decomposition, in particular, basic sequent
forms of CQCR calculus are induced by the formula decomposition properties L, R,
L, R, U, U, U, L:
| |,  ;
|, 
| |,  ;
|, 
 ,  ;
, 
|,  |,  ;  ,  ,  , | ,  |,  , 
| |,  |,  ; | |, |, 
, 
;</p>
      <p>For the composition of renomination we use the following forms of equivalent
transformations:</p>
      <p>
        Rxv wy () represents application of two successive renominations
Here
Rxv (Ryw()) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>Forms of simplification:
|–R |, ;
|R(),
–|R |, ;
|R(),
R  R(,), ;

|,  |, 
 , </p>
      <p>;
|–R |Rxv (),
|Rxv (),</p>
      <p>;
|Rxv (),
|– R | Rxv (),
|Rxv ( ),</p>
      <p>;
|–RR |Rxv wy (),
|Rxv (Ryw()),</p>
      <p>;
|–R |Rxv () Rxv (), ; –|R |Rxv () Rxv (),
|
, 
| , </p>
      <p>.
–|R |Rxv (),
|Rxv (),</p>
      <p>;
|Rxv (),
–| R  | Rxv (),</p>
      <p>|Rxv ( ),
–|RR |Rxv wy (),
|Rxv (Ryw()),
;
R Rxv (), ;</p>
      <p>Rxv (),
; R Rxv () Rxv (), ;</p>
      <p>Rxv (),
;  R  Rxv (), ;</p>
      <p>Rxv ( ),
RR Rxv wy (),
Rxv (Ryw()),
.
|–RI | Rxv (),  ;</p>
      <p>| Rzz,,xv (), 
|–RU | Ruv (),  ;
| Rzy,,uv (), 
–|RI | Rxv (),  ;</p>
      <p>| Rzz,,xv (), 
–|RU
| Ruv (), 
| Rzy,,uv (), 
;
RI  Rxv (),  ;</p>
      <p> Rzz,,xv (), 
RU
 Rxv (), 
 Ryz,,vx (), 
.</p>
      <p>The names of the sequent forms are consistent with the names of the properties of
the decomposition of the formulas. Introduction of undefinedness formulas
additionally leads to new sequent forms with three premises (rule ).</p>
      <p>For basic rules of CQCR we have the following main properties.</p>
      <p>Theorem 4.</p>
      <p>be basic sequent form. Then
1. Let | W|</p>
      <p>| U|
a) U /  |=IR  
b) U /  |IR  </p>
      <p>W /  |=IR ;</p>
      <p>W /  |IR .
2. Let | W|</p>
      <p>|V|
| U|
a) U /  |=IR  
b) U /  |IR  </p>
      <p>W /  |=IR  and V /  |=IR ;</p>
      <p>W /  |IR  or V /  |IR .
3. Let | W|
|V| |Y|
| U|
be basic sequent form. Then</p>
      <p>be basic sequent form. Then
a) U /  |=IR  
b) U /  |IR  </p>
      <p>W /  |=IR  and V /  |=IR  and Y /  |=IR ;</p>
      <p>W /  |IR  or V /  |IR  or Y /  |IR .</p>
      <p>Proof. The proof of the theorem is obtained by set-theoretic methods using a
formula specifying relation |=IR.
5</p>
      <p>Soundness and Completeness of CQCR
Now we prove soundness and completeness theorems for CQCR.</p>
      <p>Theorem 5 (soundness). Let sequent |–U–| be derivable in CQCR. Then
U /  |=IR .</p>
      <p>Proof. If |–U–| is derivable then a finite closed tree was constructed. From this
follows that for any leaf of this tree its sequent |–W–| is closed. Thus, by Theorem
4, W /  |=IR  holds. Therefore, for the root of the tree (sequent |–U–|) we have
that U /  |=IR  holds.</p>
      <p>The completeness is traditionally proved on the basis of theorems of the existence
of a counter-model for the set of formulas of a non-closed path in the sequent tree. In
this case a method of model sets is used.</p>
      <p>We apply this method to the CQCR calculus.</p>
      <p>Set Н of signed formulas is a model set (Hintikka’s set) for LQCR if the following
conditions hold:</p>
      <p>Decomposition conditions:
НСU) For any Fr at most one of |–, –|,   can belong to Н;
Н C ) For any Fr it is not possible that –| H ;
НL) If |–Н, then –|Н;
НR) If –|Н, then |–Н;
НL) If |–Н, then |–Н or |–Н;
НR) If –|Н, then –|Н and –|Н;
НU) If   Н, then   Н;
НU) If     Н, then   Н and   Н</p>
      <p>or   Н and –|Н or –|Н and   Н;
Н
Н</p>
      <p>L) If |  Н, then   Н;</p>
      <p>U) If   Н, then |–Н or –|Н.
НRIL) | Rzz,,xv ()  H  | Rxv ()  H ;
НRIR) | Rzz,,xv ()  H  | Rxv ()  H ;
НRIU)  Rzz,,xv ()  H   Rxv ()  H ;
Н R L) | Rx ( )  H  | Rxv ()  H ;</p>
      <p>v
Н R R) | Rx ( )  H  | Rxv ()  H ;</p>
      <p>v
Н R U)  Rx ( )  H   Rxv ()  H .</p>
      <p>v</p>
      <p>Conditions for the composition of renomination are formulated in a similar way,
for example, sequent forms RI and R induce the following conditions:</p>
      <p>A set H  Fr is called satisfiable if there exist a set A, an interpretation J, and a
nominative set   V A such that
– |–Н  A()  = T;
– –|Н  A()  = F;
–   Н  A()  .</p>
      <p>A set Н of signed formulas for which the above-written conditions hold is called
HQCR-model.</p>
      <p>Theorem 6. Let H be HQCR-model for LQCR. Then H is satisfiable.</p>
      <p>Proof. Given HQCR-model Н, we should construct a set A, an interpretation J, and a
nominative set   V A that demonstrate satisfiability of H. These constructions are
rather complicated due to undefinedness conditions therefore here we do not present
the proof in all details but demonstrate only its main parts.</p>
      <p>Let W = nm(Н) be a set of subject names (variables) that occur in H. Let a set А
duplicates W and VA be a nominative set such that asn() = W.</p>
      <p>Let us prescribe values of basic predicates on nominative set  and nominative sets
of the form rvx () . To do this, we use notations PA() = T, PA() = F, and PA()  ) to
prescribe the value of P on d in algebra  QCR (V, A) equal to T, equal to F, and to be
undefined respectively:
– |– PН  PA() = T;
– –| PН  PA() = F;
–  P Н  PA()  ;
– | Rxv (P)  H  PA (rvx ())  T ;
–
–
| Rxv (P)  H  PA (rvx ())  F ;
 Rxv (P)  H  PA (rvx ())  .
– Formulas of the form | Rxv (P) are called primitive.</p>
      <p>For a predicate symbol PPs that does not occur in H, its value can be chosen in
arbitrary way. Also, we should treat variables from U as unessential.</p>
      <p>For atomic and primitive formulas the satisfiability statements follow from their
definitions.</p>
      <p>Now the proof goes on by induction on the formula structure.</p>
      <p>Let us prove the theorem for conditions НRIL, Н R R, Н R U, НL, НR, НU,
НL, НR, НU, Н U, Н L .</p>
      <p>Let | Rzz,,xv ()  H . By НRIL we have | Rxv ()  H . By induction hypothesis
Rxv ()A ()  T , therefore Rzz,,xv ()A ()  T .</p>
      <p>Let | Rx ( )  H . By Н R R we have | Rxv ()  H . By induction hypothesis
v
Rxv ()A ()  F , therefore Rv ( )A ()  F .</p>
      <p>x</p>
      <p>Rv ( )  H . By Н R U we have  Rxv ()  H . By induction hypothesis
Let  x
Rxv ()A()  , therefore Rv ( )A()  .</p>
      <p>x</p>
      <p>Let |–Н. By НL we have –|Н. By induction hypothesis A() = F,
therefore A() = T.</p>
      <p>Let –|Н. By НR we have |–Н. By induction hypothesis A() = T,
therefore A() = F.</p>
      <p>Let |–Н. By НL we have |–Н or |–Н. By induction hypothesis
A() = T and A() = T, therefore ()A() = T.</p>
      <p>Let –|Н. By НR we have –|Н and –|Н. By induction hypothesis
A() = F and A() = F, therefore ()A() = F.</p>
      <p>Let   Н. By НU we have   Н. By induction hypothesis A()  ,
therefore A()  .</p>
      <p>Let     Н. By НU   Н and   Н or   Н and –|Н or –|Н
and   Н. By induction hypothesis A()  and A()  or A()  and A() = F
or A() = F and A()  . Therefore (A)()  .</p>
      <p>Let </p>
      <p>Let |
fore</p>
      <p> A(d)  T .
A() = T or A() = F, this gives A()  , therefore
 A(d)  .
 Н. By Н</p>
      <p>U we have |–Н or –|Н. By induction hypothesis
 Н. By Н</p>
      <p>L we have   Н. By induction hypothesis A()  ,
thereTheorem 7. Let  be unclosed path in a sequent tree for |–U–| and H be the set of
all formulas in . Then H is a model set.</p>
      <p>
        Proof. We should check that H satisfies all requirements that specify a model set.
Details can be found in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] but additionally undefinedness conditions should be
taken into account.
      </p>
      <p>The completeness theorem follows from Theorems 6 and 7.</p>
      <p>Theorem 8 (completeness). Let U /  |=IR  hold. Then sequent |–U–| is derivable
in CQCR.</p>
      <p>Proof. Assume that U /  |=IR  and |–U–| is not derivable. In this case a
sequent tree for |–U–| is not closed. Thus, an unclosed path  exists in this tree. Let
H be the set of all formulas of this path. By Theorem 7, H is a model set. By theorem
6 this means that a counter-model for |–U–| was constructed. But this contradicts to
U /  |=IR  .
5. Conclusion
The efficiency of program verification heavily depends on program logics supporting
corresponding verification methods. Traditional Floyd-Hoare logic and its variants are
oriented on total pre- and post-conditions (total predicates) and do not support partial
predicates. In this paper we have studied a new method for constructing sound
program logics. This method is based on extending program logics with the composition
of predicate complement. The method permits to construct a sound calculus for
program logic but it makes the calculus more complicated because undefinedness
conditions should be taking into consideration.</p>
      <p>Also, introduction of partial predicates required extension of a base predicate logic
to a logic of partial quasiary predicate. For this logic we have defined and
investigated a special consequence relation called irrefutability consequence relation with
undefinedness conditions. For a case of quantifier-free predicate logic of partial quasiary
predicates (renominative level) we have constructed a calculus of sequent type and
proved its soundness and completeness.</p>
      <p>
        In the future we plan to construct a sequent calculus for predicate logic over
hierarchical nominative data and prove its soundness and completeness. Also, we plan to
develop a prototype of theorem prover oriented on such logics. Initial steps were
made in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Abramsky</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gabbay</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maibaum</surname>
          </string-name>
          , T. (editors).
          <source>Handbook of Logic in Computer Science</source>
          , Oxford University Press, Vol.
          <volume>1</volume>
          -
          <fpage>5</fpage>
          (
          <fpage>1993</fpage>
          -2000)
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Hoare</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>An axiomatic basis for computer programming</article-title>
          ,
          <source>Commun. ACM</source>
          <volume>12</volume>
          (
          <issue>10</issue>
          ),
          <fpage>576</fpage>
          -
          <lpage>580</lpage>
          (
          <year>1969</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Apt</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Ten years of Hoare's logic: a survey - part I, ACM Trans</article-title>
          .
          <source>Program. Lang. Syst</source>
          .
          <volume>3</volume>
          (
          <issue>4</issue>
          ),
          <fpage>431</fpage>
          -
          <lpage>483</lpage>
          (
          <year>1981</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Kryvolap</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schreiner</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Extending Floyd-Hoare logic for partial pre- and postconditions</article-title>
          .
          <source>In: Communications in Computer and Information Science</source>
          , vol.
          <volume>412</volume>
          , pp.
          <fpage>355</fpage>
          -
          <lpage>378</lpage>
          . Springer, Cham (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kryvolap</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Properties of inference systems for Floyd-Hoare logic with partial predicates</article-title>
          ,
          <source>Acta Electrotechnica et Informatica</source>
          ,
          <volume>13</volume>
          (
          <issue>4</issue>
          ),
          <fpage>70</fpage>
          -
          <lpage>78</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Ivanov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>On the sequence rule for the Floyd-Hoare logic with partial pre- and post-conditions</article-title>
          .
          <source>In Proceedings of the 14th International Conference on ICT</source>
          , vol.
          <volume>2104</volume>
          of CEUR Workshop Proc., pp.
          <fpage>716</fpage>
          -
          <lpage>724</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ivanov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Korniłowicz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kryvolap</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Extended Floyd-Hoare logic over relational nominative data</article-title>
          . In: Bassiliades,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Ermolayev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Fill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.G.</given-names>
            ,
            <surname>Yakovyna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Mayr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.C.</given-names>
            ,
            <surname>Nikitchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Zholtkevych</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Spivakovsky</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.) Information and Communication Technologies in Education, Research, and Industrial Applications. pp.
          <fpage>41</fpage>
          -
          <lpage>64</lpage>
          . Springer International Publishing,
          <string-name>
            <surname>Cham</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <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</source>
          , IT-TR 1998-
          <volume>020</volume>
          , Technical University of Denmark (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shkilniak</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Mathematical logic and theory of algorithms</article-title>
          . Кyiv:
          <article-title>VPC Кyivskyi Universytet</article-title>
          , in
          <string-name>
            <surname>Ukrainian</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tymofieiev</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Satisfiability in Composition-Nominative Logics</article-title>
          , Open Computer Science (former
          <source>Central European Journal of Computer Science)</source>
          , vol.
          <volume>2</volume>
          , issue 3, pp.
          <fpage>194</fpage>
          -
          <lpage>213</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ivanov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skobelev</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Proving properties of programs on hierarchical nominative data</article-title>
          ,
          <source>Comput. Sci. J</source>
          . Moldova,
          <volume>24</volume>
          (
          <issue>3</issue>
          (
          <issue>72</issue>
          )),
          <fpage>371</fpage>
          -
          <lpage>398</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shkilniak</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Algebras and logics of partial quasiary predicates</article-title>
          ,
          <source>Algebra and Discrete Mathematics</source>
          , vol.
          <volume>23</volume>
          . No 2, pp.
          <fpage>263</fpage>
          -
          <lpage>278</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Korniłowicz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ivanov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Kleene algebra of partial predicates</article-title>
          .
          <source>Formalized Mathematics</source>
          ,
          <volume>26</volume>
          ,
          <fpage>11</fpage>
          -
          <lpage>20</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shkilniak</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Shkilniak</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Pure first-order logics of quasiary predicates, Problems in Programming</article-title>
          . No 2
          <issue>-3</issue>
          , pp.
          <fpage>73</fpage>
          -
          <lpage>86</lpage>
          , in Ukrainian (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Kornilowicz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kryvolap</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikitchenko</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ivanov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Formalization of the nominative algorithmic algebra in Mizar</article-title>
          . In: J.
          <string-name>
            <surname>Świątek</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Borzemski</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          Wilimowska (eds.)
          <source>ISAT</source>
          <year>2017</year>
          ,
          <article-title>AISC</article-title>
          , vol.
          <volume>656</volume>
          , pp.
          <fpage>176</fpage>
          -
          <lpage>186</lpage>
          . Springer, Cham (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>