A Graph Theoretic Extension of Boolean Logic
Total Page:16
File Type:pdf, Size:1020Kb
A GRAPH THEORETIC EXTENSION OF BOOLEAN LOGIC CAMERON CALK Context. This internship was supervised by Anupam Das and Olivier Lau- rent and took place at Laboratoire de l'Informatique du Parallelisme (LIP), ENS de Lyon between 06/06/2016 and 29/07/2016, with a break from 27/06/2016 to 08/07/2016. 1. Overview In this project we explore a graph theoretic extension of Boolean logic, using notions developed in previous work concerning graph representations of proposi- tional terms (i.e. formulae). These allow us to consider graphs as synctactic logical objects in their own right, and we are thus able to define notions of evaluation and entailment for arbitrary graphs. The motivation for this is to establish a model of Boolean logic on graphs in order to see how logical phenomena scale to this richer setting. This work draws on the theory of relation webs [4] [6] [3], which are graphs repre- senting the equivalence classes of terms modulo associativity and commutativity of conjunction and disjunction. A structural correspondence was established between the Boolean function computed by a term, and its relation web [3], effectively trans- lating the semantic notions of Boolean logic into a graph theoretic setting. More specifically, the maximal cliques and maximal stable sets in the relation web of a term correspond exactly to the conjunctions (resp. disjunctions) in its minimal disjunctive (resp. conjunctive) normal form. The relation webs of terms, however, correspond to a fairly restricted class of graphs, known as co-graphs. It is natural, therefore, to apply these translated notions to larger classes of graphs, and study the consequences. In this report we formalise an extension of Boolean logic on arbitrary graphs, and illustrate the effects of this generalisation in terms of logical behaviour. This leads to an attempt to determine the graphs for which our notion of evaluation is total or deterministic. We characterise the class of graphs for which evaluation is deterministic and obtain partial results concerning totality. Next we examine the interaction between these generalised forms of entailment and evaluation, notably proving soundness and completeness. We then turn to the problem of evaluating arbitrary graphs under Boolean as- signments. Unlike in the term setting, this is a computationally difficult task, but we are nonetheless able to give a form of inductive algorithm by appealing to the modular decomposition of a graph [5]. This algorithm was also useful in reducing some of our questions concerning evaluation to the so-called prime graphs. We conclude this report with a brief explanation of other work that we did during the internship. Throughout, we present useful and interesting examples for 1 2 CAMERON CALK future research in this area. Proofs not presented in this report can be found at anupamdas.com/ProofsInternship.pdf. 2. Preliminaries Here we present basic elements of graph theory and propositional logic, and introduce the previous work which we have drawn from. 2.1. Terms. We consider Boolean logic on the language L = f^; _g and a set of variables Var = fx1; x2;::: g. The set Ter of terms is built freely in the usual way; t ::= x 2 Var j t _ t j t ^ t We write Var(t) to denote the set of variables occurring in t. We do not consider negation or constant symbols for technical reasons; we refer the reader to [3] pp. 3-4. We say that a term t is linear if every x 2 Var(t) has only one occurrence in t. For all x; y 2 Var(t) we can define the first common connective of x and y in t; it is the connective (either _ or ^) at the root of the smallest sub-tree of the term tree of t containing both x and y. Example 2.1. Let t = ((x _ w) ^ y) _ (z ^ v). Then the first common connective of x and y in t is ^, and that of x and z is _. An assignment is a map Var ! f0; 1g, which we identify with a subset of Var, namely the set of variables mapped to 1 by the assignment. So the assignment Y ⊆ Var is that in which the elements of Y are assigned 1, and the elements of its complement are assigned 0. Thus, the assigment Y = Var n Y is that in which the elements of Y are assigned 0, and the elements of its complement are assigned 1. A Boolean function is a map which associates assignments with Booleans; f : P(Var) ! f0; 1g. We say that such a function is monotone if for all X; Y ⊆ Var, Y ⊆ X ) f(Y ) ≤ f(X). Definition 2.2 (Minterms and maxterms). Let f be a monotone Boolean function. A set Y ⊆ Var is a minterm (resp. maxterm) for f if it is a minimal set such that f(Y ) = 1 (resp. f(Y ) = 0). The set of all minterms (resp. maxterms) of f is denoted MIN (f) (resp. MAX (f)). A term t computes a Boolean function in the usual way and, in our case, these are monotone due to the fact that there is no negation symbol in our language. We will abuse notation by denoting both the term and the function by t. Since Var(t) is finite, we typically consider assignments of finite support [3] pp. 5-7. Minterms (resp. maxterms) characterise a monotone Boolean function. They cor- respond to the minimal disjunctive (resp. conjunctive) normal forms of the function. We refer the reader to [2] pp. 3-49 for a comprehensive introduction to their theory. Proposition 2.3. Let t be a term. Then for all X ⊆ Var, we have t(X) = 1 () 9S 2 MIN (t);S ⊆ X t(X) = 0 () 9T 2 MAX (t);T \ X = ; For terms s and t, we write s ≤ t if 8X ⊆ Var, s(X) ≤ t(X). This relation, the fact that s entails t, can again be characterised by minterms and maxterms; Proposition 2.4. For s; t terms with Var(s) = Var(t), the following are equivalent: (1) s ≤ t. A GRAPH THEORETIC EXTENSION OF BOOLEAN LOGIC 3 (2) 8S 2 MIN (s); 8T 2 MAX (t);S \ T 6= ;. (3) 8S 2 MIN (s); 9S0 2 MIN (t);S0 ⊆ S. (4) 8T 2 MAX (t); 9T 0 2 MAX (s);T 0 ⊆ T . Thus, the semantics of terms can be characterised by a structural property of Boolean functions, rather than an inductive definition. 2.2. Graphs. A (simple, loopless, undirected, finite) graph G is a couple (V; E) V where V is a finite set, called the set of vertices or nodes, and E ⊆ 2 := ffx; yg j x; y 2 V; x 6= yg is a set of unordered pairs of distinct vertices, called the set of edges. A few classic families of such graphs are given below; Definition 2.5. Let V = fv1; : : : ; vng. An n-path, written Pn, is the graph (V; ffv1; v2g;:::; fvn−1; vngg). An n-cycle, written Cn, is the graph (V; ffv1; v2g;:::; fvn−1; vng; fvn; v1gg). V A complete graph on n vertices, written Kn, is the graph (V; 2 ) For a graph G = (V; E), we say that x and y are neighbours if fx; yg 2 E and we V define its dual, G := (V; 2 n E). We say that two graphs G and H are isomorphic, and we write G ≡ H, if there exists a bijection : V (G) ! V (H) which preserves edges. We say that H is a subgraph of G and we write H ≤ G if V (H) ⊆ V (G) and E(H) ⊆ E(G). The subgraph of G induced by a subset U ⊆ V (G) is the graph U GjU = U; E(G) \ 2 . If H is a graph, we say that a graph G is H-free if 8U ⊆ V (G), GjU 6≡ H. A graph G is connected (resp. co-connected) if 8x; y 2 V (G), 9H ≤ G such that x; y 2 V (H) and H ≡ Pk (resp. H ≡ P k) for some k. If not, we say that G is disconnected (resp. co-disconnected). A connected (resp. co-connected) component of G is a maximal connected (resp. co-connected) induced subgraph of G. When G is both connected and co-connected, we say that G is bi-connected. A subset U ⊆ V (G) is a clique (resp. stable set) if GjU ≡ Kk (resp. GjU ≡ Kk) for some k. Definition 2.6 (Co-graphs). A graph G is a co-graph if every induced subgraph of G is disconnected or co-disconnected. We have the following characterisation of co-graphs [2] pp. 464: Proposition 2.7. G is a co-graph if and only if G is P4-free. 2.3. Relation webs and correspondence. A useful representation of a linear term, which links Boolean logic with graphs, is its web [3] pp. 7-9. Recall the definition of first common connective, given above in Subsection 2.1. Definition 2.8 (Relation Web). The (relation) web W(t) of a linear term t is the graph whose vertex set is Var(t), and in which fx; yg is an edge if and only if the first common connective of x and y in t is ^. For ease of representation and to underline the duality of `conjunction' and `disjunction' in a graph, we will write, for x; y 2 Var(t), x y (resp. x y ) to denote that x is a neighbour (resp. non-neighbour) of y in G; we say that that x and y are in `conjunction (resp.