-ip = ->p = p = (\ = ->q = r .

Draw data matrix barcode on .netuse visual .net ecc200 encoder toaccess datamatrix 2d barcode in .net

Now we can use (5.4) and (5.15) to reduce the number of occurrences of 'p' and '<2' to at most one (possibly negated). In this particular example we obtain true = p = false = r . Finally, we use (5.4) and (5.15) again. The result is that the original formula is simplified to

Data Matrix barcode library for .netUsing Barcode recognizer for .net framework Control to read, scan read, scan image in .net framework applications.

5: Calculational Logic: Part 1

Insert bar code on .netusing .net todraw bar code for asp.net web,windows application

Just as before, this process can be compared with the simplification of an arithmetic expression involving continued addition, where now negative terms may also appear. The expression is simplified to

Encode barcode for .netgenerate, create barcode none for .net projects

q + 2r

Embed datamatrix 2d barcode in visual c#generate, create gs1 datamatrix barcode none in c# projects

by counting all the occurrences of p, q and r, an occurrence of -p cancelling out an occurrence of p. Again the details are different but the process is essentially identical. The two laws (5.4) and (5.15) are all that is needed to define the way that negation interacts with equivalence; using these two laws we can derive several other laws. A simple example of how these two laws are combined is a proof that -> false = true: --false = { false = false { true . Let us now see how associativity of equivalence is used in a simple calculation. We investigate the expression -<(p = q) to see whether it is possible to distribute negation through equivalence: { p = q = false { the law ^p = p = false with p := q } the law ~^p = p = fa\se with p := (p = q) } law true = p = p with p := false } law ->p = p = false with p := false }

Control data matrix data for .netto use barcode data matrix and ecc200 data, size, image with .net barcode sdk

p = -^q . We have thus proved

Control data matrix 2d barcode data in vb.netto embed data matrix barcodes and gs1 datamatrix barcode data, size, image with vb.net barcode sdk

[Inequivalence] ->(p = q) = p = -^q . (5.16) Note how associativity of equivalence has been used silently in this calculation. Note also how associativity of equivalence in the summary of the calculation gives us two properties for the price of one. The first is the one proved directly:

Datamatrix 2d Barcode barcode library with .netusing .net crystal todeploy data matrix ecc200 in asp.net web,windows application

^(P = q) = (p = ^q) , the second comes free with associativity:

GTIN - 128 maker with .netusing .net vs 2010 toget gs1 barcode for asp.net web,windows application

5.6 Negation

VS .NET Crystal barcode writer on .netusing visual studio .net crystal touse barcode for asp.net web,windows application

The proposition -*(p = q) is usually written p q. The operator is called inequivalence (or exclusive-or, abbreviated xor). As a final worked example, we show that inequivalence associates with equivalence:

QR-Code drawer on .netusing barcode printer for .net framework crystal control to generate, create qrcode image in .net framework crystal applications.

{ =Y

Barcode 2 Of 5 generating with .netuse .net vs 2010 barcode 2 of 5 drawer touse barcode 2 of 5 for .net

expanding the definition of p q }

~i(p = q) = P = -^ I

Qrcode encoding for visual c#generate, create qr code iso/iec18004 none on visual c#.net projects

->(p=q) = Y

Control ucc-128 data for c#to attach ean 128 barcode and gs1-128 data, size, image with .net c# barcode sdk

using symmetry of equivalence, the law (5.16) is applied in the form -^(p = q) = ->q = p with p,q := q,r }

2D Barcode barcode library for .netgenerate, create 2d barcode none for .net projects

p = -i(q = r)

GS1 - 13 encoder for vbusing .net tocompose ean / ucc - 13 for asp.net web,windows application

= { definition of q r }

Control qr-code image with javausing java tobuild qr code 2d barcode with asp.net web,windows application

p = (q r) .

Upc Barcodes barcode library on javagenerate, create universal product code version a none in java projects

Exercise 5.17. Simplify the following. (Note that in each case it does not matter in which order you evaluate the subexpressions. Also, rearranging the variables and/or constants does not make any difference.) (a) false false ^ false . (b) true true true ^ true . (c) false true false true .

Control qr-codes data with word documentsto get quick response code and denso qr bar code data, size, image with office word barcode sdk

(d) p = p = -ip = p = -^p .

(e) p q = q = p (f)p q =r =p (g) p = p ->p (h) p = p ->p

. . p = ~^p . p = -ip ->p .

Exercise 5.18. Using only equivalences and/or inequivalences, formalize the following statements. (a) None or both of p and q is true. (b) Exactly one of p and q is true. (c) Zero, two, or four of p, q, r and 5 is true. (d) One or three of p, q, r and 5 is true. Exercise 5.19. Prove that -> true = false. D D

5: Calculational Logic: Part 1 Exercise 5.20 (Double Negation). Prove the rule of double negation

-.-.p = p .

Exercise 5.21. The proof that inequivalence and equivalence associate with each other is summarized in the law any parenthesization being allowed, hi addition, any rearrangement of the variables is allowed because both equivalence and inequivalence are symmetric. Use these observations to list as many individual properties of equivalence and inequivalence as you can. In particular, deduce that inequivalence is associative.

Exercise 5.22 (Encryption). The fact that inequivalence is associative, that is

(p (q_ r}) = ((p q) r) ,

is used to encrypt data. To encrypt a single bit b of data, a key a is chosen and the encrypted form of b that is transmitted is a ^ b. The receiver decrypts the received bit, c, using the same operation4. That is, the receiver uses the same key a to compute a c. Show that, if bit b is encrypted and then decrypted in this way, the result is b independently of the key a. D Exercise 5.23. Let us return to the island of knights and knaves. In this question, there are two natives, A and B. Now, A says, 'B is a knight is the same as I am a knave'. What can you determine about A and B D Exercise 5.24. On the island of knights and knaves, you encounter two natives, A and B. What question should you ask A to determine whether A and B are different types D

5.7 Summary

In this chapter, we have explored the basic properties of equivalence (the equality of boolean values), negation and inequivalence. Equivalence is highly unusual in that it is reflexive, symmetric, transitive and associative. Inequivalence is symmetric and also associative. We have shown how these properties are exploited in a variety of situations and we have begun the introduction of an axiomatization of the logical connectives. See the appendix for a list of properties that have been established.

4 This operation is usually called 'exclusive-or' in texts on data encryption; it is not commonly known that exclusive-or and inequivalence are the same. Inequivalence can be replaced by equivalence in the encryption and decryption process. But, very few scientists and engineers are aware of the algebraic properties of equivalence, and this possibility is never exploited!

5.7 Summary