=====discrete Keyword 1=====
**//Right Complementation//**
====Definition====
When given a Truth Table, you see two columns of two different values that are related to each other and show opposite relationships, most of the time they are represented by F for false and T for true. Right Complementation is the opposite of the second column, or the right one. When representing each of the results for a 4 by 2 table, there are 16 possible results, one of them being the right complementation, which is actually represented by negation q.
====References====
* Matt Haas
* http://en.wikipedia.org/wiki/Truth_table
=====discrete Keyword 1 Phase 2=====
equivalence/if and only if
====Definition====
The opposite of an XOR, if something is T and T, then it would be T when applied.
====References====
* http://mathworld.wolfram.com/XNOR.html
====Demonstration====
Demonstration of the indicated keyword.
The following is the code used to demonstrate if and only if/equivalence and the resulting output when the program is run:
1 #include
2
3 char logicor( char, char );
4
5 char logiciff( char a, char b )
6 {
7 char x;
8 if(a == b)
9 x = 1;
10 else
11 x = 0;
12 return(x);
13 }
14
15 int main()
16 {
17 char p = 1;
18 char q = 1;
19
20 // Printing the OR Truth Table
21
22 printf("\nTreat 0 as false, and 1 as true.\n\tXOR Truth Table:\n\n");
23 printf("\t P | Q | X \n");
24 printf("\t___________\n");
25
26 // Printing the first set of values (values for p, q, and the result of p|q)
27
28 printf("\t %d | %d | %d \n", p, q, logiciff( p, q ));
29 q = 0;
30 printf("\t %d | %d | %d \n", p, q, logiciff( p, q ));
31 p = 0;
32 q = 1;
33 printf("\t %d | %d | %d \n", p, q, logiciff( p, q ));
34 q = 0;
35 printf("\t %d | %d | %d \n\n", p, q, logiciff( p, q ));
36
37 // Printing PART 3
38
39 /* printf("\tOR Truth Table comparing X and Q:\n\n");
40 printf("\t P | Q | X | ( X|Q )\n");
41 printf("\t____________________\n");
42
43 p = 1;
44 q = 1;
45
46 printf("\t %d | %d | %d | %d \n", p, q, logicor( p, q ), logicor( logicor( p, q ), q ));
47 q = 0;
48 printf("\t %d | %d | %d | %d \n", p, q, logicor( p, q ), logicor( logicor( p, q ), q ));
49 p = 0;
50 q = 1;
51 printf("\t %d | %d | %d | %d \n", p, q, logicor( p, q ), logicor( logicor( p, q ), q ));
52 q = 0;
53 printf("\t %d | %d | %d | %d \n", p, q, logicor( p, q ), logicor( logicor( p, q ), q ));*/
54 return(0);
55 }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~/src/opus/opus1$ ./iff
Treat 0 as false, and 1 as true.
XOR Truth Table:
P | Q | X
___________
1 | 1 | 1
1 | 0 | 0
0 | 1 | 0
0 | 0 | 1
lab46:~/src/opus/opus1$