Solving Open Quasigroup Problems by Propositional Reasoning

Total Page:16

File Type:pdf, Size:1020Kb

Solving Open Quasigroup Problems by Propositional Reasoning Solving Op en Quasigroup Problems by Prop ositional Reasoning y Jieh Hsiang Hantao Zhang Department of Computer Science and Department of Computer Science Information Engeneering The University of Iowa National Taiwan University, Taipei, Taiwan Iowa City, IA 52242 [email protected] [email protected] Abstract. There are many op en problems quasigroups satisfying certain constraints is such in the study of quasigroups. Recently, au- an example. tomated techniques have b een employed to A quasigroup is simply a cancellative nite attack these op en problems. In this pap er, group oid, hS; i, where S is a set, a binary op- we show how a prop ositional satis ability prover is used to solve many op en problems eration on S . The cardinality of S , jS j, is called in quasigroups. Our success relies on a p ow- the order of the quasigroup. The \multiplication erful prop ositional prover called SATO and a table" for the op eration forms a Latin square, useful technique called the cyclic group con- of which each row and each column is a permu- struction. We provide detailed solutions to tation of S . Interest attaches to many classes of op en problems solved bySATO. quasigroups, partly b ecause they are very natural ob jects in their own right and partly b ecause of their relationships to design theory. 1 Intro duction In this pap er, we are interested in the prob- lems in quasigroups given by Fujita, Slaney and In the recent years, there has been considerable Bennett in their award-winning IJCAI pap er [3]. renewed interest in the prop ositional satis abil- The constraints in Table 1 are taken from [3]: ity problem (SAT). Because the SAT problem is Among the Latins squares satisfying these con- the rst known NP-complete problem, it is rel- straints, we are also interested in those squares atively easy to transform any NP-complete prob- with a hole, i.e., a subsquare (which itself is also lem in mathematics, computer science and electri- a Latin square) of the square is missing. cal engineering into the SAT problem. The SAT Quasigroups raise many combinatorial prob- problem is known to be dicult to solve in the- lems, some of which are often approached com- ory. However, contrary to the common p ercep- putationally. The usefulness of advanced auto- tion that transforming a problem into the SAT mated reasoning techniques to attack these prob- problem will not make the problem easier to solve, lems have been successfully demonstrated in [11 , many problems can in fact be solved more e ec- 3 , 7, 10, 6]. In 1990, Zhang rep orted a case of op en tively by aSAT problem solver than by a sp ecial problems in quasigroups solved using a constraint program. Needless to say, transforming a problem solving technique [11 ]. Subsequently, Fujita used into the SAT problem is much easier than writing MGTP, a mo del-generation based rst-order the- a sp ecial program. The existence problem of nite orem prover, and Slaney used FINDER, a pro- gram based on constraint solving, to solve several Partially supp orted by the National Science Founda- tion under Grants CCR-9202838 and CCR-9357851. op en problems in quasigroups [3 ]. Later, Stickel y Partially supp orted by the National Science Council and Zhang, indep endently, used their prop osi- under grant NSC-83-0408-E-002-012T. This pap er is organized as follows. In the next Table 1: Some constrains of quasigroups. section, we intro duce some problems in quasi- groups and show how to represent them in the Name Constraint prop ositional logic. In section 3, we present one QG1 x y = u; z w = u; v y = x; of our to ols to solve problems in quasigroups, i.e., v w = z ) x = z , y = w the cyclic group construction. In section 4, we QG2 x y = u; z w = u; y v = x; present solutions to some op en quasigroup prob- w v = z ) x = z , y = w lems. Section 5 concludes the pap er. QG3 (x y ) (y x)=x QG4 (x (y x)) y = x QG5 ((x y ) x) x = y 2 Quasigroup Problems (x y ) y = x (x y ) QG6 QG7 ((x y ) x) y = x Recall that a quasigroup is a pair hS; i where S is a nite set, a binary op eration on S and the \multiplication table" of forms a Latin tional provers, based on the Davis-Putnam algo- square. Without loss of generality, we assume rithm [2 ], to attack these problems and rep orted S = f0; 1; :::; v 1g,wherev is the order of hS; i. very comp etitive and new results [7 , 8, 10 ]. The The following clauses sp ecify a Latin square: For exp erimental results of this pap er are obtained by all elements x; y ; u; w 2 S , the program SATO (SAtis ability Testing Opti- mized) ([8 ], [10 ]) which is an ecient implemen- x u = y; x w = y ) u = w (1) tation of the Davis-Putnam algorithm. u x = y; w x = y ) u = w (2) Quasigroups raise very hard computational x y = u; x y = w ) u = w (3) problems. Many of these problems are simply (x y =0)__(x y = v 1) (4) intractable for to day's automated reasoning pro- grams. For instance, it remains op en if there exists It has b een shown in [7] that the following two a Latin square of order 10 satisfying QG2. While clauses are valid consequences of the ab ove clauses it is beyond the reach of the current reasoning and adding them into a prover can help to reduce techniques to do an exhaustive search, we may the searchspace. take advantage of techniques develop ed bymath- ematicians over decades for constructing quasi- (x 0=y ) __(x (v 1) = y ) (5) groups. One such technique we found very useful (0 x = y ) __((v 1) x = y ) (6) is a starter-adder-typ e construction. This tech- nique has b een used extensively byvarious math- In the following we denote by QGi(v ) a Latin ematicians (e.g., see [5 , 4, 1]). The main idea is square satisfying clauses (1){(6) plus the con- to generate a Latin square under a cyclic group straint QGi given in the intro duction for S = from the rst row and the rst column of the f0; :::; (v 1)g. In addition, the idemp otence law, square. This cyclic group technique o ers a signif- x x = x, and the constraint x (v 1) x 1, icant computation advantage: instead of searching which eliminates some isomorphic mo dels, are 2 for O (v )entries of a square of order v , only O (v ) used for each problem here. Further details on entries need to b e searched. If a prop ositional rea- these problems can b e found in [3 ] and [7 ]. 2 soning prover is used, only O (v ) prop ositional 3 To obtain prop ositional clauses, we simply in- variables instead of O (v ) variables are needed. stantiate variables in the clauses of QGi(v )bythe In general, to nd latin squares satisfying QG1{ 3 6 values of S and replace each equality a b = c QG7, only O (v ) clauses instead of O (v ) clauses by a prop ositional variable p . The number of are needed. Despite of the fact that this technique a;b;c the prop ositional clauses is thus decided by the is incomplete, we are able to nd many new Latin order of the quasigroup (i.e., v ) and the number squares using the SATO prover. Attach the condition that x and y cannot b e of distinct variables in a clause. However, for con- in X at the same time to clauses (1)-(3). straints QG3{QG7, we have to transform them into \ at" form rst. For example, the at form For the Davis-Putnam algorithm, it is relatively of QG5 is easier to work with incomplete groups of larger (x y = z ); (z x = w ) ) (w x = y ): holes. To search for a QGi(v; n), if we already have a QGi(m; n), wemay searchforaQGi(v; m)and It can be shown that the two \transp oses" of the then ll the QGi(m; n) into QGi(v; m) to obtain ab ove clause are also valid consequences of QG5: a QGi(v; n). This ll-in-hole technique is useful when lo oking for QGi(v; n). (w x = y ); (x y = z ) ) (z x = w ); There exist many op en problems regarding the (z x = w ); (w x = y ) ) (x y = z ): existence of QGi with holes given in Bennett and Exp erimental results show that when v > 10, Zhu's survey pap er [1 ]. We are able to nd new adding these \transp oses" in the input often im- mo dels for each typ e of QG1{QG7; these solved proves the p erformance of the Davis-Putnam al- quasigroups will b e given in section 4. gorithm. This is also true for QG3{QG7. For a class of Latin squares satisfying a given 3 Cyclic Group Construction constraint, we are often interested in those with holes. An incomplete Latin square is a Latin The prop ositional reasoning program we used to square with a single hole and is sp eci ed as attack quasigroup problems is called SATO (SAt- hS=X ; i, where X S and for any x ;x 2 X , 1 2 is abilityTesting Optimized) which is an ecient x x must be in X but is left undecided in the 1 2 implementation of the Davis-Putnam algorithm \multiplication table" of .
Recommended publications
  • Semiring Frameworks and Algorithms for Shortest-Distance Problems
    Journal of Automata, Languages and Combinatorics u (v) w, x–y c Otto-von-Guericke-Universit¨at Magdeburg Semiring Frameworks and Algorithms for Shortest-Distance Problems Mehryar Mohri AT&T Labs – Research 180 Park Avenue, Rm E135 Florham Park, NJ 07932 e-mail: [email protected] ABSTRACT We define general algebraic frameworks for shortest-distance problems based on the structure of semirings. We give a generic algorithm for finding single-source shortest distances in a weighted directed graph when the weights satisfy the conditions of our general semiring framework. The same algorithm can be used to solve efficiently clas- sical shortest paths problems or to find the k-shortest distances in a directed graph. It can be used to solve single-source shortest-distance problems in weighted directed acyclic graphs over any semiring. We examine several semirings and describe some specific instances of our generic algorithms to illustrate their use and compare them with existing methods and algorithms. The proof of the soundness of all algorithms is given in detail, including their pseudocode and a full analysis of their running time complexity. Keywords: semirings, finite automata, shortest-paths algorithms, rational power series Classical shortest-paths problems in a weighted directed graph arise in various contexts. The problems divide into two related categories: single-source shortest- paths problems and all-pairs shortest-paths problems. The single-source shortest-path problem in a directed graph consists of determining the shortest path from a fixed source vertex s to all other vertices. The all-pairs shortest-distance problem is that of finding the shortest paths between all pairs of vertices of a graph.
    [Show full text]
  • A Guide to Self-Distributive Quasigroups, Or Latin Quandles
    A GUIDE TO SELF-DISTRIBUTIVE QUASIGROUPS, OR LATIN QUANDLES DAVID STANOVSKY´ Abstract. We present an overview of the theory of self-distributive quasigroups, both in the two- sided and one-sided cases, and relate the older results to the modern theory of quandles, to which self-distributive quasigroups are a special case. Most attention is paid to the representation results (loop isotopy, linear representation, homogeneous representation), as the main tool to investigate self-distributive quasigroups. 1. Introduction 1.1. The origins of self-distributivity. Self-distributivity is such a natural concept: given a binary operation on a set A, fix one parameter, say the left one, and consider the mappings ∗ La(x) = a x, called left translations. If all such mappings are endomorphisms of the algebraic structure (A,∗ ), the operation is called left self-distributive (the prefix self- is usually omitted). Equationally,∗ the property says a (x y) = (a x) (a y) ∗ ∗ ∗ ∗ ∗ for every a, x, y A, and we see that distributes over itself. Self-distributivity∈ was pinpointed already∗ in the late 19th century works of logicians Peirce and Schr¨oder [69, 76], and ever since, it keeps appearing in a natural way throughout mathematics, perhaps most notably in low dimensional topology (knot and braid invariants) [12, 15, 63], in the theory of symmetric spaces [57] and in set theory (Laver’s groupoids of elementary embeddings) [15]. Recently, Moskovich expressed an interesting statement on his blog [60] that while associativity caters to the classical world of space and time, distributivity is, perhaps, the setting for the emerging world of information.
    [Show full text]
  • Higher Braid Groups and Regular Semigroups from Polyadic-Binary Correspondence
    mathematics Article Higher Braid Groups and Regular Semigroups from Polyadic-Binary Correspondence Steven Duplij Center for Information Technology (WWU IT), Universität Münster, Röntgenstrasse 7-13, D-48149 Münster, Germany; [email protected] Abstract: In this note, we first consider a ternary matrix group related to the von Neumann regular semigroups and to the Artin braid group (in an algebraic way). The product of a special kind of ternary matrices (idempotent and of finite order) reproduces the regular semigroups and braid groups with their binary multiplication of components. We then generalize the construction to the higher arity case, which allows us to obtain some higher degree versions (in our sense) of the regular semigroups and braid groups. The latter are connected with the generalized polyadic braid equation and R-matrix introduced by the author, which differ from any version of the well-known tetrahedron equation and higher-dimensional analogs of the Yang-Baxter equation, n-simplex equations. The higher degree (in our sense) Coxeter group and symmetry groups are then defined, and it is shown that these are connected only in the non-higher case. Keywords: regular semigroup; braid group; generator; relation; presentation; Coxeter group; symmetric group; polyadic matrix group; querelement; idempotence; finite order element MSC: 16T25; 17A42; 20B30; 20F36; 20M17; 20N15 Citation: Duplij, S. Higher Braid Groups and Regular Semigroups from Polyadic-Binary 1. Introduction Correspondence. Mathematics 2021, 9, We begin by observing that the defining relations of the von Neumann regular semi- 972. https://doi.org/10.3390/ groups (e.g., References [1–3]) and the Artin braid group [4,5] correspond to such properties math9090972 of ternary matrices (over the same set) as idempotence and the orders of elements (period).
    [Show full text]
  • Propositional Fuzzy Logics: Tableaux and Strong Completeness Agnieszka Kulacka
    Imperial College London Department of Computing Propositional Fuzzy Logics: Tableaux and Strong Completeness Agnieszka Kulacka A thesis submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Computing Research. London 2017 Acknowledgements I would like to thank my supervisor, Professor Ian Hodkinson, for his patient guidance and always responding to my questions promptly and helpfully. I am deeply grateful for his thorough explanations of difficult topics, in-depth discus- sions and for enlightening suggestions on the work at hand. Studying under the supervision of Professor Hodkinson also proved that research in logic is enjoyable. Two other people influenced the quality of this work, and these are my exam- iners, whose constructive comments shaped the thesis to much higher standards both in terms of the content as well as the presentation of it. This project would not have been completed without encouragement and sup- port of my husband, to whom I am deeply indebted for that. Abstract In his famous book Mathematical Fuzzy Logic, Petr H´ajekdefined a new fuzzy logic, which he called BL. It is weaker than the three fundamental fuzzy logics Product,Lukasiewicz and G¨odel,which are in turn weaker than classical logic, but axiomatic systems for each of them can be obtained by adding axioms to BL. Thus, H´ajek placed all these logics in a unifying axiomatic framework. In this dissertation, two problems concerning BL and other fuzzy logics have been considered and solved. One was to construct tableaux for BL and for BL with additional connectives. Tableaux are automatic systems to verify whether a given formula must have given truth values, or to build a model in which it does not have these specific truth values.
    [Show full text]
  • Laws of Thought and Laws of Logic After Kant”1
    “Laws of Thought and Laws of Logic after Kant”1 Published in Logic from Kant to Russell, ed. S. Lapointe (Routledge) This is the author’s version. Published version: https://www.routledge.com/Logic-from-Kant-to- Russell-Laying-the-Foundations-for-Analytic-Philosophy/Lapointe/p/book/9781351182249 Lydia Patton Virginia Tech [email protected] Abstract George Boole emerged from the British tradition of the “New Analytic”, known for the view that the laws of logic are laws of thought. Logicians in the New Analytic tradition were influenced by the work of Immanuel Kant, and by the German logicians Wilhelm Traugott Krug and Wilhelm Esser, among others. In his 1854 work An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities, Boole argues that the laws of thought acquire normative force when constrained to mathematical reasoning. Boole’s motivation is, first, to address issues in the foundations of mathematics, including the relationship between arithmetic and algebra, and the study and application of differential equations (Durand-Richard, van Evra, Panteki). Second, Boole intended to derive the laws of logic from the laws of the operation of the human mind, and to show that these laws were valid of algebra and of logic both, when applied to a restricted domain. Boole’s thorough and flexible work in these areas influenced the development of model theory (see Hodges, forthcoming), and has much in common with contemporary inferentialist approaches to logic (found in, e.g., Peregrin and Resnik). 1 I would like to thank Sandra Lapointe for providing the intellectual framework and leadership for this project, for organizing excellent workshops that were the site for substantive collaboration with others working on this project, and for comments on a draft.
    [Show full text]
  • 12 Propositional Logic
    CHAPTER 12 ✦ ✦ ✦ ✦ Propositional Logic In this chapter, we introduce propositional logic, an algebra whose original purpose, dating back to Aristotle, was to model reasoning. In more recent times, this algebra, like many algebras, has proved useful as a design tool. For example, Chapter 13 shows how propositional logic can be used in computer circuit design. A third use of logic is as a data model for programming languages and systems, such as the language Prolog. Many systems for reasoning by computer, including theorem provers, program verifiers, and applications in the field of artificial intelligence, have been implemented in logic-based programming languages. These languages generally use “predicate logic,” a more powerful form of logic that extends the capabilities of propositional logic. We shall meet predicate logic in Chapter 14. ✦ ✦ ✦ ✦ 12.1 What This Chapter Is About Section 12.2 gives an intuitive explanation of what propositional logic is, and why it is useful. The next section, 12,3, introduces an algebra for logical expressions with Boolean-valued operands and with logical operators such as AND, OR, and NOT that Boolean algebra operate on Boolean (true/false) values. This algebra is often called Boolean algebra after George Boole, the logician who first framed logic as an algebra. We then learn the following ideas. ✦ Truth tables are a useful way to represent the meaning of an expression in logic (Section 12.4). ✦ We can convert a truth table to a logical expression for the same logical function (Section 12.5). ✦ The Karnaugh map is a useful tabular technique for simplifying logical expres- sions (Section 12.6).
    [Show full text]
  • M-Idempotent and Self-Dual Morphological Filters ا
    IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 34, NO. 4, APRIL 2012 805 Short Papers___________________________________________________________________________________________________ M-Idempotent and Self-Dual and morphological filters (opening and closing, alternating filters, Morphological Filters alternating sequential filters (ASF)). The quest for self-dual and/or idempotent operators has been the focus of many investigators. We refer to some important work Nidhal Bouaynaya, Member, IEEE, in the area in chronological order. A morphological operator that is Mohammed Charif-Chefchaouni, and idempotent and self-dual has been proposed in [28] by using the Dan Schonfeld, Fellow, IEEE notion of the middle element. The middle element, however, can only be obtained through repeated (possibly infinite) iterations. Meyer and Serra [19] established conditions for the idempotence of Abstract—In this paper, we present a comprehensive analysis of self-dual and the class of the contrast mappings. Heijmans [8] proposed a m-idempotent operators. We refer to an operator as m-idempotent if it converges general method for the construction of morphological operators after m iterations. We focus on an important special case of the general theory of that are self-dual, but not necessarily idempotent. Heijmans and lattice morphology: spatially variant morphology, which captures the geometrical Ronse [10] derived conditions for the idempotence of the self-dual interpretation of spatially variant structuring elements. We demonstrate that every annular operator, in which case it will be called an annular filter. increasing self-dual morphological operator can be viewed as a morphological An alternative framework for morphological image processing that center. Necessary and sufficient conditions for the idempotence of morphological operators are characterized in terms of their kernel representation.
    [Show full text]
  • Monoid Modules and Structured Document Algebra (Extendend Abstract)
    Monoid Modules and Structured Document Algebra (Extendend Abstract) Andreas Zelend Institut fur¨ Informatik, Universitat¨ Augsburg, Germany [email protected] 1 Introduction Feature Oriented Software Development (e.g. [3]) has been established in computer science as a general programming paradigm that provides formalisms, meth- ods, languages, and tools for building maintainable, customisable, and exten- sible software product lines (SPLs) [8]. An SPL is a collection of programs that share a common part, e.g., functionality or code fragments. To encode an SPL, one can use variation points (VPs) in the source code. A VP is a location in a pro- gram whose content, called a fragment, can vary among different members of the SPL. In [2] a Structured Document Algebra (SDA) is used to algebraically de- scribe modules that include VPs and their composition. In [4] we showed that we can reason about SDA in a more general way using a so called relational pre- domain monoid module (RMM). In this paper we present the following extensions and results: an investigation of the structure of transformations, e.g., a condi- tion when transformations commute, insights into the pre-order of modules, and new properties of predomain monoid modules. 2 Structured Document Algebra VPs and Fragments. Let V denote a set of VPs at which fragments may be in- serted and F(V) be the set of fragments which may, among other things, contain VPs from V. Elements of F(V) are denoted by f1, f2,... There are two special elements, a default fragment 0 and an error . An error signals an attempt to assign two or more non-default fragments to the same VP within one module.
    [Show full text]
  • A New Lower Bound for Semigroup Orthogonal Range Searching Peyman Afshani Aarhus University, Denmark [email protected]
    A New Lower Bound for Semigroup Orthogonal Range Searching Peyman Afshani Aarhus University, Denmark [email protected] Abstract We report the first improvement in the space-time trade-off of lower bounds for the orthogonal range searching problem in the semigroup model, since Chazelle’s result from 1990. This is one of the very fundamental problems in range searching with a long history. Previously, Andrew Yao’s influential result had shown that the problem is already non-trivial in one dimension [14]: using m units of n space, the query time Q(n) must be Ω(α(m, n) + m−n+1 ) where α(·, ·) is the inverse Ackermann’s function, a very slowly growing function. In d dimensions, Bernard Chazelle [9] proved that the d−1 query time must be Q(n) = Ω((logβ n) ) where β = 2m/n. Chazelle’s lower bound is known to be tight for when space consumption is “high” i.e., m = Ω(n logd+ε n). We have two main results. The first is a lower bound that shows Chazelle’s lower bound was not tight for “low space”: we prove that we must have mQ(n) = Ω(n(log n log log n)d−1). Our lower bound does not close the gap to the existing data structures, however, our second result is that our analysis is tight. Thus, we believe the gap is in fact natural since lower bounds are proven for idempotent semigroups while the data structures are built for general semigroups and thus they cannot assume (and use) the properties of an idempotent semigroup.
    [Show full text]
  • Lecture 4 1 Overview 2 Propositional Logic
    COMPSCI 230: Discrete Mathematics for Computer Science January 23, 2019 Lecture 4 Lecturer: Debmalya Panigrahi Scribe: Kevin Sun 1 Overview In this lecture, we give an introduction to propositional logic, which is the mathematical formaliza- tion of logical relationships. We also discuss the disjunctive and conjunctive normal forms, how to convert formulas to each form, and conclude with a fundamental problem in computer science known as the satisfiability problem. 2 Propositional Logic Until now, we have seen examples of different proofs by primarily drawing from simple statements in number theory. Now we will establish the fundamentals of writing formal proofs by reasoning about logical statements. Throughout this section, we will maintain a running analogy of propositional logic with the system of arithmetic with which we are already familiar. In general, capital letters (e.g., A, B, C) represent propositional variables, while lowercase letters (e.g., x, y, z) represent arithmetic variables. But what is a propositional variable? A propositional variable is the basic unit of propositional logic. Recall that in arithmetic, the variable x is a placeholder for any real number, such as 7, 0.5, or −3. In propositional logic, the variable A is a placeholder for any truth value. While x has (infinitely) many possible values, there are only two possible values of A: True (denoted T) and False (denoted F). Since propositional variables can only take one of two possible values, they are also known as Boolean variables, named after their inventor George Boole. By letting x denote any real number, we can make claims like “x2 − 1 = (x + 1)(x − 1)” regardless of the numerical value of x.
    [Show full text]
  • Introducing Boolean Semilattices Clifford Bergman Iowa State University, [email protected]
    Mathematics Publications Mathematics 3-21-2018 Introducing Boolean Semilattices Clifford Bergman Iowa State University, [email protected] Follow this and additional works at: https://lib.dr.iastate.edu/math_pubs Part of the Algebra Commons, and the Logic and Foundations Commons The ompc lete bibliographic information for this item can be found at https://lib.dr.iastate.edu/ math_pubs/195. For information on how to cite this item, please visit http://lib.dr.iastate.edu/ howtocite.html. This Book Chapter is brought to you for free and open access by the Mathematics at Iowa State University Digital Repository. It has been accepted for inclusion in Mathematics Publications by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Introducing Boolean Semilattices Abstract We present and discuss a variety of Boolean algebras with operators that is closely related to the variety generated by all complex algebras of semilattices. We consider the problem of finding a generating set for the variety, representation questions, and axiomatizability. Several interesting subvarieties are presented. We contrast our results with those obtained for a number of other varieties generated by complex algebras of groupoids. Keywords Boolean algebra, BAO, semilattice, Boolean semilattice, Boolean groupoid, canonical extension, equationally definable principal congruence Disciplines Algebra | Logic and Foundations | Mathematics Comments This is a manuscript of a chapter from Bergman C. (2018) Introducing Boolean Semilattices. In: Czelakowski J. (eds) Don Pigozzi on Abstract Algebraic Logic, Universal Algebra, and Computer Science. Outstanding Contributions to Logic, vol 16. Springer, Cham. doi: 10.1007/978-3-319-74772-9_4.
    [Show full text]
  • What Is Idempotence?
    What Is Idempotence? Think about the “Pay now” button the last time you bought something online. Now, let’s say you’re ready to purchase your shopping cart items, so you press “Pay now”. What happens if you press it multiple times? Will your credit card be charged for each time you hit the button? This is where idempotence comes in: if the function in the “Pay now” button is idempotent, the user can tap the “Pay Now” button many times—yet their card is charged only once and they only make one purchase on their cart’s contents. If, alternatively, the function of the “Pay Now” button weren’t idempotent and the user anxiously pressed the key several times, the user would end up with multiple charges on and receive several of the same items in their mailbox. So, idempotence is an important design for many functions in technology. Let’s take a look. Idempotence: a technical definition Idempotence is any function that can be executed several times without changing the final result beyond its first iteration. Idempotence is a technical word, used in mathematics and computer science, that classifies a function’s behavior. There are certain identity functions, such as a = a, that can be called idempotent. As a function, it can be expressed as: f(f(x)) = f(x) That means that an operation can be performed on x to return y. Then, if that same function were performed on y, the result would still equal y. When to use idempotence Idempotence is a safe practice forDevOps teams when developing applications.
    [Show full text]