Submitted 25 June 2020
Accepted 29 October 2020
Published 30 November 2020
Corresponding author
Artur Korniłowicz,
arturk@math.uwb.edu.pl
Academic editor
Marieke Huisman
Additional Information and
Declarations can be found on
page 13
DOI 10.7717/peerj-cs.320
Copyright
2020 Korniłowicz
Distributed under
Creative Commons CC-BY 4.0
OPEN ACCESS
Enhancement of properties in Mizar
Artur Korniłowicz
Institute of Computer Science, University of Bialystok, Bialystok, Poland
ABSTRACT
A ‘‘property’’ in the Mizar proof-assistant is a construction that can be used to
register chosen features of predicates (e.g., ‘‘reflexivity’’, ‘‘symmetry’’), operations (e.g.,
‘‘involutiveness’’, ‘‘commutativity’’) and types (e.g., ‘‘sethoodness’’) declared at the
definition stage. The current implementation of Mizar allows using properties for
notions with a specific number of visible arguments (e.g., reflexivity for a predicate
with two visible arguments and involutiveness for an operation with just one visible
argument). In this paper we investigate a more general approach to overcome these
limitations. We propose an extension of the Mizar language and a corresponding
enhancement of the Mizar proof-checker which allow declaring properties of notions of
arbitrary arity with respect to explicitly indicated arguments. Moreover, we introduce
a new property—the ‘‘fixedpoint-free’’ property of unary operations—meaning that
the result of applying the operation to its argument always differs from the argument.
Results of tests conducted on the Mizar Mathematical Library are presented.
Subjects Digital Libraries, Theory and Formal Methods, Programming Languages
Keywords Formal verification, Mizar proof-assistant, Mizar Mathematical Library
INTRODUCTION
Classical mathematical papers consist of sequences of definitions and justified facts classified
into several categories like: theorems, lemmas, corollaries, and so on, often interspersed
with some examples and descriptions.
Mathematical documents prepared using various proof-assistants (e.g., Isabelle (Isabelle,
2020), HOL Light (HOL Light, 2020), Coq (Coq, 2020), Metamath (Metamath, 2020),
Lean (Lean, 2020), and Mizar (Mizar, 2020)) can also contain other constructions that are
processable by dedicated software. In the case of the Mizar system (Bancerek et al., 2015;
Grabowski, Korniłowicz & Naumowicz, 2010) such constructions are:
1. existential, conditional and functorial registrations which enhance processing
adjectives (Naumowicz, 2009),
2. term reductions which reduce terms to their proper sub-terms (Korniłowicz, 2013),
3. term identifications which identify equivalent notions from different theo-
ries (Grabowski, Korniłowicz & Naumowicz, 2010), and
4. properties which can declare chosen properties of predicates, functors and types at the
stage of their definitions (Naumowicz & Byliński, 2004).
The current implementation of the Mizar proof-assistant allows using properties for
notions with a specific number of visible arguments. Visible arguments are those which
are explicitly used in the notation of the notion. For example, if x and y are elements of
How to cite this article Korniłowicz A. 2020. Enhancement of properties in Mizar. PeerJ Comput. Sci. 6:e320
http://doi.org/10.7717/peerj-cs.320
https://peerj.com/computer-science
mailto:arturk@math.uwb.edu.pl
https://peerj.com/academic-boards/editors/
https://peerj.com/academic-boards/editors/
http://dx.doi.org/10.7717/peerj-cs.320
http://creativecommons.org/licenses/by/4.0/
http://creativecommons.org/licenses/by/4.0/
http://doi.org/10.7717/peerj-cs.320
a group G, then for the operation x+y, where + denotes the addition of elements of the
group G, x and y are visible arguments, while G is a hidden argument of the operation.
In this paper we propose an extension of both the Mizar language and the Mizar proof-
checker which allows declaring properties of notions of arbitrary arity with respect to
explicitly indicated arguments. We also introduce a new property—the ‘‘fixedpoint-free’’
property of unary operations. It states that the result of applying the operation to its
argument always differs from the argument.
The structure of the paper is the following: in ‘Mizar proof-assistant’ we present the Mizar
proof-assistant with the focus on its features related to the new development proposed
in this paper; in ‘Properties’ we describe how to define and use properties for arbitrary
arguments; in ‘Fixedpoint-free Property’ we present the ‘‘fixedpoint-free’’ property; and
finally, in ‘Conclusions and Future Work’, we describe some conclusions and plans for
next enhancements of properties in Mizar. The results of implementing new features in the
Mizar Mathematical Library (MML) (Bancerek et al., 2018; Alama et al., 2011) are shown
in both ‘Properties’ and ‘Fixedpoint-free Property’.
MIZAR PROOF-ASSISTANT
The Mizar project started in 1973 under the leadership of Andrzej Trybulec (Matuszewski &
Rudnicki, 2005; Grabowski, Korniłowicz & Naumowicz, 2015). The main goal of the project
is to develop a computer framework that allows writing mathematical papers under the
control of computer programs that check syntactical, semantical and logical correctness of
texts. The Mizar project consists of three main components:
• a language invented to write mathematical texts to be processed by computers,
• a collection of computer programs designed and implemented for processing texts
written in the Mizar language, with its core program, a proof-checker named Verifier,
suitable for formal verification (Avigad & Harrison, 2014; Trybulec et al., 2013; Wiedijk ,
2006), and
• the Mizar Mathematical Library—a library of documents (called articles) written in the
Mizar language and verified by the Mizar proof-checker.
Language
The Mizar language reflects the natural language of mathematics and enables computers
to efficiently process documents written in the language. It implements rules for writing:
formulae of various kinds, definitions, theorems, local lemmas, reasoning methods, proof
steps, and other syntactic constructions instructing the proof-checker to launch dedicated
algorithms for processing particular mechanisms (e.g., term identifications (Grabowski,
Korniłowicz & Naumowicz, 2010), term reductions (Korniłowicz, 2013), properties of
predicates and functors (Naumowicz & Byliński, 2004)), etc.
For the purposes of this paper we recall some basic information about how new
mathematical notions can be defined in Mizar articles.
The Mizar language allows users to define predicates, functors (linguistic functions
used to define operations), attributes (Naumowicz, 2009), types (Bancerek, 2003), and
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 2/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
structures. The general form of a definition consists of the definition arguments, permissive
assumptions (necessary to prove the correctness of the definition), its notation (prefix, infix
or suffix), the result type, the definiens, correctness conditions, and some extra properties.
For example, the union of two sets can be defined as follows:
definition
let X,Y be set;
func X \/ Y -> set means
:: XBOOLE_0:def 3
for x being object holds x in it iff x in X or x in Y;
existence;
uniqueness;
commutativity;
idempotence;
end;
where the statement let X,Y be set; introduces two arguments, func declares that it is
a definition of an operation, X \/ Y introduces the symbol \/ for the union and declares
it to be used as an infix symbol, → set defines the type of the result of the operation
(the union of two sets is a set), XBOOLE_0:def 3 is a unique identifier of the definition
(it can be used to refer to the definition), for statement describes the meaning of the
definition (it keyword in the definiens represents the notion being defined), existence is
an automatically generated statement that has to be proved by authors to justify that there
exists an object satisfying the definiens, uniqueness is another automatically generated
statement that has to be proved to justify that there exists only one object satisfying the
definiens, commutativity and idempotence are extra properties that can be declared and
proved about the notion at this stage.
One can observe that in the above example definition there are no permissive
assumptions, because they are not necessary to justify the existence and uniqueness. But,
for example, in the definition of a homeomorphism between two topological structures:
definition
let S,T be TopStruct;
assume S,T are_homeomorphic;
mode Homeomorphism of S,T -> Function of S,T means
:: TOPGRP_1:def 3
it is being_homeomorphism;
existence;
end;
such an assumption assume S,T are_homeomorphic; is necessary to justify the existence,
because in general not all topological spaces are homeomorphic.
The Mizar language allows also introducing, so called, redefinitions. Redefinitions can
be used for the following purposes:
• to change result types of operations for more specific types of arguments; for example,
addition of numbers can be defined for complex numbers with the result type
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 3/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
representing complex numbers, but when arguments of the definition are, say, natural
numbers, the result type of the addition can be redefined to the type representing natural
numbers;
• to reformulate definiens formulae in domain languages adequate to the types of
arguments of the notion; for example, the inclusion of arbitrary sets can be defined in
terms of elements of the sets, while when arguments of the inclusion are binary relations,
the definiens of the inclusion can be formulated in terms of pairs of elements.
Proof checker
The logical foundation of the Mizar checker is classical first-order logic with equality
(in some contexts, however, free second-order variables are permitted enabling the
introduction of schemes, e.g., the scheme of mathematical induction). The proof system
is based on the Jaśkowski style of natural deduction (Jaśkowski, 1934). Structures of proofs
are basically related to the structures of the formulae being proved with application of
definitional expansions.
From the author’s perspective, the correctness of formalized reasoning is controlled
by the core utility of the Mizar system, the Verifier. Although its proof-checking code
is sufficient to guarantee logical correctness, there are successful applications of external
software to perform some particular tasks during processing Mizar texts (Naumowicz,
2015; Naumowicz, 2014; Naumowicz, 2010).
Verifier is a classical proof checker based on the notion of the inference
obviousness (Davis, 1981; Rudnicki, 1987). The basic modules of Verifier are the following:
Parser which is responsible for controlling the lexical structure of a given
text and generating the parse tree of the text.
MSM Processor which identifies constants, variables and labels.
Analyzer which identifies objects and operations, performs type checking
and resolves possible ambiguities caused by overloading of
symbols. Moreover, it verifies if constraints required by particular
constructions are fulfilled.
Reasoner which controls structures of proofs according to the natural
deduction rules.
Checker which verifies logical correctness of inferences. As a disprover
it tries to refute negations of processed sentences. It performs
propositional calculus (Prechecker), equational calculus over
equalities accessible in inferences (Equalizer) and unification
(Unifier).
Mizar Mathematical Library
The Mizar Mathematical Library (MML) (Bancerek et al., 2018; Alama et al., 2011) was
established in 1989 to accumulate mathematical knowledge formalized and verified using
the Mizar proof-assistant. It is a collection of papers based on the Tarski-Grothendieck
(TG) set theory, which is a variant of the ZFC set theory (Hayden et al., 1968), where the
axiom of infinity is replaced by Tarski’s axiom of existence of arbitrarily large, strongly
inaccessible cardinals (Tarski, 1939).
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 4/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
The current Version 5.63.1382 of the Mizar Mathematical Library contains 1385 articles
(107,756,687 bytes in total) devoted to various branches of mathematics.
Developing the MML includes the following tasks:
• collecting new knowledge realized by: (a) developing background knowledge to prepare
a comprehensive database for practicing mathematicians and for educational purposes;
(b) formalizing entire mathematical books (Gierz et al., 1980; Bancerek & Rudnicki,
2002); (c) formalizing well-known theorems (Abad & Abad, 1999); and (d) developing
new theories (Grabowski, 2014; Grabowski, 2013; Grabowski & Jastrzebska, 2010).
• refactoring the database (Grabowski & Schwarzweller, 2007) to keep its integrity (Rud-
nicki & Trybulec, 2003) and to increase readability of the stored proofs (Pąk, 2014).
Knowledge stored in the database is used in various branches of science and
education, e.g., for representing mathematics on WWW (Iancu et al., 2013; Urban,
2005), as an input for ATP systems (Urban, Rudnicki & Sutcliffe, 2013; Urban & Sutcliffe,
2010; Urban, Hoder & Voronkov, 2010; Urban, 2008), as an input for services classifying
mathematics (Grabowski & Schwarzweller, 2012), and others.
Processing Mizar articles
Every Mizar article written as a plain text file with the file extension .miz consists of
two main parts: its environment, which can be seen as the import part from the Mizar
Mathematical Library, and text-proper part, where new definitions, lemmas, theorems etc.
are placed.
In the environment part the following directives are allowed:
• vocabularies –imports symbols of notions stored in the MML.
• notations –imports notations of notions stored in the MML. The order is important
–in the case of overloading the last one counts.
• constructors –imports constructors (meanings) of notions.
• theorems –imports theorems to which proofs refer to.
• schemes –imports schemes to which proofs refer to.
• definitions –imports formulae that determine proof skeletons.
• registrations –imports registrations, term identifications and term reductions used
in proofs.
• equalities –imports equalities of operations defined using equals clause with their
meanings.
• expansions –imports expansions of predicates and adjectives.
• requirements –imports switches to launch build-in procedures by the checker.
The environment is processed by a dedicated program—Accommodator. It reads the
environment part of the article and prepares global notions ready to be used in the local
article. When it is done, Verifier processes the text-proper part of the article. Firstly,
Parser scans the article, checks its grammatical correctness and prepares the parse tree of
the article. The parse tree is stored in the XML file with the extension .wsx (Naumowicz &
Piliszek, 2016). The next submodule, MSM Processor, reads the .wsx file and identifies
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 5/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
all identifiers of constants, variables and labels that appear in the article. MSM Processor
adds computed information to data written in the .wsx file and creates another XML file
with the extension .msx. Then, Analyzer reads the .msx file and resolves ambiguities and
identifies used notions (predicates, adjectives, types, operations and structures). Analyzer
creates another XML file with the extension .xml—the structure of this .xml file differs
from structures of both .wsx and .msx files. The .xml file contains the complete semantic
information about all constructions used in the processed article. When all ambiguities are
resolved and all notions are identified, the article is ready to be verified against its logical
correctness by the Mizar checker. Formulae are negated, transformed to their disjunctive
normal forms and all disjuncts, one by one, are then verified by Equalizer—a Mizar
module dealing with equational calculus (Rudnicki & Trybulec, 2001). It collects all terms
from the processed disjunct, and computes the congruence closure over equalities available
in the inference. The equalities can be provided by various Mizar constructions, like:
term expansions (equals), properties of operations, term reductions, term identifications,
arithmetic, type changing (reconsider), and others, e.g., processing structures.
For the sake of this paper let us underline properties of operations. They are described
in more detail in ‘Properties’.
The last procedure applied to the processed inference is its unification. If Equalizer
cannot disprove the formula, Unifier starts working and tries to refute it. If Unifier finds
a contradiction, the original disjunct is accepted as true; otherwise, appropriate messages
are reported and authors are supposed to complete missing proofs.
When all formulae are accepted, the article can be submitted to the Mizar Mathematical
Library and the new knowledge can be used in subsequent works. Two other tools are used
to export the new article into the database: Exporter—extracts public knowledge from the
article, and Transferer—transfers the knowledge into the Mizar Mathematical Library.
PROPERTIES
Properties in Mizar are constructions which can be used to declare that predicates are
reflexive (∀x :xRx), irreflexive (∀x :¬xRx), symmetric (∀x,y :xRy →yRx), asymmetric
(∀x,y :xRy →¬yRx), and connected (∀x,y :xRy∨yRx); in the case of operations, they
can be declared as involutive (f (f (x))=x), projective (f (f (x))= f (x)), idempotent
(f (x,x)=x), and commutative (f (x,y)= f (y,x)). Such declarations of chosen properties
must be placed within definitional blocks. When a notion is equipped with some properties,
then adequate formulae involving the notion become obvious to the Mizar checker without
any explicit reference to the definition and any theorem (they are processed automatically
based on internally generated equalities of terms in cases of properties of functors and
appropriate formulae in cases of properties of predicates). For example, the declaration of
the idempotence of the binary union of sets implies that the equality A∪A=A becomes
obvious for any set A.
The current implementation of the Mizar checker is restricted to fixed numbers of
visible arguments of considered notions listed in Table 1.
In this work we propose an extension of the Mizar system with the possibility of explicit
indication with respect to which visible arguments of mathematical notions given properties
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 6/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
Table 1 Arities of properties of notions.
Predicates Functors
Property name Arity Property name Arity
Reflexivity 2 Projectivity 1
Irreflexivity 2 Involutiveness 1
Symmetry 2 Commutativity 2
Asymmetry 2 Idempotence 2
Connectedness 2
can be declared. To achieve this, one can use the wrt clause followed by a comma separated
list_of_loci of visible arguments of lengths presented in Table 1. The extended syntax
of a definition of a functor is the following:
definition
let x1 be θ1, x2 be θ2, ..., xn be θn;
func ⊗(x1,x2,...,xn) -> θ means :ident:
8(x1,x2,...,xn,it);
correctness;
property_name wrt list_of_loci justification;
end;
and the extended syntax of a definition of a predicate is the following:
definition
let x1 be θ1, x2 be θ2, ..., xn be θn;
pred π(x1,x2,...,xn) means :ident:
8(x1,x2,...,xn);
property_name wrt list_of_loci justification;
end;
For the back compatibility the wrt clause is not obligatory, definitions with no wrt
clause work as in previous releases of the Mizar checker.
Examples
As an example of using this new feature in the MML we can cite the theorem (Kusak &
Radziszewski, 1991):
theorem Th78:
sum(a,b,o) = sum(b,a,o);
which can be reformulated as commutativity of:
definition
let SAS be Semi_Affine_Space;
let a,b,o be Element of SAS;
func sum(a,b,o) -> Element of SAS means :Def5:
congr o,a,b,it;
correctness by Th62,Th63;
commutativity wrt a,b by Th69;
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 7/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
end;
An interesting example of a theorem which at the first glance looks like symmetry of
some quaternary predicate with respect to the third and forth argument, but cannot be
reformulated as symmetry of the predicate, is Oryszczyszyn & Prazmowski (1990):
theorem Th24:
p,q _|_ p1,q1 implies p,q _|_ q1,p1;
To explain this fact one should look at types of variables p, q, p1, and q1 used in the
theorem and types of arguments of the definition of the predicate _|_. The type of p, q, p1,
and q1 is
reserve V for RealLinearSpace;
reserve w,y for VECTOR of V;
reserve p,p1,q,q1 for Element of AMSpace(V,w,y);
while the predicate _|_ is defined as:
definition
let POS be OrtStr;
let a,b,c,d be Element of POS;
pred a,b _|_ c,d means
:: ANALMETR:def 5
[[a,b],[c,d]] in the orthogonality of POS;
end;
Now it is clear that types of variables p, q, p1, and q1 are more restricted than
original types of arguments a, b, c, and d of the predicate declared in its definition.
The statement proved as the mentioned theorem Th24 is true for elements of a particular
space AMSpace(V,w,y), but does not hold for elements of an arbitrary space OrtStr.
It is a very typical case, when some notion is defined for general types of arguments, and
its particular properties are provable for less general ones.
Changes in XML files
As it was said in ‘Processing Mizar articles’, the Mizar verifier, to check the correctness of
Mizar articles, generates and processes several intermediate files written in XML formats.
To be able to implement the feature considered in this section, we had to slightly change
the grammars of these XML files. From the perspective of Mizar users formalizing some
knowledge, these changes are not important—the authors are not supposed to look into
these files. For researchers who use the Mizar system for other purposes and develop external
applications working on the semantic level of the Mizar Mathematical Library (Urban,
2005), these changes will induce the need for some adjustments or reimplementations.
Therefore, below we explain the changes. Let us take the following definition:
definition
let E be set;
let A,B be Element of E;
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 8/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
func +(A,B,E) -> Element of E equals
A \/ B;
coherence;
commutativity wrt A,B;
end;
as a working example.
In the file .wsx (Naumowicz & Piliszek, 2016) we added a new XML element
PropertyLoci including a list of loci for which the property holds. For our example
it looks like this:
-
This is propagated to the .msx file, which is an extension of the .wsx file, and for our
example it becomes:
-
Next two changes are introduced in .xml files: we added internal descriptions of
properties in their definitions:
and in constructors with which properties are associated:
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 9/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
FIXEDPOINT-FREE PROPERTY
As another enhancement of properties in Mizar we propose a new unary property of
functors—‘‘fixedpoint-free’’. The fixedpoint-free property is meaningful for operations
of which the result of application to a given argument is always different from the argument.
This is reflected in justification formulae of the properties to be proved at the stage of
defining the operation.
We propose the following syntax and formulae to be proved to justify the correctness
of the property for given functors. In the case of functors defined using the means clause
with a simple definiens it is:
definition
let x1 be θ1, x2 be θ2, ..., xn be θn;
func ⊗(xn) -> θn+1 means :ident: 8(x1,x2,...,xn,it);
existence;
uniqueness;
fixedpoint-free
proof
thus for r being θn+1, x being θn st 8(x1,x2,...,xn−1,x,r)
holds r <> x;
end;
end;
using the means clause with a complex definiens it is:
definition
let x1 be θ1, x2 be θ2, ..., xn be θn;
func ⊗(xn) -> θn+1 means :ident:
81(x1,x2,...,xn,it) if 01(x1,x2,...,xn),
82(x1,x2,...,xn,it) if 02(x1,x2,...,xn),
83(x1,x2,...,xn,it) if 03(x1,x2,...,xn)
otherwise 8n(x1,x2,...,xn,it);
existence;
uniqueness;
consistency;
fixedpoint-free
proof
thus for r being θn+1, x being θn st
(01(x1,x2,...,xn) implies 81(x1,x2,...,xn−1,x,r)) &
(02(x1,x2,...,xn) implies 82(x1,x2,...,xn−1,x,r)) &
(03(x1,x2,...,xn) implies 83(x1,x2,...,xn−1,x,r)) &
(not 01(x1,x2,...,xn) & not 02(x1,x2,...,xn) &
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 10/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
not 03(x1,x2,...,xn) implies 8n(x1,x2,...,xn−1,x,r))
holds r <> x;
end;
end;
and similarly in the case of functors defined using the equals clause with a simple definiens
it is:
definition
let x1 be θ1, x2 be θ2, ..., xn be θn;
func ⊗(xn) -> θn+1 equals :ident: τ(x1,x2,...,xn);
coherence;
fixedpoint-free
proof
thus for r being θn+1, x being θn st r = τ(x1,x2,...,xn−1,x)
holds r <> x;
end;
end;
and using the equals clause with a complex definiens it is:
definition
let x1 be θ1, x2 be θ2, ..., xn be θn;
func ⊗(xn) -> θn+1 equals :ident:
τ1(x1,x2,...,xn) if 01(x1,x2,...,xn),
τ2(x1,x2,...,xn) if 02(x1,x2,...,xn),
τ3(x1,x2,...,xn) if 03(x1,x2,...,xn)
otherwise τn(x1,x2,...,xn);
coherence;
consistency;
fixedpoint-free
proof
thus for r being θn+1, x being θn st
(01(x1,x2,...,xn) implies r = τ1(x1,x2,...,xn−1,x,r)) &
(02(x1,x2,...,xn) implies r = τ2(x1,x2,...,xn−1,x,r)) &
(03(x1,x2,...,xn) implies r = τ3(x1,x2,...,xn−1,x,r)) &
(not 01(x1,x2,...,xn) & not 02(x1,x2,...,xn) &
not 03(x1,x2,...,xn) implies r = τn(x1,x2,...,xn−1,x,r))
holds r <> x;
end;
end;
This property can also be declared with the wrt clause as described in ‘Properties’, and
could be added to Table 1.
An important part of our work was implementing a tool (fixedpointfreedetector)
which detects MML theorems that could be rewritten as fixedpoint-free properties of
operations used in formulations of the theorems. To detect such theorems, the following
steps should be done:
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 11/16
https://peerj.com
http://dx.doi.org/10.7717/peerj-cs.320
1. If the theorem is a conjunction of some atomic formulae, decomposing a given formula
to a list of atomic formulae.
2. Selecting inequalities among the atomic formulae.
3. Selecting formulae which compare unary terms with single variables among the
inequalities.
4. For each such a formula checking whether:
(a) the argument of the unary term equals to a single variable,
(b) the type of the variable and the type of the argument of the term declared in the
definition of the operation are equal.
5. If both answers to the above questions (4a) and (4b) are positive, marking the fact to
be replaceable by the fixedpoint-free property of the operation.
At the end of this section we present results of launching the detector on the Mizar
Mathematical Library. In the current version of the library 3 such theorems were found
in 3 articles. They are: the power set of a set, the successor of a set, and poles at infinity of
elements of the absolute. Changing the theorems to the properties caused that 10 inferences
in the Mizar Mathematical Library became obvious. Even though these numbers obtained
in tests are not too big, the Library Committee of the Mizar project will analyze the cases and
will decide about incorporating them into the library. In the case of approval, a refactoring
(Grabowski & Schwarzweller, 2007) of the MML will be processed.
Computations were carried out at the Computer Center of University of Białystok
http://uco.uwb.edu.pl.
CONCLUSIONS AND FUTURE WORK
Although the basic concept of properties had been introduced to quite early releases of
the Mizar system, we still see possibilities to design and develop new features of properties
in Mizar. In this paper we described two new features: (a) we presented the syntax and
semantics of a new property (fixedpoint-free) which enriches the Mizar language and
increases the computational power of the Mizar checker by a more automatic processing of
unary operations with no fixed points, and (b) we removed a restriction on the application
of already defined properties for fixed positions of visible arguments. Investigating a more
general approach to introducing properties resulted in an extension of the Mizar language
and a corresponding enhancement of the Mizar proof-checker. To analyze the potential
usefulness of the proposed general approach we implemented a dedicated software tool
and conducted appropriate tests with it on the current Mizar Mathematical Library.
As future work, we plan to open the system of properties for arbitrary (when possible)
arities of predicates and functors. We already see within the current content of the Mizar
Mathematical Library several applications of that approach, e.g., we would be able to
define commutativity for enumerated sets with cardinality greater than two, reflexivity and
symmetry of the relation of lying more than two points on a given line, and others. We
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 12/16
https://peerj.com
http://uco.uwb.edu.pl
http://dx.doi.org/10.7717/peerj-cs.320
also plan to investigate new sorts of properties, like associativity or being one-to-one of
functors.
ADDITIONAL INFORMATION AND DECLARATIONS
Funding
The authors received no funding for this work.
Competing Interests
The authors declare there are no competing interests.
Author Contributions
• Artur Korniłowicz conceived and designed the experiments, performed the experiments,
analyzed the data, performed the computation work, prepared figures and/or tables,
authored or reviewed drafts of the paper, and approved the final draft.
Data Availability
The following information was supplied regarding data availability:
Binary files of the programs and Mizar library required for testing are available at:
Artur Korniłowicz. (2020, November 7). Fixedpoint-free property processor. Zenodo.
http://doi.org/10.5281/zenodo.4255536.
REFERENCES
Abad P, Abad J. 1999. The hundred greatest theorems. Available at https://www.cs.ru.nl/
F.Wiedijk/mizar/mizman.pdf .
Alama J, Kohlhase M, Mamane L, Naumowicz A, Rudnicki P, Urban J. 2011. Licensing
the Mizar Mathematical Library. In: Davenport JH, Farmer WM, Urban J, Rabe F,
eds. Proceedings of the 18th Calculemus and 10th international conference on intelligent
computer mathematics. Volume 6824 of MKM’11, Lecture Notes in Computer Science.
Berlin: Springer-Verlag, 149–163 DOI 10.1007/978-3-642-22673-1_11.
Avigad J, Harrison J. 2014. Formally verified mathematics. Communications of the ACM
57(4):66–75 DOI 10.1145/2591012.
Bancerek G. 2003. On the structure of Mizar types. In: Geuvers H, Kamareddine F, eds.
Electronic Notes in Theoretical Computer Science. Vol. 85. Netherlands: Elsevier,
69–85.
Bancerek G, Byliński C, Grabowski A, Korniłowicz A, Matuszewski R, Naumow-
icz A, Pąk K. 2018. The role of the Mizar Mathematical Library for interac-
tive proof development in Mizar. Journal of Automated Reasoning 61(1):9–32
DOI 10.1007/s10817-017-9440-6.
Bancerek G, Byliński C, Grabowski A, Korniłowicz A, Matuszewski R, Naumowicz A,
Pąk K, Urban J. 2015. Mizar: state-of-the-art and Beyond. In: Kerber M, Carette
J, Kaliszyk C, Rabe F, Sorge V, eds. Intelligent computer mathematics –international
conference, CICM 2015, Washington, DC, USA, July (2015) 13–17, proceedings.
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 13/16
https://peerj.com
http://doi.org/10.5281/zenodo.4255536
https://www.cs.ru.nl/F.Wiedijk/mizar/mizman.pdf
https://www.cs.ru.nl/F.Wiedijk/mizar/mizman.pdf
http://dx.doi.org/10.1007/978-3-642-22673-1_11
http://dx.doi.org/10.1145/2591012
http://dx.doi.org/10.1007/s10817-017-9440-6
http://dx.doi.org/10.7717/peerj-cs.320
Volume 9150 of Lecture Notes in Computer Science. Berlin: Springer, 261–279
DOI 10.1007/978-3-319-20615-8_17.
Bancerek G, Rudnicki P. 2002. A compendium of continuous lattices in Mizar: for-
malizing recent mathematics. Journal of Automated Reasoning 29(3–4):189–224
DOI 10.1023/A:1021966832558.
Coq. 2020. Coq. Available at https://coq.inria.fr/ .
Davis M. 1981. Obvious logical inferences. In: Proceedings of the seventh international
joint conference on artificial intelligence. 530–531.
Gierz G, Hofmann K, Keimel K, Lawson J, Mislove M, Scott D. 1980. A compendium of
continuous lattices. Berlin: Springer-Verlag.
Grabowski A. 2013. Automated discovery of properties of rough sets. Fundamenta
Informaticae 128(1–2):65–79 DOI 10.3233/FI-2013-933.
Grabowski A. 2014. Efficient rough set theory merging. Fundamenta Informaticae
135(4):371–385 DOI 10.3233/FI-2014-1129.
Grabowski A, Jastrzębska M. 2010. A note on a formal approach to rough operators.
In: Szczuka MS, Kryszkiewicz M, Ramanna S, Jensen R, Hu Q, eds. Rough sets and
current trends in computing –7th international conference, RSCTC 2010, Warsaw,
Poland, June (2010) 28-30. Proceedings. Volume 6086 of Lecture Notes in Computer
Science. Berlin: Springer, 307–316 DOI 10.1007/978-3-642-13529-3_33.
Grabowski A, Korniłowicz A, Naumowicz A. 2010. Mizar in a nutshell. Jour-
nal of Formalized Reasoning, Special Issue: User Tutorials I 3(2):153–245
DOI 10.6092/issn.1972-5787/1980.
Grabowski A, Korniłowicz A, Naumowicz A. 2015. Four decades of Mizar. Journal of
Automated Reasoning 55(3):191–198 DOI 10.1007/s10817-015-9345-1.
Grabowski A, Schwarzweller C. 2007. Revisions as an essential tool to maintain math-
ematical repositories. In: Proceedings of the 14th symposium on towards mechanized
mathematical assistants: 6th international conference, Calculemus ‘07 / MKM ’07.
Berlin: Springer-Verlag, 235–249 DOI 10.1007/978-3-540-73086-6_20.
Grabowski A, Schwarzweller C. 2012. Towards automatically categorizing mathematical
knowledge. In: Ganzha M, Maciaszek LA, Paprzycki M, eds. Proceedings of the
federated conference on computer science and information systems –FedCSIS 2012,
Wroclaw, Poland, 9–12 2012. 63–68.
Hayden S, Fraenkel AA, Zermelo E, Kennison JF. 1968. Zermelo-Fraenkel set theory by
Seymour Hayden and John F. Kennison. C. E. Merrill Columbus, Ohio.
HOL Light. 2020. HOL Light. Available at https://www.cl.cam.ac.uk/~jrh13/hol-light/ .
Iancu M, Kohlhase M, Rabe F, Urban J. 2013. The Mizar Mathematical Library in OM-
Doc: translation and applications. Journal of Automated Reasoning 50(2):191–202
DOI 10.1007/s10817-012-9271-4.
Isabelle. 2020. Isabelle. Available at https://isabelle.in.tum.de/ .
Jaśkowski S. 1934. On the rules of suppositions in formal logic. Studia Logica. Nakładem
Seminarjum Filozoficznego Wydziału Matematyczno-Przyrodniczego Uniwersytetu
Warszawskiego. Available at https://www.logik.ch/daten/jaskowski.pdf .
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 14/16
https://peerj.com
http://dx.doi.org/10.1007/978-3-319-20615-8_17
http://dx.doi.org/10.1023/A:1021966832558
https://coq.inria.fr/
http://dx.doi.org/10.3233/FI-2013-933
http://dx.doi.org/10.3233/FI-2014-1129
http://dx.doi.org/10.1007/978-3-642-13529-3_33
http://dx.doi.org/10.6092/issn.1972-5787/1980
http://dx.doi.org/10.1007/s10817-015-9345-1
http://dx.doi.org/10.1007/978-3-540-73086-6_20
https://www.cl.cam.ac.uk/~jrh13/hol-light/
http://dx.doi.org/10.1007/s10817-012-9271-4
https://isabelle.in.tum.de/
https://www.logik.ch/daten/jaskowski.pdf
http://dx.doi.org/10.7717/peerj-cs.320
Korniłowicz A. 2013. On rewriting rules in Mizar. Journal of Automated Reasoning
50(2):203–210 DOI 10.1007/s10817-012-9261-6.
Kusak E, Radziszewski K. 1991. Semi_Affine space. Formalized Mathematics
2(3):349–356.
Lean. 2020. Lean. Available at https://leanprover.github.io/ .
Matuszewski R, Rudnicki P. 2005. Mizar: the first 30 years. Mechanized Mathematics and
Its Applications, Special Issue on 30 Years of Mizar 4(1):3–24.
Metamath. 2020. Metamath. Available at http://us.metamath.org/mpegif/mmset.html.
Mizar. 2020. Mizar. Available at http://mizar.uwb.edu.pl/ .
Naumowicz A. 2009. Enhanced processing of adjectives in Mizar. In: Grabowski A,
Naumowicz A, eds. Computer reconstruction of the body of mathematics, Volume
18(31) of Studies in Logic, Grammar and Rhetoric. Bialystok: University of Białystok,
89–101.
Naumowicz A. 2010. Interfacing external CA systems for Gröbner bases computation in
Mizar proof checking. International Journal of Computer Mathematics 87(1):1–11
DOI 10.1080/00207160701864459.
Naumowicz A. 2014. SAT-enhanced Mizar proof checking. In: Watt SM, Davenport
JH, Sexton AP, Sojka P, eds. Intelligent computer mathematics –international
conference, CICM 2014, Coimbra, Portugal, July (2014) 7–11. Proceedings, Vol-
ume 9150 of Lecture Notes in Computer Science. Berlin: Springer, 261–279
DOI 10.1007/978-3-319-08434-3_37.
Naumowicz A. 2015. Automating boolean set operations in Mizar proof checking with
the aid of an external SAT solver. Journal of Automated Reasoning 55(3):285–294
DOI 10.1007/s10817-015-9332-6.
Naumowicz A, Byliński C. 2004. Improving Mizar texts with properties and re-
quirements. In: Asperti A, Bancerek G, Trybulec A, eds. Mathematical knowledge
management, third international conference, MKM 2004 Proceedings. Volume
3119 of MKM’04, Lecture Notes in Computer Science. Berlin: Springer, 290–301
DOI 10.1007/978-3-540-27818-4_21.
Naumowicz A, Piliszek R. 2016. Accessing the Mizar library with a weakly strict Mizar
parser. In: Kohlhase M, Johansson M, Miller BR, De Moura L, Tompa FW, eds.
Intelligent computer mathematics –9th international conference, CICM 2016, Bialystok,
Poland, July (2016) 25–29, Proceedings. Volume 9791 of Lecture Notes in Computer
Science. Berlin: Springer, 77–82 DOI 10.1007/978-3-319-42547-4_6.
Oryszczyszyn H, Prazmowski K. 1990. Analytical metric affine spaces and planes.
Formalized Mathematics 1(5):891–899.
Pąk K. 2014. Improving legibility of natural deduction proofs is not trivial. Logical
Methods in Computer Science 10(3):1–30 DOI 10.2168/LMCS-10(3:23)2014.
Rudnicki P. 1987. Obvious inferences. Journal of Automated Reasoning 3(4):383–393
DOI 10.1007/BF00247436.
Rudnicki P, Trybulec A. 2001. Mathematical knowledge management in Mizar. In: Proc.
of MKM 2001.
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 15/16
https://peerj.com
http://dx.doi.org/10.1007/s10817-012-9261-6
https://leanprover.github.io/
http://us.metamath.org/mpegif/mmset.html
http://mizar.uwb.edu.pl/
http://dx.doi.org/10.1080/00207160701864459
http://dx.doi.org/10.1007/978-3-319-08434-3_37
http://dx.doi.org/10.1007/s10817-015-9332-6
http://dx.doi.org/10.1007/978-3-540-27818-4_21
http://dx.doi.org/10.1007/978-3-319-42547-4_6
http://dx.doi.org/10.2168/LMCS-10(3:23)2014
http://dx.doi.org/10.1007/BF00247436
http://dx.doi.org/10.7717/peerj-cs.320
Rudnicki P, Trybulec A. 2003. On the integrity of a repository of formal mathematics.
In: Asperti A, Buchberger B, Davenport JH, eds. Proceedings of MKM-2003. Volume
2594 of Lecture Notes in Computer Science. Berlin: Springer-Verlag, 162–174.
Tarski A. 1939. On well-ordered subsets of any set. Fundamenta Mathematicae
32:176–183 DOI 10.4064/fm-32-1-176-783.
Trybulec A, Korniłowicz A, Naumowicz A, Kuperberg K. 2013. Formal mathe-
matics for mathematicians. Journal of Automated Reasoning 50(2):119–121
DOI 10.1007/s10817-012-9268-z.
Urban J. 2005. XML-izing Mizar: making semantic processing and presentation of MML
easy. In: Kohlhase M, ed. Mathematical knowledge management, 4th international
conference, MKM 2005, Bremen, Germany, July (2005) 15–17, Revised Selected Papers.
Volume 3863 of Lecture Notes in Computer Science. Berlin: Springer, 346–360
DOI 10.1007/11618027_23.
Urban J. 2008. Automated reasoning for Mizar: artificial intelligence through knowl-
edge exchange. In: Rudnicki P, Sutcliffe G, Konev B, Schmidt RA, Schulz S, eds.
Proceedings of the LPAR 2008 workshops, knowledge exchange: automated provers and
proof assistants, and the 7th international workshop on the implementation of Logics,
Doha, Qatar, November 22, 2008. Volume 418 of CEUR workshop proceedings: CEUR-
WS.org, Available at http://ceur-ws.org/Vol-418/paper1.pdf .
Urban J, Hoder K, Voronkov A. 2010. Evaluation of automated theorem proving
on the Mizar Mathematical Library. In: Fukuda K, Van der Hoeven J, Joswig M,
Takayama N, eds. Mathematical software –ICMS 2010, third international congress
on mathematical software, Kobe, Japan, September (2010) 13–17. Proceedings.
Volume 6327 of Lecture Notes in Computer Science. Berlin: Springer, 155–166
DOI 10.1007/978-3-642-15582-6_30.
Urban J, Rudnicki P, Sutcliffe G. 2013. ATP and presentation service for Mizar formal-
izations. Journal of Automated Reasoning 50(2):229–241
DOI 10.1007/s10817-012-9269-y.
Urban J, Sutcliffe G. 2010. Automated reasoning and presentation support for
formalizing mathematics in Mizar. In: Autexier S, Calmet J, Delahaye D, Ion
PDF, Rideau L, Rioboo R, Sexton AP, eds. Intelligent computer mathematics, 10th
international conference, AISC 2010, 17th symposium, Calculemus 2010, and 9th
International Conference, MKM 2010, Paris, France, July (2010) 5–10. Proceedings.
Volume 6167 of Lecture Notes in Computer Science. Berlin: Springer, 132–146
DOI 10.1007/978-3-642-14128-7_12.
Wiedijk F (ed.) 2006. The seventeen provers of the world, foreword by Dana S.
Scott. Volume 3600 of Lecture Notes in Computer Science. Berlin: Springer
DOI 10.1007/11542384.
Korniłowicz (2020), PeerJ Comput. Sci., DOI 10.7717/peerj-cs.320 16/16
https://peerj.com
http://dx.doi.org/10.4064/fm-32-1-176-783
http://dx.doi.org/10.1007/s10817-012-9268-z
http://dx.doi.org/10.1007/11618027_23
http://ceur-ws.org/Vol-418/paper1.pdf
http://dx.doi.org/10.1007/978-3-642-15582-6_30
http://dx.doi.org/10.1007/s10817-012-9269-y
http://dx.doi.org/10.1007/978-3-642-14128-7_12
http://dx.doi.org/10.1007/11542384
http://dx.doi.org/10.7717/peerj-cs.320