=Paper= {{Paper |id=None |storemode=property |title=Formalization of Polynomially Bounded and Negligible Functions Using the Computer-Aided Proof-Checking System Mizar |pdfUrl=https://ceur-ws.org/Vol-1785/W38.pdf |volume=Vol-1785 |authors=Hiroyuki Okazaki,Yuichi Futa |dblpUrl=https://dblp.org/rec/conf/cikm/OkazakiF16 }} ==Formalization of Polynomially Bounded and Negligible Functions Using the Computer-Aided Proof-Checking System Mizar== https://ceur-ws.org/Vol-1785/W38.pdf
 Formalization of Polynomially Bounded and
Negligible Functions Using the Computer-Aided
         Proof-Checking System Mizar

                        Hiroyuki Okazaki and Yuich Futa

           Graduate School of Science and Technology,Shinshu University
              4–17–1 Wakasato Nagano–city, Nagano 380–8553, Japan
                Japan Advanced Institute of Science and Technology
                         okazaki@cs.shinshu-u.ac.jp



      Abstract. In recent years, formal verification applications have attracted
      significant attention. In particular, verification of the security of cryp-
      tosystems has been investigated extensively. In this study, we attempt
      to develop various mathematical libraries for cryptology using the Mizar
      proof checking system. Polynomially bounded and negligible functions
      play very important roles in cryptology. Therefore, we introduce for-
      malized definitions of polynomially bounded and negligible functions for
      formalizing cryptology in Mizar.

      Keywords: polynomially bounded functions, negligible functions


1   Introduction

In recent years, formal verification applications have attracted significant atten-
tion. Verification of the security of cryptosystems is has been investigated exten-
sively. The objective of this study is to develop mathematical libraries to verify
the security of cryptographic systems using the Mizar proof checking system [1].
Mizar is one of the best-known projects in formalized mathematical knowledge
management. To achieve our objective, we attempt to formalize various topics
related to cryptology, such as computational complexity, probability and proba-
bility distributions [2–7], algorithms [8], and number theory [9, 10]. The security
of most current public-key cryptosystems is based on computational complexity.
A public-key cryptosystem is secure if attacks against the cryptosystem are not
easier than solving a problem for which there is no known efficient algorithm.
Discrete-logarithm and factorization problems are considered to be hard to solve
and are therefore employed in public-key cryptosystems [11, 12]. The difficulty
of such problems is classified according to their computational time.
    Discrete-logarithm and factorization are subexponential-time problems that
are difficult to solve if the input size is sufficiently large. It is well known that
polynomial-time problems can be solved with a relatively low computational
cost. We consider a problem Pa to be as hard to solve as another problem Pb
if we can solve Pb by calling the algorithm that can solve Pa a polynomially
2        Hiroyuki Okazaki and Yuich Futa

bounded number of times. We are interested in the formalization of computa-
tional complexities. Polynomially bounded functions play an important role in
practical computational complexity theory. The class P is a fundamental com-
putational complexity class that contains all polynomial-time decision problems
[13]. It takes a polynomially bounded amount of computation time to solve
polynomial-time decision problems using a deterministic Turing machine. There-
fore, we formalize a rigorous definition of polynomially bounded functions.
    To analyze the security of cryptographic primitives such as symmetric encryp-
tion or hash functions as well as that of cryptographic protocols, we evaluate
the success probability of any attack against them. In general, a cryptosystem
is secure if the probability of any attack succeeding against the cryptosystem is
negligible. Therefore, we formalize a rigorous definition of the negligible func-
tions [14]. Both polynomially bounded and negligible functions are described by
the behavior of polynomials. Polynomially bounded functions do not increase
faster than polynomials themselves, and negligible functions do not decrease
slower than the multiplicative inverse of polynomials. There are interesting re-
lationships between polynomially bounded and negligible functions.
    In this paper, we first introduce our formalized definition of polynomially
bounded functions. Next, we formalize the definition of negligible functions and
prove that the set of negligible functions is a subset of the set of polynomially
bounded functions. Moreover, we introduce an equivalence relationship between
polynomially bounded functions using negligible functions. All formalized defini-
tions and theorems in this paper are described in the Mizar language, and their
proofs are verified by the Mizar proof checker. Our formal descriptions have been
stored in the current version of the Mizar Mathematical Library (MML)⋆ and
are available online on the Mizar Project official website [1].


1.1    Our contribution

Asymptotic notations allow us to describe the behavior of given real-valued
functions. In particular, O notation is often used to analyze the increase in real-
valued functions and to classify the computational complexity of solving the
given problems. Fortunately, there are formal definitions and theorems regard-
ing asymptotic notation in the MML. Therefore, we can use these definitions
to offer a formalized definition of polynomially bounded functions that do not
increase faster than polynomials. We then formalize some theorems regarding
polynomially bounded functions. Next, we formalize the definition of negligible
functions that do not decrease slower than the multiplicative inverses of poly-
nomials and formalize some theorems about them. It is well known that linear
combinations of polynomially bounded functions are also polynomially bounded
and that those of negligible functions are also negligible. These facts are very
useful for evaluating computational complexity and for proving the security of
cryptosystems. Thus, we formalize proofs for these theorems. Specifically, we
⋆
    Indexed by the MML identifiers ASYMPT 2[15] and ASYMPT 3[16], for Mizar ver-
    sion: 8.1.04 5.32.1246 or later.
           Formalization of Polynomially Bounded and Negligible Functions       3

formalize the algebraic structure of polynomially bounded functions. We then
introduce an equivalence between the elements of the algebra of polynomially
bounded functions using negligible functions.


2     Mizar
Mizar [1] is one of the best-known projects in formalized mathematical knowledge
management. The Mizar system comprises the Mizar language, an automated
proof verifier, and mathematical libraries. The Mizar language normally uses
first-order predicate logic; however, it can use second-order predicate logic with
conditions.


3     Preparation
3.1   Asymptotic notation
In this section, we briefly review the asymptotic O notation and introduce related
formal definitions available in the MML. For our purposes (i.e., computer science
and cryptology) it is sufficient to analyze the behavior of discrete functions. In
fact, asymptotic notation in the MML is formalized on sequences, which are
synonymous with functions whose domains comprise natural numbers.
Definition: 1 Let f (·) and g(·) be functions from N to R. g(·) ∈ O (f (·)) iff ∃N
is a natural number and c is a real number s.t.,∀n s.t. N ≤ n holds 0 ≤ g(n) ≤
c · f (n).
The O notation is defined in Mizar as follows:
Definition: 2 (ASYMPT_0:def 9)
definition
let f be
     eventually-nonnegative Real_Sequence;
func Big_Oh(f) -> FUNCTION_DOMAIN of NAT,REAL
 equals
{ t where t is Element of Funcs(NAT, REAL)
  : ex c,N st c > 0 &
  for n st n >= N holds t.n <= c*f.n &
  t.n >= 0};
end;
In Mizar, Real Sequence is an alias for a function from N to R and “eventually-
nonnegative” is an attribute for Real Sequence and is defined as follows:
Definition: 3 (ASYMPT_0:def 2)
definition
  let f be Real_Sequence;
  attr f is eventually-nonnegative means
4         Hiroyuki Okazaki and Yuich Futa

  ex N being Nat st for n being Nat
  st n >= N holds f.n >= 0;
end;

      The sequence of the monomial f (n) = na is defined in Mizar as follows:

Definition: 4 (ASYMPT_1:def 3)
definition
  let a be Real;
  func seq_n^(a) -> Real_Sequence means
  it.0 = 0 &
  for n st n > 0 holds
     it.n = n to_power a;
end;

    The sequence of the exponential ab·n+c , where a, b, and c are given constant
real numbers, is defined in Mizar as follows:

Definition: 5 (ASYMPT_1:def 1)
definition
  let a,b,c be Real;
  func seq_a^(a,b,c) -> Real_Sequence means
  it.n = a to_power (b*n+c);
end;

Note that for a given real number x, f (n) = xn is represented as “seq a^(x,1,0)”
in Mizar.


3.2     Polynomially bounded functions

In this section, we briefly review polynomially bounded functions.

Definition: 6 A real valued function, f (·), is polynomially bounded if there ex-
ists a natural number, k, such that
                                          ( )
                                 f (x) ∈ O xk


3.3     Negligible functions

In this section, we briefly review negligible functions[14].

Definition: 7 Let µ(·) be a function from N to R. µ(·) is a (negligible function)
iff for all polynomial p(·) holds ∃N be a natural number s.t.,∀n be a natural
number s.t. N ≤ n holds
                                          1
                                 µ(n) <
                                        |p(n)|
           Formalization of Polynomially Bounded and Negligible Functions        5

4     Formalization of polynomially bounded functions and
      polynomial functions

In this section, we introduce our formal definitions of polynomially bounded
functions and polynomial functions.


4.1   Formalized definition of polynomially bounded functions

We propose a formal definition of polynomially bounded functions as follows:

Definition: 8 (ASYMPT_2:def 1)
definition
  let p be Real_Sequence;
  attr p is polynomially-bounded means
  ex k be Nat st
     p in Big_Oh(seq_n^(k));
end;

This definition may appear very similar to Def. 6 but is only a formalization of an
attribute for real sequences. In the Mizar language, attributes are constructors
of adjectives. We can define an attribute followed by the keyword “attr”. Def. 6
gives only a definition of an attribute for real-valued functions. However, formal
methods never accept the declaration of new objects without an evidence of their
existence in order to eliminate any errors in proofs. In the Mizar system, there
are several ways to treat polynomially bounded functions. One is to prove that
declared real sequences satisfy the definition of being polynomially bounded.
Another way is to prove the existence of polynomially bonded functions and
to define a new mode for polynomially bounded sequences as a sub mode of
a “Real Sequence”. It should be noted that in the Mizar language, “mode” is
similar to “type” used in other languages. Furthermore, all modes are derived
from the mode “set” because the Mizar system is based on the set theory. The
third option is to define a set of specific functions and their algebraic structure
as new terms. We will show an example of the third case in Sec. 6.
    Let us now introduce some theorems about polynomially bounded functions.

Theorem: 1 (ASYMPT_2:25)
theorem
  for a be Nat st 1 < a holds
  seq_a^(a,1,0) is non polynomially-bounded;

This theorem shows that the exponential f (x) = ax is not polynomially bounded
if 1 < a. We first prove Theorem 2 as a lemma for proving Theorem 1. The
following theorem holds that 2x is nonpolynomially bounded:

Theorem: 2 (ASYMPT_2:16)
theorem
  for x be Nat st 1 < x holds
6       Hiroyuki Okazaki and Yuich Futa

    not ex N,c be Nat st
    for n be Nat st N <= n holds
    2 to_power n <= c * (n to_power x);

To prove Theorem 2, we assume that the proposition of Theorem 1 is not true and
derive a contradiction against Theorem 2. The actual formal proof of Theorem
1 encoded in the Mizar language is described in [15].


4.2   Formalization of polynomial functions

Although polynomials have been formalized in the MML [17], we propose a
formal definition of univariate polynomials as sequences for formalizing negli-
gible functions. Because this formalization defines polynomials as an algebraic
structure of multivariate polynomials, it is directly unsuitable for asymptotic
notation.

Definition: 9 (ASYMPT_2:def 2)
definition
  let c be XFinSequence of REAL;
  func seq_p(c) -> Real_Sequence
  means
  for x be Nat holds
  it.x = Sum(c (#) seq_a^(x,1,0));
end;

“XFinSequence” is a finite sequence whose indices start from 0. In this definition,
XFinSequence c is the given coefficient for the representation of a polynomial.
For example, (seq p(<*a,b,c*>)).x = a + bx + cx2 . Note that this definition
formalizes “func seq p(c) ”, where “func” is a keyword that shows that the term
is defined as a FUNCTOR. In the Mizar language, FUNCTOR plays the role of
a constructor of new terms. To define a FUNCTOR, the proof checker requires
proofs of at least the existence and uniqueness of the new term. In this case,
once we call “seq p(c)”, the checker automatically recognizes this term as a
Real Sequence. We can then refer to the defining theorem, “for x be Nat holds
it.x = Sum(c (#) seq a^(x,1,0))” to prove another theorem. We will discuss the
usage of FUNCTOR in Sec. 6.
    Let us now introduce theorems about polynomials.

Theorem: 3 (ASYMPT_2:45)
theorem
  for k be Nat, c be XFinSequence of REAL
  st len c = k+1 & 0 < c.k
  holds seq_p(c) in Big_Oh( seq_n^(k) );

This theorem holds that any kth-degree polynomial function whose most signif-
icant coefficient is positive is of O(nk ). Theorem 4 follows Theorem 3:
           Formalization of Polynomially Bounded and Negligible Functions       7

Theorem: 4 (ASYMPT_2:46)
theorem
  for k be Nat, c be XFinSequence of REAL
  st len c = k+1 & 0 < c.k holds
   seq_p(c) is polynomially-bounded;
This theorem holds that all univariate polynomials are polynomially bounded.


5    Formalization of negligible functions
In this section, we introduce our formal definition of a negligible function.
Definition: 10 (ASYMPT_3:def 4)
definition
 let f be Function of NAT,REAL;
  attr f is negligible means
  for c be non empty positive-yielding
      XFinSequence of REAL holds
  ex N be Nat st
  for x be Nat st N <=x holds
  |. f.x .| < 1/((seq_p(c)).x);
end;
   We then introduce some theorems about negligible functions. The following
theorem holds that 2−x is a negligible function:
Theorem: 5 (ASYMPT_3:25)
theorem
for f be Function of NAT,REAL
  st for x be Nat holds
    f.x = 1/ (2 to_power x) holds
  f is negligible;
    Theorem 6 holds that negligible functions converge to zero.
Theorem: 6 (ASYMPT_3:24)
theorem
  for f be Function of NAT,REAL
  st f is negligible
  holds f is convergent & lim f = 0;
     By providing a formal proof of correctness, we can automate inference rules
( i.e., namely clusters) in the MML as follows:
registration
  let f be negligible Function of NAT,REAL,
  a be Real;
  cluster a(#)f -> negligible
8       Hiroyuki Okazaki and Yuich Futa

                  for Function of NAT,REAL;
end;
registration
  let f,g be negligible Function of NAT,REAL;
  cluster f+g -> negligible
                   for Function of NAT,REAL;
end;
registration
  let f,g be negligible Function of NAT,REAL;
  cluster f(#)g -> negligible
                   for Function of NAT,REAL;
end;
registration
  let f be negligible Function of NAT,REAL,
  g be polynomially-abs-bounded
                      Function of NAT,REAL;
  cluster g(#)f -> negligible
                   for Function of NAT,REAL;
end
Once these clusters are registered, the checker automatically infers that addition
and scalar multiplication between negligible functions yield negligible results. For
example, the Mizar proof checker inferences the following theorem automatically:
Theorem: 7
for a be Real,
e,f be negligible Real_Sequence,
 g be polynomially-abs-bounded
    Real_Sequence holds
  (a (#) f)(#) g + e is negligible;
    In general, a cryptosystem is secure if the probability of a successful attack
against the cryptosystem is negligible. To prove this, we evaluate the total sum
of the probability of success of any possible attack. Adversaries are allowed to
attack in parallel or iteratively. In most cases, it is sufficient to evaluate the linear
combination of probabilities of successful attacks if the probability of all attacks
is negligible. We have formalized definitions and theorems concerning probability
and probability distributions that can treat concrete probabilistic events for
describing attacks against cryptosystems [2–7]. In combination with these formal
descriptions, the above-mentioned clusters would be useful for formal verification
of the security of cryptosystems.

6    Formalization of algebra of polynomially bounded
     functions
In Secs. 4 and 5, we introduced our formalizations of polynomially bounded
functions and negligible functions. In this section, we propose a formal definition
           Formalization of Polynomially Bounded and Negligible Functions       9

of the algebra of polynomially bounded functions and present some theorems
about negligible functions and this algebra.


6.1   Algebra of polynomially bounded functions

Set of polynomially bounded functions First, we define a relaxed attribute
of polynomially bounded functions namely “polynomially-abs-bounded”, as fol-
lows:

Definition: 11 (ASYMPT_3:def 1)
definition
  let p be Real_Sequence;
 attr p is polynomially-abs-bounded means
 ex k be Nat st |. p .| in Big_Oh(seq_n^(k));
end;

Here, |. p .|is the absolute value of the given function p. Although we define
the attribute polynomially-bounded in Sec. 8, we formalize this definition for
technical reasons, i.e., in order to introduce the multiplicative inverse of addi-
tion between polynomially bounded functions. Naturally, polynomially bounded
functions are polynomially-abs-bounded. We then register the following clusters:

registration
  cluster polynomially-bounded ->
  polynomially-abs-bounded for Real_Sequence;
end;

Next, we define the set of polynomially-abs-bounded functions as a new term,
namely, “Big Oh poly”, as follows:

Definition: 12 (ASYMPT_3:def 2)
definition
func Big_Oh_poly -> Subset of RAlgebra (NAT)
     means for x being object holds x in it
     iff x is polynomially-abs-bounded
          Function of NAT,REAL;
end;

We then register the following cluster:

registration
  cluster Big_Oh_poly -> non empty;
end;

In other words, we made the proof-checker recognize the existence of polynomially-
abs-bounded functions.
10     Hiroyuki Okazaki and Yuich Futa

Algebraic structure of polynomially bounded functions In this section,
we define the algebraic structure of polynomially bounded functions as follows:

Definition: 13 (ASYMPT_3:def 3)
definition
  func R_Algebra_of_Big_Oh_poly
              -> strict AlgebraStr means
  the carrier of it = Big_Oh_poly
  & the multF of it
      = (RealFuncMult(NAT)) || Big_Oh_poly
  & the addF of it
      = (RealFuncAdd(NAT)) || Big_Oh_poly
  & the Mult of it = (RealFuncExtMult(NAT))
                       | [:REAL,Big_Oh_poly:]
  & the OneF of it
      = RealFuncUnit(NAT)
  & the ZeroF of it
      = RealFuncZero(NAT);
end;

In this formalization, we define the carrier, multiplication, addition, scalar multi-
plication, multiplicative unit, and additive unit. The carrier of R Algebra of Big Oh poly
(i.e., Big Oh poly) is included in the set of all real-valued functions. Instead of
defining a new operation, we use predefined operations on real-valued functions
by restricting their domain according to the carrier of this structure. We define
the additive and multiplicative units of this structure as being the same as those
of the algebra of real-valued functions.
    We then prove the attributes that are held by the algebraic structure R Algebra of Big Oh poly,
and register them as the following cluster:

registration
  cluster R_Algebra_of_Big_Oh_poly
  -> strict Abelian add-associative
   right_zeroed right_complementable
   commutative associative right_unital
   right-distributive vector-associative
   scalar-associative vector-distributive
   scalar-distributive;
end;

As a result, we proved the following theorem:

Theorem: 8 (ASYMPT_3:18)
theorem
  R_Algebra_of_Big_Oh_poly is Algebra;
           Formalization of Polynomially Bounded and Negligible Functions      11

6.2   Set of negligible functions

In this section, we define the set of negligible functions as a new term, namely,
“negligibleFuncs”, as follows:

Definition: 14 (ASYMPT_3:def 5)
definition
 func negligibleFuncs ->
         Subset of Big_Oh_poly
     means
 for x being object holds x in it
 iff x is negligible Function of NAT,REAL;
end;

We then register the following cluster:

registration
  cluster negligibleFuncs -> non empty;
end;

Note that we define “negligibleFuncs” as a nonempty subset of R Algebra of Big Oh poly.
   In the rest of this section, we describe particularly useful theorems about
polynomially bounded functions and negligible functions.


Equivalence between polynomially bounded functions We define the
following predicate:

Definition: 15 (ASYMPT_3:def 6)
definition
  let f,g be Function of NAT,REAL;
  pred f negligibleEQ g means
  ex h be Function of NAT,REAL st
   h is negligible &
  for x be Nat holds
     |. f.x - g.x .| <= |.h.x.|;
  reflexivity;
  symmetry;
end;

Here “f negligibleEQ g” means that there exists a negligible function, h, which is
the upper bound of the difference between two functions, f and g. In other words,
we introduce an equivalence relationship between polynomially bounded func-
tions. This equivalence would be useful not only for cryptography and computer
science but also for approximating and analyzing functions.
    Moreover, we prove the following theorem about multiplication between poly-
nomially bounded and negligible functions:
12      Hiroyuki Okazaki and Yuich Futa

Theorem: 9 (ASYMPT_3:39)
theorem
  for v,w be
   VECTOR of R_Algebra_of_Big_Oh_poly
   st w in negligibleFuncs
   holds v * w in negligibleFuncs;
where VECTOR is a synonym for an element of the structure, and “v * w” is
the product of two VECTORs v and w: (v ∗ w).x = (v.x) ∗ (w.x). This theorem
shows that the product “v * w” of two functions is negligible if v is a polynomially
bounded function and w is a negligible function. Recall the above mentioned the-
orems and clusters concerning negligible functions. The set of negligible functions
is a nonempty subset of the set of polynomially bounded functions. Addition and
scalar multiplication between negligible functions also yield negligible functions.
These theorems mean that the set of negligible functions is an ideal of the set
of polynomially bounded functions.


7    Case study: Evaluating the computational cost of
     algorithms
In this section, we show an example of evaluating the computational cost of al-
gorithms. In [8], we did not formalize about computational cost of the Euclidean
algorithm, although we proved its correctness. Therefore we formalize Lamé’s
theorem to prove that the Euclidean algorithm is a polynomial-time algorithm.
The Euclidean algorithm is an efficient algorithm that computes the greatest
common divisor (GCD) of two given integers. Lamé’s theorem [18] is known as
the first application of Fibonacci numbers and it shows that the Euclidean al-
gorithm terminates after a maximum of 5X repetitions, where X represents the
decimal digits of the smaller one of the two given integers. The Euclidean algo-
rithm terminates after n steps such that Fib(n − 1) ≤ b, where b is the smaller
of the two given integers. By evaluating Fibonacci numbers, it was found that
n is not larger than 5X repetitions, where X represents the decimal digits of b.
Consequently, we conclude that n is not increasing faster than the polynomials.
In other words, we can evaluate that the computational cost of the Euclidean
algorithm is being polynomially bounded.
Theorem: 10
theorem
for a,b be Element of INT st
  |.a.| > |.b.| & b > 1 holds
  ex A,B be sequence of NAT,
    C be Real_Sequence,
     n be Element of NAT st
  A.0 = |.a.| & B.0 = |.b.| &
  (for i be Nat holds
  A.(i+1) = B.i &
           Formalization of Polynomially Bounded and Negligible Functions       13

  B.(i+1) = A.i mod B.i) &
  n = (min*{i where i is Nat: B.i = 0} ) &
a gcd b = A.n &
Fib(n+1) <= |. b .| &
n <= 5*[/ log(10,|. b .|) \] &
    n <= C.(|. b .|) & C is polynomially-bounded;
In future works, we will formalize complex algorithms that include iterations or
subroutine calls even though we were able to formalize the Euclidean algorithm
using simple sequences.


8   Overview of verifying security of cryptologic systems
In this section, we briefly describe our future plans for formalizing the security
of cryptologic systems. It is well known that the security of cryptosystems is
dependent on the complexity of computational problems. Polynomially bounded
functions play an essential role in evaluating and classifying the complexity of
computational problems. We are attempting to formalize computational com-
plexity using our libraries mentioned in Sec. 4.
    Probability distribution is a fundamental principal of cryptology. We can de-
fine other cryptologic topics using our formalization of probability distribution.
Currently, we are attempting to formalize the indistinguishability of probability
distributions. In modern cryptology, the security of cryptologic systems is es-
sentially defined by indistinguishability. For example, various cryptologic topics,
such as pseudo-random number generators and hash functions, are described us-
ing the concept of indistinguishability. We often design a cryptographic scheme
by employing ideal functions. However, we must replace such ideal functions
with feasible functions when we implement the schemes. Thus, an implemented
scheme is not always secure even if its ideal functionality has been proven to be
secure in design. Indistinguishability of functions means the indistinguishability
of the distributions of the outputs of the functions between an ideal function
(e.g., an ideal random function) and a feasible function (e.g., a hash function)
to prove the security of a cryptographic scheme. Two probability distributions
are statistically indistinguishable if the distance between them is negligible. We
intend to define a formalization of indistinguishability using our formalization
of negligible functions mentioned in Sec. 5 and probability distributions[2].


9   Conclusion
In this paper, we introduced a formalized definition of polynomially bounded and
negligible functions in the Mizar language. We then showed formalized theorems
related to these definitions. All formalized definitions and theorems in this paper
are described in the Mizar language, and the proofs of these theorems have been
verified using the Mizar proof checker. Our formal descriptions have been stored
in the current version of the MML and are available online on the Mizar Project
14      Hiroyuki Okazaki and Yuich Futa

official website. We prepared these formalized articles in order to achieve our
aim of constructing an automated formal verification tool for cryptology. We
will now attempt to formalize one of the most important concepts of cryptology
indistinguishability using the formalization of negligible functions introduced in
this paper.


ACKNOWLEDGEMENT
This study is partly supported by JSPS KAKENHI 15K00183. The authors
would like to express their gratitude to Prof. Yasunari Shidama for his support
and encouragement.


References
 1. Mizar System: Available at http://mizar.org/.
 2. H. Okazaki, Y. Futa, Y. Shidama, “Formal definition of probability on finite and
    discrete sample space for proving security of cryptographic systems using Mizar”,
    Artificial Intelligence Research, 2(4), pp.37-48, 2013. DOI : 10.5430/air.v2n4p37
 3. H. Okazaki, Y. Shidama, “Random Variables and Product of Probability Spaces”,
    Formalized Mathematics, 21(1), pp.33-39, 2013. DOI : 10.2478/forma-2013-0003
 4. H. Okazaki, “Posterior Probability on Finite Set”, Formalized Mathematics, 20(4),
    pp.257-263, 2013. DOI : 10.2478/v10037-012-0030-0
 5. H. Okazaki, Y. Shidama, “Probability Measure on Discrete Spaces and Algebra
    of Real Valued Random Variables”, Formalized Mathematics, 18(4), pp.213-217,
    2010. DOI : 10.2478/v10037-010-0026-6
 6. H. Okazaki, “Probability on Finite and Discrete Set and Uniform Distribution”
    , Formalized Mathematics, 17(2), pp.173-178, 2009. DOI : 10.2478/v10037-009-
    0020-z
 7. H. Okazaki, Y. Shidama, “Probability on Finite Set and Real-Valued Random Vari-
    ables”, Formalized Mathematics, 17(2), pp.129-136, 2009. DOI : 10.2478/v10037-
    009-0014-x
 8. H. Okazaki, Y. Aoki, Y. Shidama, “Extended Euclidean Algorithm and CRT Algo-
    rithm”, Formalized Mathematics 20(2), pp-175-179, 2012. DOI : 10.2478/v10037-
    012-0020-2
 9. Y. Futa, D. Mizushima, H. Okazaki, “ Formalization of Gaussian integers, Gaussian
    rational numbers, and their algebraic structures with Mizar”, ISITA 2012: pp.591-
    595, 2012.
10. Y. Futa, H. Okazaki, Y. Shidama, “Formalization of Definitions and Theorems
    Related to an Elliptic Curve Over a Finite Prime Field by Using Mizar”, J. Autom.
    Reasoning 50(2), pp.161-172 (2013). DOI : 10.1007/s10817-012-9265-2
11. Ronald L. Rivest, Adi Shamir, Len M. Adelman, “A Method for Obtaining Digital
    Signature and Public-key Cryptsystems”, MIT-LCS-TM-082, (1977).
12. Taher Elgamal, “A Public-Key Cryptosystem and a Signature Scheme Based on
    Discrete Logarithms”, IEEE Transactions on Information Theory, IT-31(4), pp.
    469?-472, (1985).
13. Jon Kleinberg, Eva Tardos, “Algorithm Design”, Addison-Wesley, 2005.
14. Goldreich, “Foundations of Cryptography : Volume: 1 Basic Tools”, Cambridge
    University Press, 2001.
            Formalization of Polynomially Bounded and Negligible Functions       15

15. H. Okazaki, Y. Futa, “Polynomially Bounded Sequences and Polynomial Se-
    quences”, Formalized Mathematics, 23(3), pp.205-213, 2015. DOI: 10.1515/forma-
    2015-0017
16. H. Okazaki, “Algebra of Polynomially Bounded Sequences and Negligible Func-
    tions”, Formalized Mathematics, 23(4), pp.371-378, 2015.
17. P. Rudnicki, A. Trybulec, “Multivariate Polynomials with Arbitrary Number of
    Variables”, Formalized Mathematics, 9(1), pp. 95–110, 2001.
18. G. Lamé’, “Note sur la limite du nombre des divisions dans la recherche du plus
    grand commun diviseur entre deux nombres entiers”, Comptes Rendus Acad. Sci,
    19, pp.867–870, 1844.