• Nenhum resultado encontrado

Extração automática de cálculos de Hilbert associados aos fragmentos da lógica clássica

N/A
N/A
Protected

Academic year: 2021

Share "Extração automática de cálculos de Hilbert associados aos fragmentos da lógica clássica"

Copied!
76
0
0

Texto

(1)

Bacharelado em Ciência da Computação

Automatic extraction of Hilbert Calculi

associated to fragments of classical logic

Joel Felipe Ferreira Gomes

Natal-RN December 2019

(2)

Automatic extraction of Hilbert Calculi associated to

fragments of classical logic

Undergraduate thesis submitted to the De-partamento de Informática e Matemática Aplicada of the Centro de Ciências Exatas e da Terra of the Universidade Federal do Rio Grande do Norte as a partial requirement for obtaining the bachelor’s degree in Computer Science.

Advisor

Prof. João Marcos

Universidade Federal do Rio Grande do Norte – UFRN Departamento de Informática e Matemática Aplicada – DIMAp

Natal-RN December 2019

(3)

Gomes, Joel Felipe Ferreira.

Automatic extraction of Hilbert calculi associated to fragments of classical logic / Joel Felipe Ferreira Gomes. -2019.

74f.: il.

Monografia (Bacharelado em Ciência da Computação)

-Universidade Federal do Rio Grande do Norte, Centro de Ciências Exatas e da Terra, Departamento de Informática e Matemática Aplicada. Natal, 2019.

Orientador: João Marcos.

1. Computação Monografia. 2. Reticulado de Post

-Monografia. 3. Fragmentos da lógica clássica - -Monografia. 4. Axiomatização - Monografia. 5. Cálculo de Hilbert - Monografia. I. Marcos, João. II. Título.

RN/UF/CCET CDU 004

(4)

fragments of classical logic presented by Joel Felipe Ferreira Gomes and accepted by the Departamento de Informática e Matemática Aplicada of the Centro de Ciências Exatas e da Terra of the Universidade Federal do Rio Grande do Norte, being approved by all members of the examining board specified below:

PhD João Marcos

Advisor

Departamento de Informática e Matemática Aplicada Universidade Federal do Rio Grande do Norte

PhD Umberto Rivieccio

Departamento de Informática e Matemática Aplicada Universidade Federal do Rio Grande do Norte

PhD Carlos Olarte Escola de Ciências e Tecnologia Universidade Federal do Rio Grande do Norte

(5)
(6)

Acknowledgements

It would be impossible to conceive this work without the support provided by the professors who have spent my academic life inside this university, both from IMD and DIMAp. Thus, special thanks to João Marcos, Umberto Rivieccio, Gibeon Aquino, Ath-anasios “Thanos” Tsouanas, André Britto and Antônio “Tonhão” Igor.

Thanks to my family for all the love and support, and for with standing all the difficulties encountered – Edilene Pereira Ferreira Gomes, Hareton Ribeiro Gomes, Daniel Henrique Ferreira Gomes and Rafael de Jesus Ferreira Gomes. In addition, thanks to Enid Nazareth Pereira Ferreira for the long distance support, and a special thanks to Raissa Pereira for being present in all keys moments, helping me to keep my sanity.

Thanks to Paulo Lopes, Hugo Oliveira, Cinthia Katiane, Thales Gomes, Fagner Dias, Allan Gonçalves and Gustavo Bezerra for all the discussions, conversations, memes and for friendship throughout my journey on the Computer Science course.

Last but not least, thanks to Vitor Greati for help me make this work, and for all the conversations, discussions, sleepless nights, and shared future plans, still fuzzy but hopefully promising.

(7)
(8)

aos fragmentos da lógica clássica

Autor: Joel Felipe Ferreira Gomes Orientador(a): Prof. João Marcos

Resumo

A lógica clássica pode ser definida como a lógica induzida pelo clone completo sobre {0, 1}. A menos de um isomorfismo, qualquer outra lógica 2-valorada pode então ser vista como uma sublógica / fragmento da lógica clássica. Ainda há muito pouco con-hecimento sobre a combinação mínima de tais fragmentos (cf. (MARCELINO; CALEIRO; MARCOS, 2018)), que em princípio pode ser obtida simplesmente unindo-se os cálculos de Hilbert correspondentes. Em 1941, Emil Post estudou o reticulado de todos os clones 2-valorados, ordenados sobre inclusão (cf. (POST, 1941)). Este reticulado - infinitamente contável, mas constituído de membros gerados finitamente - constituiu desde então uma fonte inestimável de informações e insights sobre as relações entre as sub-lógicas da lógica clássica. Em (RAUTENBERG, 1981), Wolfgang Rautenberg explorou a classificação de Post para demonstrar que toda lógica 2-valorada é fortemente axiomatizável; vale a pena notar que esta demonstração induz um procedimento eficaz para produzir um cálculo de Hilbert para qualquer fragmento da lógica clássica. Este trabalho propõe implementar um sistema Web que é capaz de receber como entrada um conjunto de operações 2-valoradas e retornar ao usuário o cálculo de Hilbert associado. A implementação do procedimento para produzir o cálculo de Hilbert associado à entrada informada será feita utilizando a linguagem de programação Haskell e distribuído como uma API RESTful. Além disso, será feito um Website, a ser usado livremente pela comunidade, que receberá as entradas do usuário, consumirá a API, e informará o resultado do procedimento citado, baseado nas entradas que o usuário forneceu.

Palavras-chave: Reticulado de Post, Fragmentos da lógica clássica, Axiomatização, Cál-culo de Hilbert

(9)

Author: Joel Felipe Ferreira Gomes Advisor: Prof. João Marcos

Abstract

The classical logic can be defined as the logic induced by the complete clone over {0, 1}. Up to isomorphism, any other 2-valued logic may then be seen as a sublogic / fragment of classical logic. There is still very little common knowledge about the minimal combination of such fragments (cf. (MARCELINO; CALEIRO; MARCOS, 2018)), which in principle may be obtained by simply merging the corresponding Hilbert calculi. In 1941, Emil Post studied the lattice of all the 2-valued clones, ordered under inclusion (cf. (POST, 1941)). This lat-tice —countably infinite yet constituted of finitely generated members— has constituted ever since an invaluable source of information and insights about the relationships among the sublogics of classical logic. In (RAUTENBERG, 1981), Wolfgang Rautenberg explored Post’s classification in proving that every 2-valued logic is strongly finitely axiomatizable; it is worth noting that this proof carries along an effective procedure for producing a Hilbert calculus to any fragment of classical logic. This work proposes to implement a Web system that is able to receive as input a set of 2-valued operations and return to the user the Hilbert Calculus associated. The implementation of the procedure to produce the Hilbert Calculus associated with the reported input will be done using the Haskell programming language and distributed as a RESTful API. In addition, a Website will be made, to be used freely by the community, which will receive the user inputs, consume the API, and inform the result of the cited procedure, based on the inputs that the user provided.

(10)

Lista de figuras

1 Post’s Lattice . . . p. 18 2 PLLP Algorithm . . . p. 22 3 Rautenberg Algorithm . . . p. 24 4 Fragment Axiomatization Website . . . p. 59 5 Clone Comparison Website . . . p. 59 6 Rules Independence Website . . . p. 60 7 Soundness Check Website . . . p. 61

(11)

1 Truth Table of ¬ . . . p. 25 2 Truth Table of 1 . . . p. 25 3 Truth Table of 0 . . . p. 26 4 Truth Table of ∨ . . . p. 28 5 Truth Table of ∧ . . . p. 30 6 Truth Table of ↔3 . . . . p. 34 7 Truth Table of d . . . p. 37 8 Truth Table of ka . . . p. 40 9 Truth Table of ki . . . p. 41 10 Truth Table of ak . . . p. 42 11 Truth Table of ad . . . p. 43

(12)

List of abbreviations and initials

PLLP – Post’s Lattice Localization Problem – page 21 TEP – Term Equivalence Problem – page 21

CMP – Clone Membership Problem – page 22 REST – REpresentational State Transfer – page 57 URI – Uniform Resource Identifier – page 57

(13)
(14)

Contents

1 Introduction p. 15 2 Theoretical Framework p. 17 2.1 Clones . . . p. 17 2.2 Post’s Lattice . . . p. 18 2.3 Classical Logic . . . p. 19 2.4 Hilbert Calculus . . . p. 19

3 Algorithm for extraction of a Hilbert calculus p. 21

3.1 Post’s Lattice Localization Problem . . . p. 21 3.2 Rautenberg Algorithm . . . p. 23 3.2.1 Trivial cases . . . p. 24 3.2.1.1 R1 = Clo{0,1}(∅) . . . p. 25 3.2.1.2 R4 = Clo{0,1}({¬}) . . . p. 25 3.2.1.3 R6 = Clo{0,1}({1}) . . . p. 25 3.2.1.4 R8 = Clo{0,1}({0}) . . . p. 26 3.2.1.5 R11= Clo{0,1}({0, 1}) . . . p. 26 3.2.1.6 R13= Clo{0,1}({¬, 0}) . . . p. 26 3.2.2 Main cases . . . p. 27 3.2.2.1 S2 = Clo{0,1}({∨}) . . . p. 27 3.2.2.2 S4 = Clo{0,1}({∨, 1}) . . . p. 28 3.2.2.3 S5 = Clo{0,1}({∨, 0}) . . . p. 28

(15)

{∧}) . . . . 3.2.2.6 P4 = Clo{0,1}({∧, 0}) . . . p. 30 3.2.2.7 P5 = Clo{0,1}({∧, 1}) . . . p. 30 3.2.2.8 P6 = Clo{0,1}({∧, 0, 1}) . . . p. 30 3.2.2.9 A4 = Clo{0,1}({∨, ∧}) . . . p. 31 3.2.2.10 A3 = Clo{0,1}({∨, ∧, 0}) . . . p. 32 3.2.2.11 A2 = Clo{0,1}({∨, ∧, 1}) . . . p. 32 3.2.2.12 A1 = Clo{0,1}({∨, ∧, 0, 1}) . . . p. 32 3.2.2.13 L4 = Clo{0,1}({↔3}) . . . p. 34 3.2.2.14 L2 = Clo{0,1}({↔3, 1}) . . . p. 34 3.2.2.15 L3 = Clo{0,1}({↔3, 0}) . . . p. 35 3.2.2.16 L1 = Clo{0,1}({↔3, 0, 1}) . . . p. 35 3.2.2.17 L5 = Clo{0,1}({↔3,¬}) . . . p. 35 3.2.2.18 D2 = Clo{0,1}({d}) . . . p. 37 3.2.2.19 D3 = Clo{0,1}({d, ¬}) . . . p. 37 3.2.2.20 D1 = Clo{0,1}({d, ↔3}) . . . p. 38 3.2.2.21 F∞ 6 = Clo{0,1}({ka}) . . . p. 39 3.2.2.22 F∞ 7 = Clo{0,1}({ka, 0}) . . . p. 40 3.2.2.23 F∞ 5 = Clo{0,1}({ki}) . . . p. 41 3.2.2.24 F∞ 8 = Clo{0,1}({ki, 0}) . . . p. 41 3.2.2.25 F∞ 2 = Clo{0,1}({ak}) . . . p. 42 3.2.2.26 F∞ 3 = Clo{0,1}({ak, 1}) . . . p. 43 3.2.2.27 F∞ 1 = Clo{0,1}({ad}) . . . p. 43 3.2.2.28 F∞ 4 = Clo{0,1}({ad, 1}) . . . p. 45 3.2.2.29 C4 = Clo{0,1}({ki, ∨}) . . . p. 46

(16)

3.2.2.31 C2 = Clo{0,1}({ki, ∨, 1}) . . . p. 46 3.2.2.32 C1 = Clo{0,1}({ki, ∨, 0, 1}) . . . p. 47 3.2.3 Recursive cases . . . p. 48 3.2.3.1 Monotonic expansions of S2 . . . p. 48 3.2.3.2 Expansions of F∞ 1 or F4∞ . . . p. 49 3.2.3.3 Expansions of F∞ 5 or F8∞ . . . p. 50 3.2.3.4 Expansions of F∞ 6 or F7∞ . . . p. 51

4 A computational implementation of extraction of a Hilbert calculus p. 53 4.1 Computational Representation . . . p. 53 4.2 API RESTful . . . p. 57 4.3 Website . . . p. 59

5 Concluding Remarks p. 62

References p. 63

Appendix A -- TEP Algorithm in Haskell p. 64

Appendix B -- Truth tables in Haskell p. 65

Appendix C -- Interpretations in Haskell p. 67

Appendix D -- Matrices in Haskell p. 68

(17)

1

Introduction

The present undergraduate thesis is part of a proposed implementation of the extrac-tion of the Hilbert calculi associated with clones that semantically represent the various fragments of classical logic.

The general axiomatization procedure was proposed in a remarkable article by Wolfgang Rautenberg (RAUTENBERG, 1981), which is long and complex and contains several small errors to be located and corrected by careful reading.

An important feature of Rautenberg’s proofs is that there is an underlying procedure for obtaining the Hilbert calculus for any fragment of Classical Logic, by knowing the set of basic operations of the associated clone. The implementation of this procedure is of special interest to the scholars interested in these fragments and, more importantly, in their combinations, since Hilbert calculus are favorable environments for fibring logic.

The implementation of this procedure was never done. Now that we know that Hilbert Calculi provide the most appropriate and simple environment for defining combinations of logics to support the study of complex systems derived by that combinations, the implementation of such an axiomatization procedure proves to be very important.

To understand the purpose of this work and its implications, some definitions are fundamental, like the concepts of clones, the logic induced by a clone, Post’s lattice, and Hilbert calculi, which will be formally presented in the Chapter 2.

In order for the algorithm to be implemented, we first have to, given a set F of operations on {0, 1}, find the clone in Post’s lattice to which this set belongs. This problem is referred to as Post’s Lattice Localization Problem (PLLP), the proposed solution is presented in Section 3.1.

After finding out which clone in the Post’s Lattice the user-supplied set of operations refers to, we use the Rautenberg algorithm (RAUTENBERG, 1981) to return the corres-ponding Hilbert calculus. The algorithm is presented in Section 3.2.

(18)

In addition, it was necessary to implement the concepts and the algorithm presented computationally. The implementation was done using the Haskell programming language, and it will be explained in the Section 4.1.

The algorithm of the procedure to produce the Hilbert Calculus associated with the informed set of 2-valued operations was distributed as a API RESTful, which can be ac-cessed on http://logicapi.lolita.dimap.ufrn.br/, and described in details in Section 4.2.

In addition, a Website was made, to be used freely by the community, which will receive the user inputs, consume the API, and inform the result of the cited procedure, based on the inputs that the user provided, which can be accessed on http://logicapps. lolita.dimap.ufrn.br/, and described in details in Section 4.3.

(19)

2

Theoretical Framework

The purpose of this work is to exhibit an algorithm for the extraction the Hilbert calculi associated to fragments of classical logic. Some topics treated here require a theor-etical background and are thus explored in this section: Clones, Post’s Lattice, Classical logic and its fragments, Hilbert calculus.

2.1 Clones

Let A be a non-empty set. An operation on A is a function f : Ak → A, for some

k ∈ ω. It is said that k is the arity of f, or equivalently, that f is a k-ary function. A k-ary function f is monotonic when for any x, y ∈ Ak, if x ≥ y then f(x) ≥ f(y).

A clone C on a set A is a set closed by projections and composition. Formally, C is a set of operations on A such that:

1. C contains all the projections πn

i, for all n ∈ ω and 1 ≤ i ≤ n ;

2. If f is a k-ary operation in C and g1, . . . , gk are m-ary operations in C, then, for all

x∈ Am, (f ◦(g

1, . . . , gk))(x) = f (g1(x), . . . , gk(x))is in C (generalized composition).

Given a set F of operations on A, we call CloA(F) the clone generated by F. If

F is a set of operations on a set A and n ∈ ω, then CloA

n(F) is the set of all operations

of arity n on CloA(F). A set F of operations on A is functionally complete if the

CloA(F) contains all n-ary functions, for n ≥ 1. As an example, we have the set of boolean

operations {∧, ¬} (Table 5 and Table 1, respectively). Given F� ⊇ F, if CloA(F)

CloA(F) then CloA(F) is called an expansion of CloA(F). A monotonic expansion

(20)

2.2 Post’s Lattice

The set of all clones on a set A, ordered by the inclusion relation, defines a lattice. When |A| > 2, the cardinality of this set is equal to that of the continuum. However, for |A| = 2, Emil Post (POST, 1941) showed that the number of clones on {0, 1} is denumerable and, even more, that each such clone is generated by a finite set of operations on A. In this case, the corresponding lattice is called Post’s Lattice (Figure 1).

(21)

2.3 Classical Logic

It is possible to establish a relationship between clones over {0, 1} and fragments of classical logic using the bivaluations induced by these clones and the consequence relations induced by those bivaluations. This requires the concept of languages. So consider a set of function symbols Σ = {f1, . . . , fn}, and let P = {x1, x2, . . .} be a set of variables.

We call LΣ(P ) the language generated by P on Σ, where LΣ(P ) is the carrier of

the absolutely free Σ-algebra generated over a given set of setential variables P . The elements of LΣ(P ) are called formulas. A substitution is a mapping σ : P → LΣ(P ),

unique extendable into an endomorphism ·σ : L

Σ(P ) → LΣ(P ). Given Γ ⊆ LΣ(P ), we

denote by Γσ the set {γσ : γ ∈ Γ}. If F = {f

i | 1 ≤ i ≤ n} is a set of operations

on {0, 1}, such that fi is an interpretation for fi, where an interpretation consists of

assigning truth values to the variables and defining how truth values are combined by the connectives, this is usually given through truth tables, then a valuation under F is a total function v : LΣ(P ) → {0, 1} such that, for each fi ∈ Σ, if fi has arity k:

v(fi(φ1, . . . , φk)) = fi(v(φ1), . . . , v(φk)), that is, valuations are homomorphisms from the

language to the two-element boolean algebra.

A matrix M over a signature Σ is a structure �V, D, #M� where V is a set (of

truth-values), D ⊆ V is the set of designated values and, for each connective #, #M gives

its interpretation. The set F induces a consequence relation �F such that, for {A} ∪

Γ ⊆ LΣ(P ): Γ �F A if, and only if v(Γ) ⊆ {1} implies v(A) = 1, for all valuations v

under F. The Classical Logic, defined from the universal-algebraic perspective, up to an isomorphism, is �Σ, �F� induced by a functionally complete set F. As examples we

have: �∧,∨,¬; �∧,¬ ; �↓, where ↓ is the joint denial. A fragment of Classical Logic is

any logic �Σ, �F�� such that Clo{0,1}(F�)⊆ Clo{0,1}(F), where F is functionally complete. As examples we have: �∧,¬; �∨ ; ��,⊥.

2.4 Hilbert Calculus

From the results obtained by Emil Post (POST, 1941), mentioned above, we have that all fragments of Classical Logic are organized into a lattice ordered by inclusion, which gives a basis to several studies on the characteristics and interrelationships of these fragments. One such study was carried out by Wolfgang Rautenberg (RAUTENBERG, 1981), who showed that every fragment of Classical Logic is strongly finitely axiomatizable. In order to understand this result, some definitions concerning Hilbert calculi are needed.

(22)

A Hilbert calculus H on a signature Σ is a pair H = �Σ, R�, where R ⊆ 2LΣ × L

Σ

is a set of so-called inference rules. For a rule �Γ, ϕ� ∈ R, Γ is called the rule’s set of premises, whereas ϕ is called the rule’s conclusion. A schematic rule is an infinite set of rules, such that, for a rule �Γ, ϕ�, the schematic rule has all the rules �Γσ, ϕσ� for every

substitution σ : P → LΣ(P ).

A subset Y of a set of inference rules is said to be independent if some well-formed formula in Y cannot be proved by the inference rules of the set of these non-Y inference rules (MENDELSON, 2015). To say that a set of inference rules R is soundness with respect to truth-tables it will suffice to show that, for every �Γ, ϕ� ∈ R, if every row of the truth-table that makes all γ ∈ Γ true, also makes ϕ true.

The logic induced by a Hilbert calculus H = �Σ, R�, LH=�Σ, �H� is such that, for

each Γ ⊆ LΣ(P ), Γ�H is the least set that contains Γ and is closed under all apliciations

of instaces of the instance rules in R, that is, if �Δ, ϕ� ∈ R and σ : P → LΣ(P ) is such

that Δσ ⊆ Γ�H then ϕσ ∈ Γ�H . Strongly axiomatizing a logic L = �Σ, �

L� means

finding a Hilbert calculus H such that �L =�H.

The result by Rautenberg means that, for each fragment L of Classical Logic, there is a Hilbert calculus H such that �L =�H and the set of schematic rules of H is finite. An

example is the clone-induced logic generated by the singleton {∨}, which is axiomatized by the following schematic rules: �{P }, P ∨ Q�, �{P ∨ P }, P �, �{P ∨ Q}, Q ∨ P �, �{P ∨ (Q∨ R)}, (P ∨ Q) ∨ R�, where P, Q, R ∈ L. In order to make rules easier to view, they will be shown as follows:

P P ∨ Q P P∨ P P ∨ Q Q∨ P P ∨ (Q ∨ R) (P ∨ Q) ∨ R

(23)

3

Algorithm for extraction of a

Hilbert calculus

The first step of the extraction of Hilbert calculus from a set of boolean functions is, given the set F of functions on {0, 1}, find to which clone in Post’s Lattice the Clo{0,1}(F)

corresponds. This problem is the Post’s Lattice Localization Problem (PLLP). After find-ing it, we use the Rautenberg algorithm to return the correspondfind-ing Hilbert calculus.

3.1 Post’s Lattice Localization Problem

The Post’s Lattice Localization Problem (PLLP) may be thus described: given a finite set F of operations on the set {0, 1}, to find, in the Post’s lattice P = �B∗,⊆�, the B ∈ B

such that Clo{0,1}(F) = B. The proposed solution is based on the fact that the lattice has

finite and infinite sections, thus consisting of the following steps:

1. Check if Clo{0,1}(F) = B for some B ∈ Bof the finite sections, that is, for some

green clone B on Figure 2, in any order. If so, return such B.

2. Otherwise, check, in the infinite sections, from top to bottom, if B ⊆ Clo{0,1}(F)

for some B ∈ B∗, that is, the red clones on Figure 2. If so, return B.

Note that the main condition involved in both steps listed above refers to whether one clone is contained in another, given the knowledge of its basic sets of operations. A stronger condition, clone equality, gives rise to the problem known in the literature as the Term Equivalence Problem (TEP) (BERGMAN; JUEDES, 2001). By the definition of clone generated by a set of operations, we have that, for finite sets of operations F1 and

F2 on {0, 1}, if F1 ⊆ Clo{0,1}(F2), then Clo{0,1}(F1) ⊆ Clo{0,1}(F2). Thereby, the TEP

translates into the following question: given the finite sets F1 e F2 of operations on {0, 1},

(24)

Figure 2: PLLP Algorithm

To answer that, the conditions involved may be further simplified by reducing TEP to the Clone Membership Problem (CMP): given a finite set F of operations on {0, 1} and a operation g : {0, 1}k → {0, 1}, k ∈ ω+, verify if g ∈ Clo{0,1}(F). The solution to CMP

uses two theoretical results. The first says that Clo{0,1}

n (F) is the smallest set of operations

on {0, 1} such that contains the n-ary projections and is closed by compositions on the set F, which characterizes a finite specification since F is finite. The second result is an application of the Kleene fixed-point theorem, and ensures that Clo{0,1}

n (F), because it

is characterized by a finite specification, can be generated in finite time, starting with the set of n-ary projections and applying the compositions with the functions on F. The algorithm presented in Algorithm 1 is based directly on this idea to solve the CMP.

(25)

Algorithm 1 CMP Algorithm

Require: A set F of operations on {0, 1}, and a k-ary operation g : {0, 1}k→ {0, 1}.

Ensure: Answer if g ∈ Clo{0,1}(F)

C0 ⇐ {πk i|1 ≤ i ≤ k} i⇐ 0 repeat if g ∈ Ci then return true end if i⇐ i + 1 Ci ⇐ Ci−1 for f ∈ F do for g ∈ {�g1, . . . , garity(f )�|gj ∈ Ci−1} do Ci ⇐ Ci∪ {f ◦ g} end for end for until Ci ⊆ Ci−1 return false

As shown, the resolution of the CMP implies the resolution of the PLLP according to the presented method and, therefore, it was implemented in Appendix A.

3.2 Rautenberg Algorithm

The algorithm is presented recursively, in which the base cases are the green (trivial cases) and yellow (main cases) painted cases in Figure 3, and the recursive part consists in the blue cases. Vitor Greati, in (GREATI, 2019), prove that, for each Hilbert calculus H presented in the Section 3.2.1 and 3.2.2, �L = �H, for the corresponding clone L.

Rautenberg (RAUTENBERG, 1981) prove that, for each Hilbert calculus H presented in the Section 3.2.3, �L=�H, for the corresponding clone L.

(26)

Figure 3: Rautenberg Algorithm

3.2.1 Trivial cases

Listed below are the Hilbert calculi associated with the cases considered trivial by Rautenberg, because the corresponding clones are characterized by low arity connectives and little interaction, so the Hilbert calculi that axiomatize these clones have few rules. These cases are those related to the clones Ri of Post’s Lattice.

(27)

3.2.1.1 R1 = Clo{0,1}(∅)

Since this clone is generated by ∅, then it has only projections, so, given that com-position of projections are projections, and all the projections are in the clone, so it has no axiomatic rules.

3.2.1.2 R4 = Clo{0,1}({¬})

This clone is generated by only one unary connective ¬, commonly known as logical negation. This connective is characterized by the following truth table:

A ¬A

0 1

1 0

Table 1: Truth Table of ¬

The following are the inference rules that axiomatize this clone. They are presented in (MARCELINO; CALEIRO; MARCOS, 2018).

P ¬(¬P ) (R41) ¬(¬P ) P (R42) P ¬P Q (R43) 3.2.1.3 R6 = Clo{0,1}({1})

This clone is generated by only one nullary connective 1, commonly known as logical truth. This connective is characterized by the following truth table:

1 1

Table 2: Truth Table of 1

The following is the inference rule that axiomatize this clone. It is presented in (RAUTENBERG, 1981).

(28)

3.2.1.4 R8 = Clo{0,1}({0})

This clone is generated by only one nullary connective 0, commonly known as logical falsity. This connective is characterized by the following truth table:

0 0

Table 3: Truth Table of 0

The following is the inference rule that axiomatize this clone. It is presented in (RAUTENBERG, 1981).

0

P (R81) 3.2.1.5 R11 = Clo{0,1}({0, 1})

This clone is generated by two nullary connective: 0 and 1. These connectives are characterized by the truth tables in Table 3 and Table 2, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.1.3 and 3.2.1.4.

0

P (R81) 1 (R61)

3.2.1.6 R13 = Clo{0,1}({¬, 0})

This clone is generated by the connectives: ¬ and 0. These connectives are character-ized by the truth tables in Table 1 and Table 3, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.1.2 plus an interaction rule between the connectives.

P ¬(¬P ) (R41) ¬(¬P ) P (R42) P ¬P Q (R43) ¬0 (R131)

(29)

3.2.2 Main cases

Listed below are the Hilbert calculi associated with the cases considered the main ones by Rautenberg, because the clones that expand the clones of these cases, use, according to Rautenberg, the Hilbert calculi of these clones to generate their own Hilbert calculi. These cases are those related to the clones Si, Pi, Aj, Cj, Lk, Dland Fn∞ of Post’s Lattice.

3.2.2.1 S2 = Clo{0,1}({∨})

This clone is generated by only one binary connective ∨, commonly known as logical disjunction. This connective is characterized by the following truth table:

(30)

A B A ∨ B

0 0 0

0 1 0

1 0 0

1 1 1

Table 4: Truth Table of ∨

The following are the inferences rule that axiomatize this clone. They are presented in (RAUTENBERG, 1981). P P ∨ Q (S21) P ∨ P P (S22) P ∨ Q Q∨ P (S23) P ∨ (Q ∨ R) (P ∨ Q) ∨ R (S24) 3.2.2.2 S4 = Clo{0,1}({∨, 1})

This clone is generated by the connectives ∨ and 1. These connectives are character-ized by the truth tables in Table 4 and Table 2, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.1 and 3.2.1.3.

P P ∨ Q (S21) P P∨ P (S22) P ∨ Q Q∨ P (S23) P ∨ (Q ∨ R) (P ∨ Q) ∨ R (S24) 1 (R61) 3.2.2.3 S5 = Clo{0,1}({∨, 0})

This clone is generated by the connectives ∨ and 0. These connectives are character-ized by the truth tables in Table 4 and Table 3, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.1 plus an interaction rule between the connectives, presented in (RAUTENBERG, 1981). P P ∨ Q (S21) P P∨ P (S22) P ∨ Q Q∨ P (S23) P ∨ (Q ∨ R) (P ∨ Q) ∨ R (S24) PP∨ 0 (S51) 3.2.2.4 S6 = Clo{0,1}({∨, 0, 1})

This clone is generated by the connectives ∨, 0 and 1. These connectives are charac-terized by the truth tables in Table 4, Table 3 and Table 2 respectively.

(31)

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.3 and 3.2.1.3.

P P ∨ Q (S21) P ∨ PP (S22) P ∨ Q Q∨ P (S23) P ∨ (Q ∨ R) (P ∨ Q) ∨ R (S24) P ∨ 0P (S51) 1 (R61) So far, we have the axiomatizations of the following clones:

3.2.2.5 P2 = Clo{0,1}({∧})

This clone is generated by only one binary connective ∧, commonly known as logical conjunction. This connective is characterized by the following truth table:

(32)

A B A ∧ B

0 0 0

0 1 1

1 0 1

1 1 1

Table 5: Truth Table of ∧

The following are the inferences rule that axiomatize this clone. They are presented in (RAUTENBERG, 1981). P Q P ∧ Q (P21) P ∧ Q P (P22) P ∧ Q Q (P23) 3.2.2.6 P4 = Clo{0,1}({∧, 0})

This clone is generated by the connectives ∧ and 0. These connectives are character-ized by the truth tables in Table 5 and Table 3, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.5 and 3.2.1.4.

P Q P ∧ Q (P21) P ∧ Q P (P22) P ∧ Q Q (P23) 0 P (R81) 3.2.2.7 P5 = Clo{0,1}({∧, 1})

This clone is generated by the connectives ∧ and 1. These connectives are character-ized by the truth tables in Table 5 and Table 2, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.5 and 3.2.1.3.

P Q P ∧ Q (P21) P ∧ Q P (P22) P ∧ Q Q (P23) 1 (R61) 3.2.2.8 P6 = Clo{0,1}({∧, 0, 1})

This clone is generated by the connectives ∧, 0 and 1. These connectives are charac-terized by the truth tables in Table 5, Table 3 and Table 2, respectively.

(33)

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.6 and 3.2.1.3.

P Q P ∧ Q (P21) P ∧ Q P (P22) P ∧ Q Q (P23) 0 P (R81) 1 (R61) So far, we have the axiomatizations of the following clones:

3.2.2.9 A4 = Clo{0,1}({∨, ∧})

This clone is generated by the connectives ∨ and ∧. These connectives are character-ized by the truth tables in Table 4 and Table 5, respectively.

(34)

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.1 and some interaction rules between the connectives, presented in (RAUTENBERG, 1981). P P ∨ Q (S21) P P∨ P (S22) Q∨ P P ∨ Q (S23) (P ∨ Q) ∨ R P ∨ (Q ∨ R) (S24) S∨ A S ∨ B S∨ (A ∧ B) (A40) S∨ (A ∧ B) S∨ A (A41) S∨ (A ∧ B) S∨ B (A41) 3.2.2.10 A3 = Clo{0,1}({∨, ∧, 0})

This clone is generated by the connectives ∨, ∧ and 0. These connectives are charac-terized by the truth tables in Table 4, Table 5 and Table 3, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.9 and an interaction rule between the connectives, presented in (RAUTENBERG, 1981). P P ∨ Q (S21) P ∨ P P (S22) Q∨ P P ∨ Q (S23) (P ∨ Q) ∨ R P ∨ (Q ∨ R) (S24) S∨ A S ∨ B S∨ (A ∧ B) (A41) S∨ (A ∧ B) S∨ A (A42) S∨ (A ∧ B) S∨ B (A43) PP∨ 0 (A31) 3.2.2.11 A2 = Clo{0,1}({∨, ∧, 1})

This clone is generated by the connectives ∨, ∧ and 1. These connectives are charac-terized by the truth tables in Table 4, Table 5 and Table 2, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.9 and Section 3.2.1.3.

P P ∨ Q (S21) P ∨ P P (S22) Q∨ P P ∨ Q (S23) (P ∨ Q) ∨ R P ∨ (Q ∨ R) (S24) S∨ A S ∨ B S∨ (A ∧ B) (A41) S∨ (A ∧ B) S∨ A (A42) S∨ (A ∧ B) S∨ B (A43) 1 (R61) 3.2.2.12 A1 = Clo{0,1}({∨, ∧, 0, 1})

This clone is generated by the connectives ∨, ∧, 0 and 1. These connectives are char-acterized by the truth tables in Table 4, Table 5, Table 3 and Table 2, respectively.

(35)

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.10 and Section 3.2.1.3.

P P ∨ Q (S21) P ∨ P P (S22) Q∨ P P ∨ Q (S23) (P ∨ Q) ∨ R P ∨ (Q ∨ R) (S24) S∨ A S ∨ B S∨ (A ∧ B) (A41) S∨ (A ∧ B) S∨ A (A42) S∨ (A ∧ B) S∨ B (A43) PP∨ 0 (A31) 1 (R61) So far, we have the axiomatizations of the following clones:

(36)

3.2.2.13 L4 = Clo{0,1}({↔3})

This clone is generated by only one ternary connective ↔3, which is defined as ↔3

(x, y, z) = x ↔ (y ↔ z), in which ↔ is commonly known as logical biconditional. This connective is characterized by the following truth table:

A B C ↔3 (A, B, C) 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1

Table 6: Truth Table of ↔3

The following are the inferences rule that axiomatize this clone. They are presented in (RAUTENBERG, 1981). P Q R ↔3 (P, Q, R) (L41) ↔3 (P, Q, R) ↔3 (Q, P, R) (L42) ↔3 (P, Q, R) ↔3 (P, R, Q) (L43) P ↔3 (P, Q, Q) (L44) ↔3 (P, Q, Q) P (L45) ↔3 (P, Q,3 (R, S, T )) ↔3 (3 (P, Q, R), S, T ) (L46) 3.2.2.14 L2 = Clo{0,1}({↔3, 1})

This clone is generated by the connectives ↔3 and 1. These connectives are

charac-terized by the truth tables in Table 6 and Table 2, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.13 and 3.2.1.3.

P Q R ↔3 (P, Q, R) (L41) ↔3 (P, Q, R) ↔3 (Q, P, R) (L42) ↔3 (P, Q, R) ↔3 (P, R, Q) (L43) 1 (R61) P ↔3 (P, Q, Q) (L44) ↔ 3 (P, Q, Q) P (L45) ↔3 (P, Q,3 (R, S, T )) ↔3 (3 (P, Q, R), S, T ) (L46)

(37)

3.2.2.15 L3 = Clo{0,1}({↔ , 0})

This clone is generated by the connectives ↔3 and 0. These connectives are

charac-terized by the truth tables in Table 6 and Table 3, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.13 and 3.2.1.4.

P Q R ↔3 (P, Q, R) (L41) ↔3 (P, Q, R) ↔3 (Q, P, R) (L42) ↔3 (P, Q, R) ↔3 (P, R, Q) (L43) P0 (R81) P ↔3 (P, Q, Q) (L44) ↔3 (P, Q, Q) P (L45) ↔3 (P, Q,3 (R, S, T )) ↔3 (3 (P, Q, R), S, T ) (L46) 3.2.2.16 L1 = Clo{0,1}({↔3, 0, 1})

This clone is generated by the connectives ↔3, 0 and 1. These connectives are

char-acterized by the truth tables in Table 6, Table 3 and Table 2, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.15 and 3.2.1.3.

P Q R ↔3 (P, Q, R) (L41) ↔3 (P, Q, R) ↔3 (Q, P, R) (L42) ↔3 (P, Q, R) ↔3 (P, R, Q) (L43) P0 (R81) P ↔3 (P, Q, Q) (L44) ↔3 (P, Q, Q) P (L45) ↔3 (P, Q,3 (R, S, T )) ↔3 (3 (P, Q, R), S, T ) (L46) 1 (R61) 3.2.2.17 L5 = Clo{0,1}({↔3,¬})

This clone is generated by the connectives ↔3 and ¬. These connectives are

charac-terized by the truth tables in Table 6 and Table 1, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.13 and 3.2.1.2, adding some interaction rules between the connectives, presented in (RAUTENBERG, 1981).

(38)

P Q R ↔3 (P, Q, R) (L41) ↔3 (P, Q, R) ↔3 (Q, P, R) (L42) ↔3 (P, Q, R) ↔3 (P, R, Q) (L43) P ↔3 (P, Q, Q) (L44) ↔3 (P, Q, Q) P (L45) ↔3 (P, Q,3 (R, S, T )) ↔3 (3 (P, Q, R), S, T ) (L46) P ¬(¬P ) (R41) ¬(¬P ) P (R42) P ¬(P ) Q (R43) ↔3 (¬(P ), Q, R) ¬(↔3 (P, Q, R)) (L51) ¬(↔3 (P, Q, R)) ↔3 (¬(P ), Q, R) (L52)

(39)

3.2.2.18 D2 = Clo{0,1}({d})

This clone is generated by only one ternary connective d, which is defined as d(x, y, z) = (x∧ y) ∨ ((x ∧ z) ∨ (y ∧ z)). This connective is characterized by the follow-ing truth table:

A B C d(A, B, C) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

Table 7: Truth Table of d

The following are the inferences rule that axiomatize this clone. They are presented in (RAUTENBERG, 1981). P Q d(P, Q, R) (D21) d(Q, P, P ) P (D22) P d(Q, P, P ) (D23) d(S, T, d(P, Q, R)) d(T, S, d(Q, P, R)) (D24) d(A, B, d(P, Q, d(R, S, T ))) d(A, B, d(d(P, Q, R), d(P, Q, S), T )) (D25) d(S, T, d(P, Q, R)) d(T, S, d(P, R, Q)) (D26) d(A, B, d(d(P, Q, R), d(P, Q, S), T )) d(A, B, d(P, Q, d(R, S, T ))) (D27) 3.2.2.19 D3 = Clo{0,1}({d, ¬})

This clone is generated by the connectives d and ¬. These connectives are character-ized by the truth tables in Table 7 and Table 1, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.18 and some interaction rules between the connectives, presented in (RAUTENBERG, 1981). P Q d(P, Q, R) (D21) d(Q, P, P ) P (D22) P d(Q, P, P ) (D23)

(40)

d(S, T, d(P, Q, R)) d(T, S, d(Q, P, R)) (D24) d(A, B, d(P, Q, d(R, S, T ))) d(A, B, d(d(P, Q, R), d(P, Q, S), T )) (D25) d(S, T, d(P, Q, R)) d(T, S, d(P, R, Q)) (D26) d(A, B, d(d(P, Q, R), d(P, Q, S), T )) d(A, B, d(P, Q, d(R, S, T ))) (D27) d(R, S, d(Q, P,¬(P ))) d(R, S, Q) (D31) d(R, S, Q) d(R, S, d(Q, P,¬(P ))) (D32) 3.2.2.20 D1 = Clo{0,1}({d, ↔3})

This clone is generated by the connectives d and ↔3. These connectives are

charac-terized by the truth tables in Table 7 and Table 6, respectively.

The inference rules that axiomatize this clone are the union of rules showed in the Sec-tion 3.2.2.18 and 3.2.2.13, adding the following interacSec-tion rules between the connectives, presented by me and Vitor Greati in (GREATI, 2019).

d(A, B,3 (C, D, E))

↔3 (d(A, B, C), d(A, B, D), d(A, B, E)) (D11)

↔3 (d(A, B, C), d(A, B, D), d(A, B, E))

d(A, B,↔3 (C, D, E)) (D12)

↔3 (A, B, d(C, D, E))

d(3 (A, B, C),3 (A, B, D),3 (A, B, E)) (D13)

d(3 (A, B, C),3 (A, B, D),3 (A, B, E))

↔3 (A, B, d(C, D, E)) (D14)

↔3 (F, G, d(A, B,3 (C, D, E)))

↔3 (F, G,3 (d(A, B, C), d(A, B, D), d(A, B, E))) (D15)

↔3 (F, G,3 (d(A, B, C), d(A, B, D), d(A, B, E)))

↔3 (F, G, d(A, B,3 (C, D, E))) (D16)

d(F, G,↔3 (A, B, d(C, D, E)))

d(F, G, d(3 (A, B, C),3 (A, B, D),3 (A, B, E))) (D17)

d(F, G, d(↔3 (A, B, C),3 (A, B, D),3 (A, B, E)))

d(F, G,3 (A, B, d(C, D, E))) (D18)

(41)

3.2.2.21 F∞

6 = Clo{0,1}({ka})

This clone is generated by only one ternary connective ka, which is defined as ka(x, y, z) = x∧ (y ∨ z). This connective is characterized by the following truth table:

(42)

A B C ka(A, B, C) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

Table 8: Truth Table of ka

The following are the inferences rule that axiomatize this clone. They are presented in (RAUTENBERG, 1981). A P ka(A, P, Q) (F61) ka(A, P, ka(A, Q, R)) ka(A, ka(A, P, Q), R)) (F62) ka(A, P, Q) ka(A, Q, P ) (F63) ka(A, P, P ) P (F64) ka(B, R, ka(A, P, Q)) ka(B, R, A)) (F65) ka(B, R, ka(A, P, Q)) ka(B, R, ka(B, P, Q))) (F66) ka(B, R, A) ka(B, R, ka(B, P, Q))

ka(B, R, ka(A, P, Q)) (F67) 3.2.2.22 F∞

7 = Clo{0,1}({ka, 0})

This clone is generated by the connectives ka and 0. These connectives are character-ized by the truth tables in Table 8 and Table 3, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.21 and an interaction rule between the connectives, presented in (RAUTENBERG, 1981). A P ka(A, P, Q) (F61) ka(A, P, ka(A, Q, R)) ka(A, ka(A, P, Q), R)) (F62) ka(A, P, Q) ka(A, Q, P ) (F63) ka(A, P, P ) P (F64) ka(B, R, ka(A, P, Q)) ka(B, R, A)) (F65) ka(B, R, ka(A, P, Q)) ka(B, R, ka(B, P, Q))) (F66) ka(B, R, A) ka(B, R, ka(B, P, Q))

ka(B, R, ka(A, P, Q)) (F67)

ka(A, P, 0)

(43)

3.2.2.23 F∞

5 = Clo{0,1}({ki})

This clone is generated by only one ternary connective ki, which is defined as ki(x, y, z) = x∧ (y → z), in which → is commonly known as logical conditional. This connective is characterized by the following truth table:

A B C ki(A, B, C) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1

Table 9: Truth Table of ki

The following are the inferences rule that axiomatize this clone. They are presented in (RAUTENBERG, 1981). P ki(A, P, Q) Q (F51) ki(A, ki(P, P, Q), R) ki(A, P, ki(A, Q, R)) (F52) A ki(A, P, ki(A, Q, P ))) (F53) ki(A, P, ki(A, Q, R)) ki(A, ki(P, P, Q), R) (F54) ki(B, R, ki(A, P, Q)) ki(B, R, A) (F55) ki(B, R, ki(A, P, Q)) ki(B, R, ki(B, P, Q)) (F56) ki(B, R, A) ki(B, R, ki(B, P, Q))

ki(B, R, ki(A, P, Q)) (F57)

ki(B, T, A)

ki(B, T, ki(A, ki(A, ki(A, P, Q), P ), P ) (F58) ki(B, T, A)

ki(B, T, ki(A, ki(A, P, ki(A, Q, R)), ki(A, P, R))) (F59) 3.2.2.24 F∞

8 = Clo{0,1}({ki, 0})

This clone is generated by the connectives ki and 0. These connectives are character-ized by the truth tables in Table 9 and Table 3, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.23 and an interaction rule between the connectives,

(44)

presented in (RAUTENBERG, 1981). P ki(A, P, Q) Q (F51) ki(A, ki(P, P, Q), R) ki(A, P, ki(A, Q, R)) (F52) A ki(A, P, ki(A, Q, P ))) (F53) ki(A, P, ki(A, Q, R)) ki(A, ki(P, P, Q), R) (F54) ki(B, R, ki(A, P, Q)) ki(B, R, A) (F55) ki(B, R, ki(A, P, Q)) ki(B, R, ki(B, P, Q)) (F56) ki(B, R, A) ki(B, R, ki(B, P, Q))

ki(B, R, ki(A, P, Q)) (F57)

ki(B, T, A)

ki(B, T, ki(A, ki(A, ki(A, P, Q), P ), P ) (F58) ki(B, T, A)

ki(B, T, ki(A, ki(A, P, ki(A, Q, R)), ki(A, P, R))) (F59)

ki(A, P, 0)

ki(A, P, Q) (F81) 3.2.2.25 F∞

2 = Clo{0,1}({ak})

This clone is generated by only one ternary connective ak, which is defined as ak(x, y, z) = x∨ (y ∧ z). This connective is characterized by the following truth table:

A B C ak(A, B, C) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1

Table 10: Truth Table of ak

The following are the inferences rule that axiomatize this clone. They are presented in (RAUTENBERG, 1981). ak(P, P, P ) P (F21) ak(ak(R, P, Q), S, S) ak(ak(R, P, P ), S, S) (F22) ak(Q, P, P ) ak(P, Q, Q) (F23) P ak(Q, P, P ) (F24) ak(ak(R, P, Q), S, S) ak(ak(R, Q, Q), S, S) (F25) ak(ak(R, Q, Q), P, P )

ak(R, ak(Q, P, P ), ak(Q, P, P )) (F26) ak(ak(R, P, P ), S, S) ak(ak(R, Q, Q), S, S)

(45)

3.2.2.26 F∞

3 = Clo{0,1}({ak, 1})

This clone is generated by the connectives ak and 1. These connectives are charac-terized by the truth tables in Table 10 and Table 2, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.25 and 3.2.1.3.

ak(P, P, P ) P (F21) ak(ak(R, P, Q), S, S) ak(ak(R, P, P ), S, S) (F22) ak(Q, P, P ) ak(P, Q, Q) (F23) P ak(Q, P, P ) (F24) ak(ak(R, P, Q), S, S) ak(ak(R, Q, Q), S, S) (F25) ak(ak(R, Q, Q), P, P )

ak(R, ak(Q, P, P ), ak(Q, P, P )) (F26) ak(ak(R, P, P ), S, S) ak(ak(R, Q, Q), S, S)

ak(ak(R, P, Q), S, S) (F27) 1 (R61)

3.2.2.27 F∞

1 = Clo{0,1}({ad})

This clone is generated by only one ternary connective ad, which is defined as ad(x, y, z) = x∨ (y ∧ ¬z). This connective is characterized by the following truth table:

A B C ad(A, B, C) 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1

Table 11: Truth Table of ad

(46)

in (RAUTENBERG, 1981). Q ad(Q, A, P ) (F11) ad(Q, A, P ) ad(A, Q, A) (F12) ad(S, Q, S) ad(S, ad(Q, A, P ), S) (F13) ad(P, P, P ) P (F14) P ad(Q, A, P ) Q (F15) ad(P, B, R) ad(Q, A, P ) ad(Q, B, R) (F16) ad(P, Q, P ) ad(Q, P, Q) (F17) A ad(ad(P, A, Q), A, P ) (F18) ad(S, ad(Q, A, P ), S) ad(S, ad(A, Q, A), S) (F19) ad(S, A, S)

ad(S, ad(ad(P, A, Q), A, P ), S) (F110)

ad(P, ad(Q, R, Q), P )

ad(ad(P, Q, P ), R, ad(P, Q, P )) (F111) ad(S, P, S), ad(S, ad(Q, A, P ), S)

ad(S, Q, S) (F112)

ad(A, B, T )

ad(ad(P, A, ad(P, A, ad(Q, A, P ))), B, T ) (F113) ad(A, B, T )

ad(ad(ad(R, A, P ), A, ad(ad(R, A, Q), A, P )), B, T ) (F114) ad(ad(Q, R, Q), A, P )

ad(ad(Q, A, P ), ad(R, A, P ), ad(Q, A, P )) (F115) ad(ad(Q, A, P ), ad(R, A, P ), ad(Q, A, P ))

ad(ad(Q, R, Q), A, P ) (F116) ad(ad(R, B, Q), A, P )

ad(ad(R, A, P ), ad(R, B, Q), ad(R, A, P )) (F117) ad(ad(R, A, P ), ad(R, B, Q), ad(R, A, P ))

ad(ad(R, B, Q), A, P ) (F118) ad(S, ad(P, B, R), S), ad(S, ad(Q, A, P ), S)

ad(S, ad(Q, B, R), S) (F119)

ad(S, ad(A, B, T ), S)

ad(S, ad(ad(P, A, ad(P, A, ad(Q, A, P ))), B, T ), S) (F120) ad(S, ad(ad(Q, R, Q), A, P ), S)

ad(S, ad(ad(Q, A, P ), ad(R, A, P ), ad(Q, A, P )), S) (F121) ad(S, ad(ad(Q, A, P ), ad(R, A, P ), ad(Q, A, P )), S)

ad(S, ad(ad(Q, R, Q), A, P ), S) (F122) ad(S, ad(ad(R, B, Q), A, P ), S)

ad(S, ad(ad(R, A, P ), ad(R, P, Q), ad(R, A, Q)), S) (F123) ad(S, ad(ad(R, A, P ), ad(R, P, Q), ad(R, A, Q)), S)

ad(S, ad(ad(R, B, Q), A, P ), S) (F124) ad(S, ad(A, B, T ), S)

(47)

3.2.2.28 F∞

4 = Clo{0,1}({ad, 1})

This clone is generated by the connectives ad and 1. These connectives are charac-terized by the truth tables in Table 11 and Table 2, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.27 and 3.2.1.3.

(48)

3.2.2.29 C4 = Clo{0,1}({ki, ∨})

This clone is generated by the connectives ki and ∨. These connectives are character-ized by the truth tables in Table 5 and Table 9, respectively.

The following are the inference rules that axiomatize this clone. They are the union of rules showed in the Section 3.2.2.23 and an interaction rule between the connectives, presented in (RAUTENBERG, 1981). P ki(A, P, Q) Q (F51) ki(A, ki(P, P, Q), R) ki(A, P, ki(A, Q, R)) (F52) A ki(A, P, ki(A, Q, P ))) (F53) ki(A, P, ki(A, Q, R)) ki(A, ki(P, P, Q), R) (F54) ki(B, R, ki(A, P, Q)) ki(B, R, A) (F55) ki(B, R, ki(A, P, Q)) ki(B, R, ki(B, P, Q)) (F56) ki(B, R, A) ki(B, R, ki(B, P, Q))

ki(B, R, ki(A, P, Q)) (F57)

ki(B, T, A)

ki(B, T, ki(A, ki(A, ki(A, P, Q), P ), P ) (F58) ki(B, T, A)

ki(B, T, ki(A, ki(A, P, ki(A, Q, R)), ki(A, P, R))) (F59) ki(T, S, (A∨ B))

ki(T, S, ki((A∨ B), ki((A ∨ B), A, R), ki((A ∨ B), ki((A ∨ B), B, R), R))) (C40) ki(T, S, A)

ki(T, S, (A∨ B)) (C41)

ki(T, S, B)

ki(T, S, (A∨ B)) (C42) 3.2.2.30 C3 = Clo{0,1}({ki, ∨, 0})

This clone is generated by the connectives ki, ∨ and 0. These connectives are charac-terized by the truth tables in Table 9, Table 4 and Table 3, respectively.

The Hilbert calculus that axiomatizes this clone contains all the showed in the Section 3.2.2.29, and the following rule:

ki(T, S, 0)

ki(T, S, R) (C30) 3.2.2.31 C2 = Clo{0,1}({ki, ∨, 1})

This clone is generated by the connectives ki, ∨ and 1. These connectives are charac-terized by the truth tables in Table 9, Table 4 and Table 2, respectively.

The inference rules that axiomatize this clone are the union of rules showed in the Section 3.2.2.29 and 3.2.1.3.

(49)

3.2.2.32 C1 = Clo{0,1}({ki, ∨, 0, 1})

This clone is generated by the connectives ki, ∨, 0 and 1. These connectives are char-acterized by the truth tables in Table 9, Table 4, Table 3 and Table 2, respectively.

The inference rules that axiomatize this clone are the union of rules showed in the Section 3.2.2.30 and 3.2.1.3.

(50)

3.2.3 Recursive cases

For the other cases, we divide them into four possibilities: (1) the clone is a monotonic expansion of the S2, (2) the clone is a expansion of F1∞or F4∞, (3) the clone is a expansion

of F∞

5 or F8∞, (4) the clone is a expansion of F6∞ or F7∞

Besides that, we will need the definition of the clones Fm

i (1≤ i ≤ 8)(m ≥ 2). A clone

Fm

i is the expansion of Fi∞ with the connective dm witch may be described by:

dm(x0, . . . , xm) = m � i=0 (x0∧ · · · ∧ xi−1∧ xi+1∧ · · · ∧ xm) (3.1) dm(x0, . . . , xm) = m−1 i=0 m � j=i+1 (xi∨ xj) (3.2)

This connective is commonly known as threshold function. As an example of threshold function, we have the connective d3 = ((A∧B∧C)∨(A∧B∧D)∨(A∧C∧D)∨(B∧C∧D)) =

(A∨ B) ∧ (A ∨ C) ∧ (A ∨ D) ∧ (B ∨ C) ∧ (B ∨ D) ∧ (C ∨ D), and an example of expansion of F∞

2 we have the clone F23 = Clo{0,1}(ak, d3).

3.2.3.1 Monotonic expansions of S2

For this case, we will suppose that B = Clo{0,1}(F) for some F, such that F = {∨, #},

for some n-ary monotonic connective #. Given that, every monotonic connective can be written as #(x1, . . . , xn) = �C∈Ci∈Cxi, where C is the set of clauses of #, Rautenberg

(RAUTENBERG, 1981) shows that the Hilbert calculus that axiomatizes this clone contains the rules of Section 3.2.2.1 and, for m = |C|, and for all 1 ≤ k ≤ m the following rules:

S∨ (i∈C1xi) . . . S∨ (�i∈Cmxi) S∨ #(x1, . . . , xn) (B0) S∨ #(x1, . . . , xn) S∨ (i∈Ckxi) (Bk)

As an example, we have the clone A4 = Clo{0,1}({∨, ∧}). Given that A ∧ B can be

written as ∧(A, B), such that, C = {{A}, {B}}, therefore the inference rules are the following: P P ∨ Q (S21) P ∨ P P (S22) Q∨ P P ∨ Q (S23) (P ∨ Q) ∨ R P ∨ (Q ∨ R) (S24) S∨ A S ∨ B S∨ (∧(A, B)) (A40) S∨ (∧(A, B)) S∨ A (A41) S∨ (∧(A, B)) S∨ B (A41) Another example, is the clone F∞

(51)

and C = {{A, B}, {A, C}}, therefore ak(A, B, C) = ∧(∨(A, B), ∨(A, C)). So, replacing the ∨ in rules of Section 3.2.2.1 for ak(A, B, B) and adding the rules listed above with the corresponding C, the rules are exactly the ones listed in Section 3.2.2.25.

Knowing that ak is monotonic and, for all m ≥ 2, dm is a monotonic connective, then

the clones Fm

2 and F3m are axiomatizable using the Hilbert calculus presented above, with

the appropriate C.

3.2.3.2 Expansions of F∞

1 or F4∞

First of all, we deal with the normal forms of a m-ary connective dm.

Lemma 3.1 (Normal Form Lemma) Given a m-ary connective dm:

1. dm(x1, . . . , xm) = �mi=0αi, where αi = (x0∧ · · · ∧ xi−1∧ xi+1∧ · · · ∧ xm) replacing

all occurrences of A ∧ B for ka(A, B, B). Based on equation 3.1.

2. dm(x1, . . . , xm) = �m−1i=0 �mj=i+1ad(xi, xj, xi). Given that A ∨ B = ad(A, B, A).

Based on equation 3.2.

3. dm(x1, . . . , xm) =�mi=0γi, where γi = (x0∧ · · · ∧ xi−1∧ xi+1∧ · · · ∧ xm) replacing all

occurrences of A ∧ B for ki(A, A, B). Based on equation 3.1. For the clones Fm

1 , we will suppose that B = Clo{0,1}(F) for some F, such that

F = {ad, dm}. By the Normal Form Lemma dm(x1, . . . , xm) = �C∈Cadi∈Cxi, where C is

the set of clauses of dm, then Rautenberg (RAUTENBERG, 1981) shows that the Hilbert

calculus that axiomatizes this clone contains all the rules of Section 3.2.2.27 and, for n = |C|, for all 1 ≤ k ≤ n, where Pk = adi∈Ckxi and Q = dm(x1, . . . , xm), the following rules:

ad(T, S, P1)

ad(T, S, ad(P1, P2, ad(P1, P3,· · · ad(P1, Pn, Q)· · · )))

(B0)

ad(T, S, Q) ad(T, S, Pk)

(Bk)

For the clones Fm

4 , we will suppose that B = Clo{0,1}(F) for some F, such that

F = {ad, 1, dm}. The Hilbert calculus that axiomatizes these clones contains all the rules

listed above, and the rule of Section 3.2.1.3. As an example of expansion of F∞

1 , consider the clone F12 = Clo{0,1}({ad, d2}), whose

set of clauses of d2 is C = {{A, B}, {A, C}, {B, C}}, therefore

(52)

So, the inference rules, in this case, are: all the rules of Section 3.2.2.27, plus the following rules:

ad(T, S, ad(A, B, A))

ad(T, S, ad(ad(A, B, A), ad(A, C, A), ad(ad(A, B, A), ad(B, C, B), d2(A, B, C)))) (F1 2 0)

ad(T, S, d2(A, B, C))

ad(T, S, ad(A, B, A)) (F1

2 1)

ad(T, S, d2(A, B, C))

ad(T, S, ad(A, C, A)) (F1

2 2) ad(T, S, d2(A, B, C)) ad(T, S, ad(B, C, B)) (F1 2 3) 3.2.3.3 Expansions of F∞ 5 or F8∞

For the clones Fm

5 , we will suppose that B = Clo{0,1}(F) for some F, such that

F = {ki, dm}. By the Normal Form Lemma dm(x1, . . . , xm) = �C∈Ckii∈Cxi, where C is

the set of clauses of dm, Rautenberg (RAUTENBERG, 1981) shows that the Hilbert calculus

that axiomatizes this clone contains all the rules of Section 3.2.2.23 and, for n = |C|, for all 1 ≤ k ≤ n, where Pk= kii∈Ckxi and Q = dm(x1, . . . , xm), the following rules:

ki(T, S, Q)

ki(T, S, ki(Q, ki(Q, P1, R), ki(Q, ki(Q, P2, R),· · · ki(Q, ki(Q, Pn, R), R)· · · )))

(B0)

ki(T, S, Pk)

ki(T, S, Q) (Bk) For the clones Fm

8 , we will suppose that B = Clo{0,1}(F) for some F, such that

F = {ad, 0, dm}. The Hilbert calculus that axiomatizes this clone contains all the rules

listed above, and the following rule:

ki(T, S, 0) ki(T, S, R) (B0) As an example of expansion of F∞

5 , consider the clone F52 = Clo{0,1}({ki, d2}), such

that, the set of clauses of d2 is C = {{A, B}, {A, C}, {B, C}}, therefore

d2(A, B, C) =∨(∧(A, B), ∧(A, C), ∧(B, C)) = ∨(ki(A, A, B), ki(A, A, C), ki(B, B, C))

Given that, P1 = ki(A, A, B), P2 = ki(A, A, C), P3 = ki(B, B, C) and Q = d2(A, B, C),

the inference rules are all the rules of Section 3.2.2.23, plus the following rules: ki(T, S, Q)

ki(T, S, ki(Q, ki(Q, P1, R), ki(Q, ki(Q, P2, R), ki(Q, ki(Q, P3, R), R)))) (F5 2 0) ki(T, S, ki(A, A, B)) ki(T, S, d2(A, B, C)) (F521) ki(T, S, ki(A, A, C)) ki(T, S, d2(A, B, C)) (F522) ki(T, S, ki(B, B, C)) ki(T, S, d2(A, B, C)) (F523)

(53)

3.2.3.4 Expansions of F∞

6 or F7∞

For the clones Fm

6 , we will suppose that B = Clo{0,1}(F) for some F, such that

F = {ka, dm}. By the Normal Form Lemma dm(x1, . . . , xm) = �C∈Ckai∈Cxi, where C is

the set of clauses of dm, Rautenberg (RAUTENBERG, 1981) shows that the Hilbert calculus

that axiomatizes this clone contains all the rules of Section 3.2.2.23 and, for n = |C|, for all 1 ≤ k ≤ n, where Pk= kai∈Ckxi and Q = dm(x1, . . . , xm), the following rules:

ka(T, S, Q)

ka(T, S, ka(Q, P1, ka(Q, P2,· · · ka(Q, Pn−1, Pn)· · · )))

(B0)

ka(T, S, Pk)

ka(T, S, Q) (Bk) For the clones Fm

7 , we will suppose that B = Clo{0,1}(F) for some F, such that

F = {ka, 0, dm}. The Hilbert calculus that axiomatizes this clone contains all the rules

listed above, and the following extra rule: ka(T, S, 0) ka(T, S, R) (B0) As an example of expansion of F∞

6 , we have the clone F62 = Clo{0,1}({ka, d2}), such

that, the set of clauses of d2 is C = {{A, B}, {A, C}, {B, C}}, therefore

d2(A, B, C) =∨(∧(A, B), ∧(A, C), ∧(B, C)) = ∨(ka(A, B, B), ka(A, C, C), ka(B, C, C))

Given that, P1 = ka(A, B, B), P2 = ka(A, C, C), P3 = ka(B, C, C) and Q = d2(A, B, C),

the inference rules are all the rules of Section 3.2.2.23, plus the following rules: ka(T, S, Q)

ka(T, S, ka(Q, P1, ka(Q, P2, ka(Q, Pn−1, Pn))))

(B0) ka(T, S, ka(A, B, B)) ka(T, S, d2(A, B, C)) (F5 2 1) ka(T, S, ka(A, C, C)) ka(T, S, d2(A, B, C)) (F5 2 2) ka(T, S, ka(B, C, C)) ka(T, S, d2(A, B, C)) (F5 2 3)

(54)
(55)

4

A computational implementation

of extraction of a Hilbert calculus

The algorithm of the procedure to produce the Hilbert Calculus associated with the informed set of 2-valued operations was implemented using the Haskell programming language and was distributed as a API RESTful, in addition a website was made, to be freely used by the community, which will receive the user inputs, consume the API, and inform the result of the cited procedure, based on the inputs that the user provided.

4.1 Computational Representation

The concepts presented in Chapter 2 implemented using Haskell and the first one is that of a schematic formula, which could be just a variable A, B, or could be a compound formula such as A ∧ B, A → B, where ∧ and → are function symbols.

data Formula =

Var String |

Op Symbol [Formula]

The following are examples of schematic formulas, where the connective ∧ and ∨ are represented by the symbols ∗ and +, respectively. The list of all symbols and their associated connectives are in Appendix C.

-- The schematic formula P read "P" :: Formula

-- The schematic formula P ∨ Q read "+(P, +(Q, R))" :: Formula

-- The schematic formula (R ∨ P ) ∧ (R ∨ Q) read "*(+(R, P), +(R, Q))" :: Formula

(56)

Another concept is that of a signature, which is a set of function symbols. These symbols are grouped according to their arity.

type Signature = Map Nat (S.Set Connective)

The following are examples of signatures:

-- The signature Σ = {¬}

read "[(1, ["-"])]" :: Signature -- The signature Σ = {¬, →, ∨}

read "[(1, ["-"]), (2, ["==>", "+"])]" :: Signature

For each connective we have an interpretation, as explained in Section 2.3, and, for each interpretation, we have an associated truth table. So, the interpretation in Haskell is a set of mappings from a function symbol to a truth table.

type TruthTable a = M.Map [a] a

type Interpretation a = M.Map Symbol (TruthTable a)

Below is an example of the usual interpretation of the connective ∧, that can be checked in Table 5. The list of all truth tables used in this work are in Appendix B, and the list of all function symbols and their associated interpretations are in Appendix C.

-- Truth Table for ∧

andTruthTable = mkTruthTable [([0, 0], 0), ([0, 1], 1), ([1, 0], 1), ([1, 1], 1)] :: (TruthTable Int) -- Interpretation for {∧} andInterpretation = [("*", andTruthTable)]

A matrix M over a signature Σ is a structure �V, D, #M� where V is a set (of

(57)

interpretation.

-- Set of truth-values V

type V a = S.Set a

-- Set of designated values D

type D a = S.Set a

-- Matrix values

type Values a = (V a, D a)

-- Matrix by definition �V, D, ·M�

data Matrix a = Matrix { values :: Values a,

interpretation :: Interpretation a }

The example below describes the matrix for the clone Clo{0,1}({∧}), described in

Section 3.2.2.5. The list of the matrices for all clones are in Appendix D.

-- Matrix values for classical logic valuesMatrix = ([0, 1], [1])

-- Matrix for Clo{0,1}({∧})

matrix = Matrix {values=valuesMatrix, interpretation=andInterpretation}

Inference rules, as explained in Section 2.4, are described as a set of rules, where each rule �Γ, ϕ� ∈ R, Γ is the rule’s set of premises, whereas ϕ is the rule’s conclusion.

-- Rule �Γ, ϕ�

data Rule = Rule {

premises :: S.Set Formula, -- Γ

conclusion :: Formula -- ϕ

}

-- Inference Rules R

type InferenceRules = S.Set Rule

The example below describes the inference rules of the Hilbert calculus that axiomat-izes the clone Clo{0,1}({∧}), described in Section 3.2.2.5.

(58)

-- P2 Axiomatization - Clo{0,1}({∧})

p2_1 = read "{P, Q} | *(P, Q)" :: Rule p2_2 = read "{*(P, Q)} | P" :: Rule p2_3 = read "{*(P, Q)} | Q" :: Rule p2Axiomatization = [p2_1, p2_2, p2_3]

A Hilbert calculus H, as explained in Section 2.4, is a structure �Σ, R�, where Σ is a signature and R is a set of schematic inference rules.

data HilbertCalculus = HilbertCalculus { sigma :: Signature,

rules :: InferenceRules

}

An example is the Hilbert calculus that axiomatizes the clone Clo{0,1}({∧}), described

by p2Axiomatization.

-- Hilbert calculus for Clo{0,1}({∧})

p2logic = HilbertCalculus {sigma = [{2, "*"}], rules = p2Axiomatization}

The list of all Hilbert calculi that axiomatize each fragment of classical logic, showed in section 3.2, are in Appendix E.

Using all these definitions, we can now implement the proposed algorithm for CMP in Haskell, showed in the Algorithm 1, which is in the Appendix A. Consequently, we have the algorithm for TEP, applying the CMP algorithm twice, swapping the inputs, as explained in section 3.1. Therefore, the algorithm is:

-- Given a base set as initial state A and B another base set -- of functions over {0,1}, determine they are term equivalent

isTermEquivalent (MonadThrow m) => Matrix Int -> Matrix Int -> m Bool isTermEquivalent baseA baseB = pure (&&) <*> ltr <*> rtl

where

ltr = isInClone baseA baseB rtl = isInClone baseB baseA

(59)

Given that, the PLLP algorithm, showed in the Figure 2, is the following:

pllp :: Matrix Int -> Matrix Int

pllp baseA = case find (isTermEquivalent baseA) greenMatrices of

Just baseB -> baseB

Nothing -> pllpRecursive 1 baseA

pllpRecursive :: Int -> Matrix Int -> Matrix Int pllpRecursive depth base

| isInClone base $ f4ExpansionMatrix !! depth = f4ExpansionMatrix !! depth | isInClone base $ f8ExpansionMatrix !! depth = f8ExpansionMatrix !! depth | isInClone base $ f3ExpansionMatrix !! depth = f3ExpansionMatrix !! depth | isInClone base $ f7ExpansionMatrix !! depth = f7ExpansionMatrix !! depth | isInClone base $ f1ExpansionMatrix !! depth = f1ExpansionMatrix !! depth | isInClone base $ f5ExpansionMatrix !! depth = f5ExpansionMatrix !! depth | isInClone base $ f2ExpansionMatrix !! depth = f2ExpansionMatrix !! depth | isInClone base $ f6ExpansionMatrix !! depth = f6ExpansionMatrix !! depth

| otherwise = pllpRecursive (depth+1) base

The Rauntenberg algorithm is similar, changing the TEP checking for a signature equality checking, and changing the CMP checking for a signature expansion checking, so, for each input, the output is some of the axiomatizations presented in Appendix E.

4.2 API RESTful

Fielding (FIELDING, 2000) introduced and defined the style of REST (Representational State Transfer) architecture, whose central abstraction is called resource. A resource is anything that has a URI (Uniform Resource Identifier), which is an identifier that satisfies the formatting requirements. The model deals with an abstraction of the web architecture, that is, it consists of rules that, when followed, allow the creation of a project with well defined interfaces.

When we create web services using the REST architecture style, we are creating a RESTful application. RESTful web services expose resources through URIs and use HTTP methods to create, return, change, and delete their resources.

(60)

es-tablished by an application, so that other applications can use the functionality of this application without having to know details of the software implementation. Therefore, APIs allow interoperability between applications, in other words, communication between applications and between users.

An API was built to facilitate communication between the site and the Haskell al-gorithm so that the Rautenberg Alal-gorithm was computed separately from the site in a separate module. In addition, auxiliary routes have been created to support the other apps of the site.

The routes created were:

• /logic/{connectives} : The main service, which is responsible for returning the Hil-bert calculus associated with the informed set of 2-valued operations in connectives. Ex.: /logic/[{"symbol":"+","k":2}]

• /connectives : Service responsible for returning connectives available on the system. Ex.: /connectives

• /independence/{values}/{designated}/{super}/{sub}/{from}/{to}:

Service responsible for check if the consequence relation sub is independent from the consequence relation super, in which, we know that sub ⊆ super, according to the informed sets of values and designated. If it is possible to tell if it is not independent, then the service returns all cases that are not independent, and the cases are sent from from until the case to, otherwise, the service returns nothing. Ex.: /independence/[0,1,2]/[1]/["{a}|+(a,b)"]/["{a}|+(a,b)"]/0/10 • /soundness/{connectives}/{rules} : Service responsible for checking the soundness

of the list of rules in rules according to the interpretation of the connectives reported in connectives. Ex.: /soundness/[{"symbol":"+","k":2}]/["{a}|+(a,b)"] • /clomem/{clone1 }/{clone2 }/{typ} : Service responsible for check if, given the clones

on {0, 1} clone1 and clone2, if the value of typ is “one” then check if the connectives in clone2 are in clone1, if the value of typ is “two” then check if the connectives in clone1 are in clone2, finally, if the value of typ is “three” then check if the con-nectives in clone2 are the same of clone1. Ex.: /clomem/[{"symbol":"*","k": 2}]/[{"symbol":"+","k":2}]/"one"

(61)

4.3 Website

A Website was created in order to make the following tools available to the community. • Fragment Axiomatization – The main tool, which returns the Hilbert Calculus

as-sociated with the reported connectives. (The main algorithm of this work)

Figure 4: Fragment Axiomatization Website

• Clone Comparison – Given the A and B connective sets, the tool checks to see if Clo{0,1}(A)⊆ Clo{0,1}(B), Clo{0,1}(A)⊇ Clo{0,1}(B) or both. (CMP algorithm)

(62)

• Rules Independence – Tool that checks if a subset of rules is independent of the informed rule set.

(63)

• Soundness Check – Tool that checks the soundness of the list of informed rules according to the interpretation of the informed connectives.

(64)

5

Concluding Remarks

In order to be able to automatically extract Hilbert Calculi for classical logic frag-ments, we implemented the PLLP, TEP and CMP algorithms, in Section 4.1, to find which clone in the Post lattice the user is requesting the calculus.

Moreover, was computationally implemented, using Haskell, the extraction of Hil-bert Calculus associated with all the classical logic fragments, so if the user accesses the website of Figure 4, and informs the connectives, the user will receive as output the corresponding Hilbert calculus. The code is available at http://github.com/joelffg/ HilbertCalculusExtraction

Finally, the API containing the above algorithm, as well as other features, is available at http://logicapi.lolita.dimap.ufrn.br/ and the website is available at http:// logicapps.lolita.dimap.ufrn.br/. Examples of use of the site can be found in the Figures 4, 5, 6 and 7.

Implementing the Rautenberg’s algorithm, and making it available to the community in a free and accessible way, can greatly facilitate field studies, along with the other tools available, reducing the learning gap and maturity for understanding articles that address it.

Referências

Documentos relacionados

A sobrevivência do Museu de Imagens do Inconsciente como um organismo vivo e inovador não está garantida pelo impulso de sua causa geradora, ela depende da manutenção

They are listed and characterized below: Alycaulini (enlarged dorsal longitudinal ridges on the basal half of the ovipositor and interrupted to form rows of sclerotized and

dos outros em diferentes continentes e países por usarem camisas com padrões xadrez, barbas mais longas, calças de brim, cabelos mais aparados nas laterais e com topetes mais

efficient drug candidates for Chagas disease with a less severe side effects profile, we have prepared 17 isoxazole derivatives and tested them against both amastigote and

The genera Schizosphaerella along with Lotharingius hauffii and Calcivascularis jansae dominate the assemblages, which are also characterized by the continuous presence

Este relatório relata as vivências experimentadas durante o estágio curricular, realizado na Farmácia S.Miguel, bem como todas as atividades/formações realizadas

1º Aspecto tem a ver com a parte da personalidade, a própria formação que as pessoas tiveram tanto lá fora como as coisas são aqui estruturadas. Eu estou a falar agora da minha

O diagnóstico das patologias associadas ao ferro passa pelo hemograma, uma ferramenta essencial, e por testes séricos, como ferro sérico, saturação da transferrina, receptor solúvel