PROPOSITIONAL LOGIC. VL Logik: WS 2018/19

Similar documents
LOGIC PROPOSITIONAL REASONING

Propositional Logic: Evaluating the Formulas

Comp487/587 - Boolean Formulas

Propositional Logic: Models and Proofs

Reasoning with Quantified Boolean Formulas

Part 1: Propositional Logic

Propositional and Predicate Logic - II

Language of Propositional Logic

Chapter 4: Classical Propositional Semantics

Tecniche di Verifica. Introduction to Propositional Logic

A brief introduction to Logic. (slides from

A Little Logic. Propositional Logic. Satisfiability Problems. Solving Sudokus. First Order Logic. Logic Programming

Description Logics. Foundations of Propositional Logic. franconi. Enrico Franconi

Propositional and Predicate Logic. jean/gbooks/logic.html

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system):

Propositional Logic. Testing, Quality Assurance, and Maintenance Winter Prof. Arie Gurfinkel

Propositional Logic Language

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig

Announcements. CS243: Discrete Structures. Propositional Logic II. Review. Operator Precedence. Operator Precedence, cont. Operator Precedence Example

Logic: Propositional Logic (Part I)

Essential facts about NP-completeness:

Description Logics. Deduction in Propositional Logic. franconi. Enrico Franconi

Knowledge representation DATA INFORMATION KNOWLEDGE WISDOM. Figure Relation ship between data, information knowledge and wisdom.

Warm-Up Problem. Is the following true or false? 1/35

7. Propositional Logic. Wolfram Burgard and Bernhard Nebel

Inference in Propositional Logic

Propositional and Predicate Logic - V

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence

Propositional Resolution Part 1. Short Review Professor Anita Wasilewska CSE 352 Artificial Intelligence

The Calculus of Computation: Decision Procedures with Applications to Verification. Part I: FOUNDATIONS. by Aaron Bradley Zohar Manna

NP-Completeness Part II

Advanced Topics in LP and FP

CS 512, Spring 2017, Handout 10 Propositional Logic: Conjunctive Normal Forms, Disjunctive Normal Forms, Horn Formulas, and other special forms

Classical Propositional Logic

SMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz

MAI0203 Lecture 7: Inference and Predicate Calculus

Announcements. CS311H: Discrete Mathematics. Propositional Logic II. Inverse of an Implication. Converse of a Implication

Tutorial 1: Modern SMT Solvers and Verification

Propositional Languages

Foundations of Artificial Intelligence

Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness

3 Propositional Logic

Introduction to Solving Combinatorial Problems with SAT

Formal Verification Methods 1: Propositional Logic

CSE 555 HW 5 SAMPLE SOLUTION. Question 1.

Learning Goals of CS245 Logic and Computation

ECE473 Lecture 15: Propositional Logic

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

CS156: The Calculus of Computation

Title: Logical Agents AIMA: Chapter 7 (Sections 7.4 and 7.5)

Propositional Resolution Introduction

cis32-ai lecture # 18 mon-3-apr-2006

Normal Forms of Propositional Logic

Propositional Logic Basics Propositional Equivalences Normal forms Boolean functions and digital circuits. Propositional Logic.

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

COMP219: Artificial Intelligence. Lecture 20: Propositional Reasoning

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011

Propositional logic (revision) & semantic entailment. p. 1/34

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?

02 Propositional Logic

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak

Propositional Logic Part 1

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Final examination Logic & Set Theory (2IT61/2IT07/2IHT10) (correction model)

Propositional Language - Semantics

SAT, NP, NP-Completeness

NP-Completeness Part II

Predicate Logic: Sematics Part 1

Truth-Functional Logic

Nonclassical logics (Nichtklassische Logiken)

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning.

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel

Theory of Computer Science

CSCE 222 Discrete Structures for Computing. Propositional Logic. Dr. Hyunyoung Lee. !!!!!! Based on slides by Andreas Klappenecker

Overview, cont. Overview, cont. Logistics. Optional Reference #1. Optional Reference #2. Workload and Grading

Propositional logic. First order logic. Alexander Clark. Autumn 2014

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Intelligent Systems. Propositional Logic. Dieter Fensel and Dumitru Roman. Copyright 2008 STI INNSBRUCK

Critical Reading of Optimization Methods for Logical Inference [1]

Intro to Theory of Computation

Propositional and First Order Reasoning

Overview. CS389L: Automated Logical Reasoning. Lecture 7: Validity Proofs and Properties of FOL. Motivation for semantic argument method

Computation and Logic Definitions

Lecture 2. Logic Compound Statements Conditional Statements Valid & Invalid Arguments Digital Logic Circuits. Reading (Epp s textbook)

1 Propositional Logic

AI Principles, Semester 2, Week 2, Lecture 5 Propositional Logic and Predicate Logic

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

CHAPTER 10. Gentzen Style Proof Systems for Classical Logic

Part 1: Propositional Logic

Maximum 3-SAT as QUBO

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Introduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010

Discrete Mathematical Structures. Chapter 1 The Foundation: Logic

INTRODUCTION TO PREDICATE LOGIC HUTH AND RYAN 2.1, 2.2, 2.4

Artificial Intelligence. Propositional Logic. Copyright 2011 Dieter Fensel and Florian Fischer

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

7 LOGICAL AGENTS. OHJ-2556 Artificial Intelligence, Spring OHJ-2556 Artificial Intelligence, Spring

Transcription:

PROPOSITIONAL LOGIC VL Logik: WS 2018/19 (Version 2018.2) Martina Seidl (martina.seidl@jku.at), Armin Biere (biere@jku.at) Institut für Formale Modelle und Verifikation

BOX Game: Rules 1. The game board consists of boxes with symbols. For example: 1/33

BOX Game: Rules 1. The game board consists of boxes with symbols. For example: 2. We chose two colors, for example purple and green. One color is the winning color, for example purple. Then the non-winning color is green. 1/33

BOX Game: Rules 1. The game board consists of boxes with symbols. For example: 2. We chose two colors, for example purple and green. One color is the winning color, for example purple. Then the non-winning color is green. 3. Now we can play: assign the two colors to each symbol such that its underlined and non-underlined occurrences have a different color. 1/33

BOX Game: Rules 1. The game board consists of boxes with symbols. For example: 2. We chose two colors, for example purple and green. One color is the winning color, for example purple. Then the non-winning color is green. 3. Now we can play: assign the two colors to each symbol such that its underlined and non-underlined occurrences have a different color. 4. If each box contains a symbol in purple you won. 1/33

Some Examples Wrong coloring! 2/33

Some Examples Wrong coloring! Again a wrong coloring! 2/33

Some Examples Wrong coloring! Again a wrong coloring! Lost! 2/33

Some Examples Wrong coloring! Again a wrong coloring! Lost! Won! 2/33

Some Terminology From now on, we call a box a clause. We call a clause with at least one purple symbol satisfied. We call a clause with all symbols in green falsified. We call a clause with green and uncolored symbols undecided. The game is won if all clauses are satisfied. 3/33

How Many Possibilities? 1 symbol, 2 possibilities 1. 2. 4/33

How Many Possibilities? 1 symbol, 2 possibilities 2 symbols, 4 possibilities 1., 2., 3., 4., 4/33

How Many Possibilities? 1 symbol, 2 possibilities 2 symbols, 4 possibilities 3 symbols, 8 possibilities 1.,, 2.,, 3.,, 4.,, 5.,, 6.,, 7.,, 8.,, 4/33

How Many Possibilities? 1 symbol, 2 possibilities 2 symbols, 4 possibilities 3 symbols, 8 possibilities 4 symbols, 16 possibilities 4/33

How Many Possibilities? 1 symbol, 2 possibilities 2 symbols, 4 possibilities 3 symbols, 8 possibilities 4 symbols, 16 possibilities 5 symbols, 32 possibilities 4/33

How Many Possibilities? 1 symbol, 2 possibilities 2 symbols, 4 possibilities 3 symbols, 8 possibilities 4 symbols, 16 possibilities 5 symbols, 32 possibilities 6 symbols, 64 possibilities 4/33

How Many Possibilities? 1 symbol, 2 possibilities 2 symbols, 4 possibilities 3 symbols, 8 possibilities 4 symbols, 16 possibilities 5 symbols, 32 possibilities 6 symbols, 64 possibilities... 4/33

How Many Possibilities? 1 symbol, 2 possibilities 2 symbols, 4 possibilities 3 symbols, 8 possibilities 4 symbols, 16 possibilities 5 symbols, 32 possibilities 6 symbols, 64 possibilities... 20 symbols, 1.048.576 possibilities 4/33

How Many Possibilities? 1 symbol, 2 possibilities 2 symbols, 4 possibilities 3 symbols, 8 possibilities 4 symbols, 16 possibilities 5 symbols, 32 possibilities 6 symbols, 64 possibilities... 20 symbols, 1.048.576 possibilities 30 symbols, 1.073.741.824 possibilities 4/33

How Many Possibilities? 1 symbol, 2 possibilities 2 symbols, 4 possibilities 3 symbols, 8 possibilities 4 symbols, 16 possibilities 5 symbols, 32 possibilities 6 symbols, 64 possibilities... n symbols 2 n possibilities 20 symbols, 1.048.576 possibilities 30 symbols, 1.073.741.824 possibilities 4/33

Guess & Check Problems observation in our BOX game: finding a solution is hard 2 n solution candidates have to be considered a good oracle is needed for guessing verifying a given candidate solution is easy check that each box contains a purple symbol 5/33

Guess & Check Problems observation in our BOX game: finding a solution is hard 2 n solution candidates have to be considered a good oracle is needed for guessing verifying a given candidate solution is easy check that each box contains a purple symbol fundamental question in computer science: The P = NP Question Is searching for a solution harder than verifying a solution? (unfortunately, the answer is not known) 5/33

Famous Guess & Check Problem: SAT SAT is the decision problem of propositional logic: Given a Boolean formula, for example ( x y) (x y) ( x z) (y z). Question: is the formula satisfiable? I.e., is there an assignment of truth values 1 (true), 0 (false) to the literals x, y, z, x, y, z such that for every variable v {x, y, z} it holds that the truth value of v and the truth value of v are different each clause (...) contains at least one true literal 6/33

Famous Guess & Check Problem: SAT SAT is the decision problem of propositional logic: Given a Boolean formula, for example ( x y) (x y) ( x z) (y z). Question: is the formula satisfiable? I.e., is there an assignment of truth values 1 (true), 0 (false) to the literals x, y, z, x, y, z such that for every variable v {x, y, z} it holds that the truth value of v and the truth value of v are different each clause (...) contains at least one true literal Cook-Levin Theorem [71]: SAT is NP-complete Searching is as easy as checking if and only if it is for SAT. 6/33

Relating BOX and SAT There is a correspondence between BOX and SAT, e.g., between and ( x y) (x y) ( x z) (y z) : 7/33

Relating BOX and SAT There is a correspondence between BOX and SAT, e.g., between and ( x y) (x y) ( x z) (y z) : x corresponds to, x corresponds to y corresponds to, y correpsonds to z corresponds to, z corresponds to purple/green coloring corresponds to assignment of literals to true/false (1/0) 7/33

Relating BOX and SAT There is a correspondence between BOX and SAT, e.g., between and ( x y) (x y) ( x z) (y z) : x corresponds to, x corresponds to y corresponds to, y correpsonds to z corresponds to, z corresponds to purple/green coloring corresponds to assignment of literals to Note: true/false (1/0) 7/33

Relating BOX and SAT There is a correspondence between BOX and SAT, e.g., between and ( x y) (x y) ( x z) (y z) : x corresponds to, x corresponds to y corresponds to, y correpsonds to z corresponds to, z corresponds to purple/green coloring corresponds to assignment of literals to Note: true/false (1/0) assignment of variables gives values of all literals if we can solve SAT, we can solve BOX (and vice versa) 7/33

Practical Applications of SAT Solving formal verification bioinformatics train safety planning & scheduling security theorem proving encode SAT solver decode 8/33

Logics in this Lecture In this lecture, we consider different logic-based languages: propositional logic (SAT) simple language: only atoms and connectives low expressiveness, low complexity very successful in industry (e.g., verification) first-order logic (predicate logic) rich language: predicates, functions, terms, quantifiers great power of expressiveness, high complexity many applications in mathematics and verification satisfiability modulo theories (SMT) customizable language: user decides as much expressiveness as required as much complexity as necessary very popular and successful in industry 9/33

Logic-Based Languages (Logics) A logic consists of a set of symbols (like,,,,,,...) a set of variables (like x, y, z,...) concise syntax: well-formedness of expressions concise semantics: meaning of expressions Logics support reasoning for derivation of new knowledge proving the truth/falsity of a statement (satisfiability checking) Different logics differ in their truth values: binary (true, false), multi-valued (true, false, unknown), fuzzy (between 0 and 1, e.g., [0, 1] as subset of the real numbers) expressiveness (what can be formulated in the logic?) complexity (how expensive is reasoning?) 10/33

PROPOSITIONAL LOGIC

Propositions a proposition is an atomic statement that is either true or false example: Alice comes to the party. It rains. with connectives, propositions can be combined example: Alice comes to the party, Bob as well, but not Cecile. If it rains, the street is wet. 11/33

Propositional Logic two truth values (Boolean domain): true/false, verum/falsum, on/off, 1/0 language elements atomic propositions (atoms, variables) no internal structure either true or false logic connectives: not ( ), and ( ), or ( ),... operators for construction of composite propositions concise meaning argument(s) and return value from Boolean domain parenthesis example: formula of propositional logic: ( t s) (t s) ( t s) atoms: t, s, connectives:,,, parenthesis for structuring the expression 12/33

Background historical origins: ancient Greeks in philosophy, mathematics, and computer science two very basic principles: Law of Excluded Middle: a proposition is true or its negation is true Law of Contradiction: no expression is both true and false at the same time very simple language no objects, no arguments to propositions no functions, no quantifiers solving is easy (relative to other logics) many applications in industry 13/33

Syntax: Structure of Propositional Formulas we build a propositional formula using the following components: literals: variables x, y, z,... negated variables x, y, z,... truth constants: (verum) and (falsum) negated truth constants: and clauses: disjunction ( ) of literals x y x y z z 14/33

Syntax: Structure of Propositional Formulas A propositional formula is a conjunction ( ) of clauses. examples of formulas: x y z ( x y z) z x (x y) (x y z) (y z) y ((l 11... l 1m1 )... (l n1... l nmn )) Remark: For the moment, we consider formulas of a restricted structure called CNF, e.g., we do not consider formulas like (x y) ( x z). Any propositional formula can be translated into this structure. We will relax this restriction later. 15/33

Conventions we use the following conventions unless stated otherwise: a, b, c, x, y, z denote variables and l, k denote literals φ, ψ, γ denote arbitrary formulas C, D denote clauses clauses are also written as sets (l 1... l n ) = {l 1,... l n } to add a literal l to clause C, we write C {l} to remove a literal l from clause C, we write C\{l} formulas in CNF are also written as sets of sets ((l 11... l 1m1 )... (l n1... l nmn )) = {{l 11,... l 1m1 },..., {l n1,... l nmn }} to add a clause C to CNF φ, we write φ {C} to remove a clause C from CNF φ, we write φ\{c} 16/33

Negation unary connective (operator with exactly one argument) negating the truth value of its argument alternative notation:!x, x, x, NOT x truth table: x x 0 1 1 0 example: If the atom It rains. is true then the negation It does not rain. is false. If the propositional variable a is true then a is false. If the propositional variable a is false then a is true. 17/33

Disjunction a disjunction is true iff at least one of the arguments is true alternative notation for l k: l k, l + k, l OR k For (l 1... l n ) we also write n i=1 l i. truth table: l k l k 0 0 0 0 1 1 1 0 1 1 1 1 example: (a a) is always true. ( a) is always true. ( a) is true if a is true. 18/33

Conjunction a conjunction is true iff both arguments are true alternative notation for C D: C && D, CD, C D, C D, C AND D for (C 1... C n ) we also write n i=1 C i. truth table: C D C D 0 0 0 0 1 0 1 0 0 1 1 1 example: (a a) is always false. ( a) is true if a is true. ( φ) is always false. If (a b) is true and ( c d) is true then (a b) ( c d) is true. 19/33

Properties of Connectives rules of precedence: binds stronger than binds stronger than example a b c d is the same as ( a) (b ( c)) d, but not (( a) b) (( c) d) put clauses into parentheses! associativity: is associative and commutative is associative and commutative example (a b) c is the same as a (b c) (a b) c is the same as a (b c) 20/33

Assignment a variable can be assigned one of two values from the two-valued domain B, where B = {1, 0} the mapping ν : P B is called assignment, where P is the set of atomic propositions we sometimes write an assignment ν as set V with V P { x x P} such that x V iff ν(x) = 1 x V iff ν(x) = 0 for n variables, there are 2 n assignments possible an assignment corresponds to one line in the truth table 21/33

Assignment: Example x y z x y z (x y) z 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 one assignment: ν(x) = 1, ν(y) = 0, ν(z) = 1 alternative notation: V = {x, y, z} observation: A variable assignment determines the truth value of the formulas containing these variables. 22/33

Semantics of Propositional Logic Let P be the set of atomic propositions (variables) and L be the set of all propositional formulas over P that are syntactically correct (i.e., all possible conjunctions of clauses over P). Given assignment ν : P B, the interpretation [.] ν : L B is defined by: [ ] ν = 1, [ ] ν = 0 if x P then [x] ν = ν(x) [ x] ν = 1 iff [x] ν = 0 [C] ν = 1 (where C is a clause) iff there is at least one literal l with l C and [l] ν = 1 [φ] ν = 1 (where φ is in CNF) iff for all clauses C φ it holds that [C] ν = 1 23/33

Satisfying/Falsifying Assignments an assignment ν is called satisfying a formula φ iff [φ] ν = 1 falsifying a formula φ iff [φ] ν = 0 a satisfying assignment for φ is a model of φ a falsifying assignment for φ is a counter-model of φ example: For formula ((x y) z), {x, y, z} is a counter-model, {x, y, z} is a model. 24/33

SAT-Solver Limboole available at http://fmv.jku.at/limboole input: 1 variables are strings over letters, digits and _. [ ] $ @ negation symbol is! disjunction symbol is conjunction symbol is & example (a b c) ( a b) c is represented as (a b!c) & (!a b) & c 1 For now, we will only use subset of the language supported by Limboole. 25/33

Properties of Propositional Formulas (1/2) formula φ is satisfiable iff there exists an assignment ν with [φ] ν = 1 check with limboole -s formula φ is valid iff for all assignments ν it holds that [φ] ν = 1 check with limboole formula φ is refutable iff there exists an assignment ν with [φ] ν = 0 check with limboole formula φ is unsatisfiable iff for all assignments ν it holds that [φ] ν = 0 check with limboole -s 26/33

Properties of Propositional Formulas (2/2) a valid formula is called tautology an unsatisfiable formula is called contradiction example: is valid. a a is a tautology. (a b) ( a b) is refutable. is unsatisfiable. a a is a contradiction. (a b) ( a b) is satisfiable. 27/33

SAT: The Boolean Satisfiability Problem Given a propositional formula φ. Is there an assignment that satisfies φ? different formulation: can we find an assignment such that each clause contains at least one true literal? 28/33

Encoding the k-coloring Problem Given graph (V, E) with vertices V and edges E. Color each node with one of k colors, such that there is no edge (v, w) E, with vertices v and w colored in the same color. encoding: 1. propositional variables: v j... node v V has color j (1 j k) 2. each node has a color: ( v j ) v V 1 j k 3. each node has just one color: ( v i v j ) with v V, 1 i < j k 4. neighbors have different colors: ( v i w i ) with (v, w) E, 1 i k 29/33

Encoding the k-coloring Problem: Example task: find 2-coloring of graph ({a, b, c}, {(a, b), (b, c)}) with SAT possible solution: a b c encoding in SAT: 30/33

Encoding the k-coloring Problem: Example task: find 2-coloring of graph ({a, b, c}, {(a, b), (b, c)}) with SAT possible solution: a b c encoding in SAT: variables: a 1, a 2, b 1, b 2, c 1, c 2 30/33

Encoding the k-coloring Problem: Example task: find 2-coloring of graph ({a, b, c}, {(a, b), (b, c)}) with SAT possible solution: a b c encoding in SAT: variables: a 1, a 2, b 1, b 2, c 1, c 2 clauses: 1. each node has a color: (a 1 a 2 ), (b 1 b 2 ), (c 1 c 2 ) 2. no node has two colors: ( a 1 a 2 ), ( b 1 b 2 ), ( c 1 c 2 ) 3. connected nodes have a different color: ( a 1 b 1 ), ( a 2 b 2 ), ( b 1 c 1 ), ( b 2 c 2 ) 30/33

Encoding the k-coloring Problem: Example task: find 2-coloring of graph ({a, b, c}, {(a, b), (b, c)}) with SAT possible solution: a b c encoding in SAT: variables: a 1, a 2, b 1, b 2, c 1, c 2 clauses: 1. each node has a color: (a 1 a 2 ), (b 1 b 2 ), (c 1 c 2 ) 2. no node has two colors: ( a 1 a 2 ), ( b 1 b 2 ), ( c 1 c 2 ) 3. connected nodes have a different color: ( a 1 b 1 ), ( a 2 b 2 ), ( b 1 c 1 ), ( b 2 c 2 ) full formula: (a 1 a 2 ) (b 1 b 2 ) (c 1 c 2 ) ( a 1 a 2 ) ( b 1 b 2 ) ( c 1 c 2 ) ( a 1 b 1 ) ( a 2 b 2 ) ( b 1 c 1 ) ( b 2 c 2 ) 30/33

Resolution the resolution calculus consists of the single resolution rule x C x D C D C and D are (possibly empty) clauses the clause C D is called resolvent variable x is called pivot antecedent clauses x C and x D are NOT tautological the resolution calculus works only on formulas in CNF if the empty clause can be derived then the formula is unsatisfiable if the formula is unsatisfiable, then the empty clause can be derived 31/33

Examples of Applying the Resolution Rule one application of resolution x y z x y z y z y derivation of empty clause: y y derivation of tautology: x a x a a a incorrect application of the resolution rule: x a x x a???? 32/33

Resolution Example We prove unsatisfiability of {( x 1 x 5 ), (x 4 x 5 ), (x 2 x 4 ), (x 3 x 4 ), ( x 2 x 3 ), (x 1 x 4 x 6 ), (x 6 )} as follows: x 1 x 5 x 4 x 5 x 2 x 4 x 3 x 4 x 2 x 3 x 1 x 4 x 6 x 6 x 2 x 4 x 4 x 5 x 1 x 6 x 1 x 1 33/33