Fitting lemma: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>ZéroBot
m r2.7.1) (Robot: Adding fr:Lemme de Fitting
 
en>Addbot
m Bot: Migrating 2 interwiki links, now provided by Wikidata on d:q3229338
 
Line 1: Line 1:
Roberto is the name Our love to be titled with though I generally really like being called like that. My visitors say it's not superior for me but the I love doing is to bake but I'll be thinking on starting new things. South Carolina is where personal home is. [http://Mondediplo.com/spip.php?page=recherche&recherche=Software+developing Software developing] is how My spouse and i support my family. You can believe my website here: http://circuspartypanama.com/<br><br>
{{multiple issues|
{{Tone|date=February 2009}}
{{Refimprove|date=October 2010}}
This article '''presents an incomplete view of the subject'''.
}}
In [[Boolean algebra (logic)|Boolean algebra]], any [[Boolean function]] can be put into the '''canonical disjunctive normal form''' ('''CDNF''') or '''minterm canonical form''' and its dual '''canonical conjunctive normal form''' ('''CCNF''') or '''maxterm canonical form'''. Other canonical forms include the complete sum of prime implicants or [[Blake canonical form]] (and its dual), and the [[algebraic normal form]]  (also called Zhegalkin or Reed–Muller).


My blog post; [http://circuspartypanama.com/ clash of clans hack free download no survey]
''Minterms'' are called products because they are the [[logical AND]] of a set of variables, and ''maxterms'' are called sums because they are the [[logical OR]] of a set of variables. These concepts are dual because of their complementary-symmetry relationship as expressed by [[De Morgan's laws]].
 
Two dual canonical forms of ''any'' Boolean function are a "sum of minterms" and a "product of maxterms." The term "'''Sum of Products'''" or "'''SoP'''" is widely used for the canonical form that is a disjunction (OR) of minterms. Its [[De Morgan dual]] is a "'''Product of Sums'''" or "'''PoS'''" for the canonical form that is  a conjunction (AND) of maxterms. These forms allow for greater analysis into the simplification of these functions, which is of great importance in the minimization or other optimization of Boolean formulas in general and digital circuits in particular.
 
==Summary==
One application of Boolean algebra is digital circuit design.  The goal may be to minimize the number of gates, to minimize the settling time, etc.
 
There are sixteen possible functions of two variables, but in digital logic hardware, the simplest gate circuits implement only four of them: ''[[logical conjunction|conjunction]]'' (AND), ''[[logical disjunction|disjunction]]'' (inclusive OR), and the complements of those (NAND and NOR).
 
Most gate circuits accept more than 2 input variables; for example, the spaceborne [[Apollo Guidance Computer]], which pioneered the application of integrated circuits in the 1960s, was built with only one type of gate, a 3-input NOR, whose output is true only when all 3 inputs are false.<ref>Eldon C. Hall, Journey to the Moon: The History of the Apollo Guidance Computer, AIAA 1996.  ISBN 1-56347-185-X</ref>
 
==Minterms==
For a [[boolean function]] of <math>n</math> variables <math>{x_1,\dots,x_n}</math>, a [[product term]] in which each of the <math>n</math> variables appears '''once''' (in either its complemented or uncomplemented form) is called a ''minterm''. Thus, a ''minterm'' is a logical expression of ''n'' variables that employs only the ''complement'' operator and the ''conjunction'' operator.
 
For example, <math>abc</math>, <math>ab'c</math> and <math>abc'</math> are 3 examples of the 8 minterms for a Boolean function of the three variables <math>a</math>, <math>b</math>, and <math>c</math>. The customary reading of the last of these is ''a AND b AND NOT-c''.
 
There are 2<sup>''n''</sup> minterms of ''n'' variables, since a variable in the minterm expression can be in either its direct or its complemented form—two choices per ''n'' variables.
 
=== Indexing minterms ===
 
Minterms are often numbered by a binary encoding of the complementation pattern of the variables, where the variables are written in a standard order, usually alphabetical. This convention assigns the value 1 to the direct form (<math>x_i</math>) and 0 to the complemented form (<math>x'_i</math>); the minterm is then the sum of <math>2^i\operatorname{value}(x_i)</math>. For example, minterm <math>a b c'</math> is numbered 110<sub>2</sub>&nbsp;=&nbsp;6<sub>10</sub> and denoted <math>m_6</math>.
 
===Functional equivalence===
A given minterm ''n'' gives a true value (i.e., 1) for just one combination of the input variables. For example, minterm 5, ''a'' ''b''<nowiki>'</nowiki> ''c'', is true only when ''a'' and ''c'' both are true and ''b'' is false—the input arrangement where ''a'' = 1, ''b'' = 0, ''c'' = 1 results in 1.
 
Given the [[truth table]] of a logical function, it is possible to write the function as a "sum of products". This is a special form of [[disjunctive normal form]]. For example, if given the truth table for the arithmetic sum bit ''u'' of one bit position's logic of an adder circuit, as a function of ''x'' and ''y'' from the addends and the carry in, ''ci'':
 
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|ci
!width="50"|x
!width="50"|y
!width="50"|u(ci,x,y)
|-
|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
|}
 
Observing that the rows that have an output of 1 are the 2nd, 3rd, 5th, and 8th, we can write ''u'' as a sum of minterms <math>m_1, m_2, m_4,</math> and <math>m_7</math>. If we wish to verify this: <math> u(ci,x,y) = m_1 + m_2 + m_4 + m_7 = (ci',x',y)+(ci',x,y') + (ci,x',y')+(ci,x,y)</math> evaluated for all 8 combinations of the three variables will match the table.
 
== Maxterms ==
For a [[boolean function]] of <math>n</math> variables <math>{x_1,\dots,x_n}</math>, a sum term in which each of the <math>n</math> variables appears '''once''' (in either its complemented or uncomplemented form) is called a ''maxterm''. Thus, a ''maxterm'' is a logical expression of ''n'' variables that employs only the ''complement''  operator and the ''disjunction'' operator. Maxterms are a dual of the minterm idea (i.e., exhibiting a complementary symmetry in all respects). Instead of using ANDs and complements, we use ORs and complements and proceed similarly.
 
For example, the following are two of the eight maxterms of three variables:
: ''a'' + ''b''<nowiki>'</nowiki> + ''c''
: ''a''<nowiki>'</nowiki> + ''b'' + ''c''
 
There are again 2<sup>''n''</sup> maxterms of ''n'' variables, since a variable in the maxterm expression can also be in either its direct or its complemented form—two choices per ''n'' variables.
 
=== Indexing maxterms===
Each maxterm is assigned an index based on the opposite conventional binary encoding used for minterms. The maxterm convention assigns the value 0 to the direct form <math>(x_i)</math> and 1 to the complemented form <math>(x'_i)</math>. For example, we assign the index 6 to the maxterm <math>a' + b' + c</math> (110) and denote that maxterm as ''M''<sub>6</sub>. Similarly ''M''<sub>0</sub> of these three variables is <math>a + b + c</math> (000) and ''M''<sub>7</sub> is <math>a' + b' + c'</math> (111).
 
===Functional equivalence===
It is apparent that maxterm ''n'' gives a ''false'' value (i.e., 0) for just one combination of the input variables. For example, maxterm 5, ''a''<nowiki>'</nowiki> + ''b'' + ''c''<nowiki>'</nowiki>, is false only when ''a'' and ''c'' both are true and ''b'' is false—the input arrangement where a = 1, b = 0, c = 1 results in 0.
 
If one is given a [[truth table]] of a logical function, it is possible to write the function as a "product of sums". This is a special form of [[conjunctive normal form]]. For example, if given the truth table for the carry-out bit ''co'' of one bit position's logic of an adder circuit, as a function of ''x'' and ''y'' from the addends and the carry in, ''ci'':
 
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|ci
!width="50"|x
!width="50"|y
!width="50"|co(ci,x,y)
|-
|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
|}
 
Observing that the rows that have an output of 0 are the 1st, 2nd, 3rd, and 5th, we can write ''co'' as a product of maxterms <math>M_0, M_1, M_2,</math> and <math>M_4</math>. If we wish to verify this:
''co''(''ci, x, y'') = <math>M_0 M_1 M_2 M_4</math> = (''ci + x + y'') (''ci + x + y''<nowiki>'</nowiki>) (''ci + x' + y'') (''ci' + x + y'')
evaluated for all 8 combinations of the three variables will match the table.
 
==Dualization==
The complement of a minterm is the respective maxterm. This can be easily verified by using [[de Morgan's law]]. For example:
<math>M_5 = a' + b + c' = (a b' c)' = m_5'</math>
 
==Non-canonical PoS and SoP forms==
It is often the case that the canonical minterm form can be simplified to an equivalent SoP form.
This simplified form would still consist of a sum of product terms. However, in the simplified form,
it is possible to have fewer product terms and/or product terms that contain fewer variables.
For example, the following 3-variable function:
 
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|a
!width="50"|b
!width="50"|c
!width="50"|f(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||0
|-
|1||1||0||0
|-
|1||1||1||1
|}
 
has the canonical minterm representation:
<math>f = a'bc + abc</math>, but it has an equivalent simplified form:
<math>f = bc</math>.
In this trivial example, it is obvious that <math>bc = a'bc + abc</math>, but the simplified form has both fewer product terms,
and the term has fewer variables.
The most simplified SoP representation of a function is referred to as a ''minimal SoP form''.
 
In a similar manner, a canonical maxterm form can have a simplified PoS form.
 
While this example was easily simplified by applying normal algebraic methods [<math>f = (a' + a) b c</math>], in less obvious cases a convenient method for finding the minimal PoS/SoP form of a function with up to four variables is using a [[Karnaugh map]].
 
The minimal PoS and SoP forms are very important for finding optimal implementations of boolean functions
and minimizing logic circuits.
 
==Application example==
The sample truth tables for minterms and maxterms above are sufficient to establish the canonical form for a single bit position in the addition of binary numbers, but are not sufficient to design the digital logic unless your inventory of gates includes AND and OR. Where performance is an issue (as in the Apollo Guidance Computer), the available parts are more likely to be NAND and NOR because of the complementing action inherent in transistor logic. The values are defined as voltage states, one near ground and one near the DC supply voltage V<sub>cc</sub>, e.g. +5 VDC. If the higher voltage is defined as the 1 "true" value, a NOR gate is the simplest possible useful logical element.
 
Specifically, a 3-input NOR gate may consist of 3 bipolar junction transistors with their emitters all grounded, their collectors tied together and linked to V<sub>cc</sub> through a load impedance. Each base is connected to an input signal, and the common collector point presents the output signal.  Any input that is a 1 (high voltage) to its base shorts its transistor's emitter to its collector, causing current to flow through the load impedance, which brings the collector voltage (the output) very near to ground. That result is independent of the other inputs. Only when all 3 input signals are 0 (low voltage) do the emitter-collector impedances of all 3 transistors remain very high.  Then very little current flows, and the voltage-divider effect with the load impedance imposes on the collector point a high voltage very near to V<sub>cc</sub>.
 
The complementing property of these gate circuits may seem like a drawback when trying to implement a function in canonical form, but there is a compensating bonus: such a gate with only one input implements the complementing function, which is required frequently in digital logic.
 
This example assumes the Apollo parts inventory: 3-input NOR gates only, but the discussion is simplified by supposing that 4-input NOR gates are also available (in Apollo, those were compounded out of pairs of 3-input NORs).
 
===Canonical and non-canonical consequences of NOR gates===
Fact #1: a set of 8 NOR gates, if their inputs are all combinations of the direct and complement forms of the 3 input variables ''ci, x,'' and ''y'', always produce minterms, never maxterms—that is, of the 8 gates required to process all combinations of 3 input variables, only one has the output value 1.  That's because a NOR gate, despite its name, could better be viewed (using De Morgan's law) as the AND of the complements of its input signals.
 
Fact #2: the reason Fact #1 is not a problem is the duality of minterms and maxterms, i.e. each maxterm is the complement of the like-indexed minterm, and vice versa.
 
In the minterm example above, we wrote <math>u(ci, x, y) = m_1 + m_2 + m_4 + m_7</math> but to perform this with a 4-input NOR gate we need to restate it as a product of sums (PoS), where the sums are the opposite maxterms.  That is,
 
<math>u(ci, x, y)</math> = AND(<math>M_0,M_3,M_5,M_6</math>) = NOR(<math>m_0,m_3,m_5,m_6</math>). Truth tables:
 
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|ci
!width="50"|x
!width="50"|y
!width="50"|M<sub>0</sub>
!width="50"|M<sub>3</sub>
!width="50"|M<sub>5</sub>
!width="50"|M<sub>6</sub>
!width="50"|AND
!width="50"|u(ci,x,y)
|-
|0||0||0||0||1||1||1||0||0
|-
|0||0||1||1||1||1||1||1||1
|-
|0||1||0||1||1||1||1||1||1
|-
|0||1||1||1||0||1||1||0||0
|-
|1||0||0||1||1||1||1||1||1
|-
|1||0||1||1||1||0||1||0||0
|-
|1||1||0||1||1||1||0||0||0
|-
|1||1||1||1||1||1||1||1||1
|}
&nbsp;
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|ci
!width="50"|x
!width="50"|y
!width="50"|m<sub>0</sub>
!width="50"|m<sub>3</sub>
!width="50"|m<sub>5</sub>
!width="50"|m<sub>6</sub>
!width="50"|NOR
!width="50"|u(ci,x,y)
|-
|0||0||0||1||0||0||0||0||0
|-
|0||0||1||0||0||0||0||1||1
|-
|0||1||0||0||0||0||0||1||1
|-
|0||1||1||0||1||0||0||0||0
|-
|1||0||0||0||0||0||0||1||1
|-
|1||0||1||0||0||1||0||0||0
|-
|1||1||0||0||0||0||1||0||0
|-
|1||1||1||0||0||0||0||1||1
|}
 
In the maxterm example above, we wrote <math>co(ci, x, y) = M_0 M_1 M_2 M_4</math> but to perform this with a 4-input NOR gate we need to notice the equality to the NOR of the same minterms.  That is,
 
<math>co(ci, x, y)</math> = AND(<math>M_0,M_1,M_2,M_4</math>) = NOR(<math>m_0,m_1,m_2,m_4</math>). Truth tables:
 
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|ci
!width="50"|x
!width="50"|y
!width="50"|M<sub>0</sub>
!width="50"|M<sub>1</sub>
!width="50"|M<sub>2</sub>
!width="50"|M<sub>4</sub>
!width="50"|AND
!width="50"|co(ci,x,y)
|-
|0||0||0||0||1||1||1||0||0
|-
|0||0||1||1||0||1||1||0||0
|-
|0||1||0||1||1||0||1||0||0
|-
|0||1||1||1||1||1||1||1||1
|-
|1||0||0||1||1||1||0||0||0
|-
|1||0||1||1||1||1||1||1||1
|-
|1||1||0||1||1||1||1||1||1
|-
|1||1||1||1||1||1||1||1||1
|}
&nbsp;
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|ci
!width="50"|x
!width="50"|y
!width="50"|m<sub>0</sub>
!width="50"|m<sub>1</sub>
!width="50"|m<sub>2</sub>
!width="50"|m<sub>4</sub>
!width="50"|NOR
!width="50"|co(ci,x,y)
|-
|0||0||0||1||0||0||0||0||0
|-
|0||0||1||0||1||0||0||0||0
|-
|0||1||0||0||0||1||0||0||0
|-
|0||1||1||0||0||0||0||1||1
|-
|1||0||0||0||0||0||1||0||0
|-
|1||0||1||0||0||0||0||1||1
|-
|1||1||0||0||0||0||0||1||1
|-
|1||1||1||0||0||0||0||1||1
|}
 
===Design trade-offs considered in addition to canonical forms===
One might suppose that the work of designing an adder stage is now complete, but we haven't addressed the fact that all 3 of the input variables have to appear in both their direct and complement forms.  There's no difficulty about the addends ''x'' and ''y'' in this respect, because they are static throughout the addition and thus are normally held in latch circuits that routinely have both direct and complement outputs. (The simplest latch circuit made of NOR gates is a pair of gates cross-coupled to make a flip-flop: the output of each is wired as one of the inputs to the other.) There is also no need to create the complement form of the sum ''u''. However, the carry out of one bit position must be passed as the carry into the next bit position in both direct and complement forms.  The most straightforward way to do this is to pass ''co'' through a 1-input NOR gate and label the output ''co''<nowiki>'</nowiki>, but that would add a gate delay in the worst possible place, slowing down the rippling of carries from right to left. An additional 4-input NOR gate building the canonical form of ''co''<nowiki>'</nowiki> (out of the opposite minterms as ''co'') solves this problem.
 
: <math>co'(ci, x, y) = \mathrm{AND}(M_3,M_5,M_6,M_7) = \mathrm{NOR}(m_3,m_5,m_6,m_7).</math>
 
Truth tables:
 
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|ci
!width="50"|x
!width="50"|y
!width="50"|M<sub>3</sub>
!width="50"|M<sub>5</sub>
!width="50"|M<sub>6</sub>
!width="50"|M<sub>7</sub>
!width="50"|AND
!width="50"|co'(ci,x,y)
|-
|0||0||0||1||1||1||1||1||1
|-
|0||0||1||1||1||1||1||1||1
|-
|0||1||0||1||1||1||1||1||1
|-
|0||1||1||0||1||1||1||0||0
|-
|1||0||0||1||1||1||1||1||1
|-
|1||0||1||1||0||1||1||0||0
|-
|1||1||0||1||1||0||1||0||0
|-
|1||1||1||1||1||1||0||0||0
|}
&nbsp;
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|ci
!width="50"|x
!width="50"|y
!width="50"|m<sub>3</sub>
!width="50"|m<sub>5</sub>
!width="50"|m<sub>6</sub>
!width="50"|m<sub>7</sub>
!width="50"|NOR
!width="50"|co'(ci,x,y)
|-
|0||0||0||0||0||0||0||1||1
|-
|0||0||1||0||0||0||0||1||1
|-
|0||1||0||0||0||0||0||1||1
|-
|0||1||1||1||0||0||0||0||0
|-
|1||0||0||0||0||0||0||1||1
|-
|1||0||1||0||1||0||0||0||0
|-
|1||1||0||0||0||1||0||0||0
|-
|1||1||1||0||0||0||1||0||0
|}
The trade-off to maintain full speed in this way includes an unexpected cost (in addition to having to use a bigger gate). If we'd just used that 1-input gate to complement ''co'', there would have been no use for the minterm <math>m_7</math>, and the gate that generated it could have been eliminated. Nevertheless, it's still a good trade.
 
Now we could have implemented those functions exactly according to their SoP and PoS canonical forms, by turning NOR gates into the functions specified.  A NOR gate is made into an OR gate by passing its output through a 1-input NOR gate; and it is made into an AND gate by passing each of its inputs through a 1-input NOR gate.  However, this approach not only increases the number of gates used, but also doubles the number of gate delays processing the signals, cutting the processing speed in half.  Consequently, whenever performance is vital, going beyond canonical forms and doing the Boolean algebra to make the unenhanced NOR gates do the job is well worthwhile.
 
===Top-down vs. bottom-up design===
We have now seen how the minterm/maxterm tools can be used to design an adder stage in canonical form with the addition of some Boolean algebra, costing just 2 gate delays for each of the outputs. That's the "top-down" way to design the digital circuit for this function, but is it the best way? The discussion has focused on identifying "fastest" as "best," and the augmented canonical form meets that criterion flawlessly, but sometimes other factors predominate. The designer may have a primary goal of minimizing the number of gates, and/or of minimizing the fanouts of signals to other gates since big fanouts reduce resilience to a degraded power supply or other environmental factors. In such a case, a designer may develop the canonical-form design as a baseline, then try a bottom-up development, and finally compare the results.
 
The bottom-up development involves noticing that ''u = ci'' XOR (''x'' XOR ''y''), where XOR means eXclusive OR [true when either input is true but not when both are true], and that ''co = ci x + x y + y ci''. One such development takes twelve NOR gates in all: six 2-input gates and two 1-input gates to produce ''u'' in 5 gate delays, plus three 2-input gates and one 3-input gate to produce ''co''<nowiki>'</nowiki> in 2 gate delays. The canonical baseline took eight 3-input NOR gates plus three 4-input NOR gates to produce ''u, co'' and ''co''<nowiki>'</nowiki> in 2 gate delays. If the circuit inventory actually includes 4-input NOR gates, the top-down canonical design looks like a winner in both gate count and speed. But if (contrary to our convenient supposition) the circuits are actually 3-input NOR gates, of which two are required for each 4-input NOR function, then the canonical design takes 14 gates compared to 12 for the bottom-up approach, but still produces the sum digit ''u'' considerably faster.  The fanout comparison is tabulated as:
{| class="wikitable" style="margin: 1em auto 1em auto"
!width="50"|Variables
!width="50"|Top-down
!width="50"|Bottom-up
|-
! x
|4||1
|-
! x'
|4||3
|-
! y
|4||1
|-
! y'
|4||3
|-
! ci
|4||1
|-
! ci'
|4||3
|-
! M or m
|4@1,4@2||N/A
|-
! x XOR y
|N/A||2
|-
! Misc
|N/A||5@1
|-
! Max
|4||3
|}
What's a decision-maker to do?  An observant one will have noticed that the description of the bottom-up development mentions ''co''<nowiki>'</nowiki> as an output but not ''co''.  Does that design simply never need the direct form of the carry out? Well, yes and no. At each stage, the calculation of ''co''<nowiki>'</nowiki> depends only on ''ci''<nowiki>'</nowiki>, ''x''<nowiki>'</nowiki> and ''y''<nowiki>'</nowiki>, which means that the carry propagation ripples along the bit positions just as fast as in the canonical design without ever developing ''co''. The calculation of ''u'', which does require ''ci'' to be made from ''ci''<nowiki>'</nowiki> by a 1-input NOR, is slower but for any word length the design only pays that penalty once (when the leftmost sum digit is developed). That's because those calculations overlap, each in what amounts to its own little pipeline without affecting when the next bit position's sum bit can be calculated. And, to be sure, the ''co''<nowiki>'</nowiki> out of the leftmost bit position will probably have to be complemented as part of the logic determining whether the addition overflowed. But using 3-input NOR gates, the bottom-up design is very nearly as fast for doing parallel addition on a non-trivial word length, cuts down on the gate count, and uses lower fanouts ... so it wins if gate count and/or fanout are paramount!
 
We'll leave the exact circuitry of the bottom-up design of which all these statements are true as an exercise for the interested reader, assisted by one more algebraic formula: ''u = ci(x'' XOR ''y) + ci''<nowiki>'</nowiki>''(x'' XOR ''y)''<nowiki>'</nowiki>'']''<nowiki>'</nowiki>. Decoupling the carry propagation from the sum formation in this way is what elevates the performance of a ''carry-lookahead adder'' over that of a ''ripple carry adder''.
 
To see how NOR gate logic was used in the Apollo Guidance Computer's ALU, visit http://klabs.org/history/ech/agc_schematics/index.htm, select any of the 4-BIT MODULE entries in the Index to Drawings, and expand images as desired.
 
==See also==
* [[Algebraic normal form]]
* [[Canonical form]]
* [[Blake canonical form]]
* [[List of Boolean algebra topics]]
 
== Footnotes ==
<references/>
 
== References ==
*Edward A. Bender, S. Gill Williamson, 2005, ''A Short Course in Discrete Mathematics'', Dover Publications, Inc., Mineola, NY, ISBN 0-486-43946-1. The authors demonstrate a proof that any Boolean (logic) function can be expressed in either disjunctive or conjunctive normal form (cf pages 5–6); the proof simply proceeds by creating all 2<sup>''N''</sup> rows of ''N'' Boolean variables and demonstrates that each row ("minterm" or "maxterm") has a unique Boolean expression. Any Boolean function of the ''N'' variables can be derived from a composite of the rows whose minterm or maxterm are logical 1s ("trues").
 
*E. J. McCluskey, 1965, ''Introduction to the Theory of Switching Circuits'', McGraw–Hill Book Company, NY, Library of Congress Catalog Card Number 65-17394. Canonical expressions are defined and described on pages 78ff.
 
*Fredrick J. Hill, and Gerald R. Peterson, 1974, ''Introduction to Switching Theory and Logical Design, Second Edition'', John Wiley & Sons, NY, ISBN 0-471-39882-9. Minterm and maxterm designation of functions appears on page 101ff.
 
==External links==
{{wikibooks|How to search|Boolean Logic}}
{{wikibooks|Electronics|Boolean Algebra}}
*[[George Boole]], 1848, "[http://www.maths.tcd.ie/pub/HistMath/People/Boole/CalcLogic/CalcLogic.html The Calculus of Logic,]" ''Cambridge and Dublin Mathematical Journal III: 183–98.
 
{{Digital systems}}
 
{{DEFAULTSORT:Canonical Form (Boolean Algebra)}}
[[Category:Boolean algebra| ]]
[[Category:Logic]]
[[Category:Algebraic logic]]
[[Category:Articles with example code]]

Latest revision as of 21:47, 11 March 2013

Template:Multiple issues In Boolean algebra, any Boolean function can be put into the canonical disjunctive normal form (CDNF) or minterm canonical form and its dual canonical conjunctive normal form (CCNF) or maxterm canonical form. Other canonical forms include the complete sum of prime implicants or Blake canonical form (and its dual), and the algebraic normal form (also called Zhegalkin or Reed–Muller).

Minterms are called products because they are the logical AND of a set of variables, and maxterms are called sums because they are the logical OR of a set of variables. These concepts are dual because of their complementary-symmetry relationship as expressed by De Morgan's laws.

Two dual canonical forms of any Boolean function are a "sum of minterms" and a "product of maxterms." The term "Sum of Products" or "SoP" is widely used for the canonical form that is a disjunction (OR) of minterms. Its De Morgan dual is a "Product of Sums" or "PoS" for the canonical form that is a conjunction (AND) of maxterms. These forms allow for greater analysis into the simplification of these functions, which is of great importance in the minimization or other optimization of Boolean formulas in general and digital circuits in particular.

Summary

One application of Boolean algebra is digital circuit design. The goal may be to minimize the number of gates, to minimize the settling time, etc.

There are sixteen possible functions of two variables, but in digital logic hardware, the simplest gate circuits implement only four of them: conjunction (AND), disjunction (inclusive OR), and the complements of those (NAND and NOR).

Most gate circuits accept more than 2 input variables; for example, the spaceborne Apollo Guidance Computer, which pioneered the application of integrated circuits in the 1960s, was built with only one type of gate, a 3-input NOR, whose output is true only when all 3 inputs are false.[1]

Minterms

For a boolean function of n variables x1,,xn, a product term in which each of the n variables appears once (in either its complemented or uncomplemented form) is called a minterm. Thus, a minterm is a logical expression of n variables that employs only the complement operator and the conjunction operator.

For example, abc, abc and abc are 3 examples of the 8 minterms for a Boolean function of the three variables a, b, and c. The customary reading of the last of these is a AND b AND NOT-c.

There are 2n minterms of n variables, since a variable in the minterm expression can be in either its direct or its complemented form—two choices per n variables.

Indexing minterms

Minterms are often numbered by a binary encoding of the complementation pattern of the variables, where the variables are written in a standard order, usually alphabetical. This convention assigns the value 1 to the direct form (xi) and 0 to the complemented form (x'i); the minterm is then the sum of 2ivalue(xi). For example, minterm abc is numbered 1102 = 610 and denoted m6.

Functional equivalence

A given minterm n gives a true value (i.e., 1) for just one combination of the input variables. For example, minterm 5, a b' c, is true only when a and c both are true and b is false—the input arrangement where a = 1, b = 0, c = 1 results in 1.

Given the truth table of a logical function, it is possible to write the function as a "sum of products". This is a special form of disjunctive normal form. For example, if given the truth table for the arithmetic sum bit u of one bit position's logic of an adder circuit, as a function of x and y from the addends and the carry in, ci:

ci x y u(ci,x,y)
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

Observing that the rows that have an output of 1 are the 2nd, 3rd, 5th, and 8th, we can write u as a sum of minterms m1,m2,m4, and m7. If we wish to verify this: u(ci,x,y)=m1+m2+m4+m7=(ci,x,y)+(ci,x,y)+(ci,x,y)+(ci,x,y) evaluated for all 8 combinations of the three variables will match the table.

Maxterms

For a boolean function of n variables x1,,xn, a sum term in which each of the n variables appears once (in either its complemented or uncomplemented form) is called a maxterm. Thus, a maxterm is a logical expression of n variables that employs only the complement operator and the disjunction operator. Maxterms are a dual of the minterm idea (i.e., exhibiting a complementary symmetry in all respects). Instead of using ANDs and complements, we use ORs and complements and proceed similarly.

For example, the following are two of the eight maxterms of three variables:

a + b' + c
a' + b + c

There are again 2n maxterms of n variables, since a variable in the maxterm expression can also be in either its direct or its complemented form—two choices per n variables.

Indexing maxterms

Each maxterm is assigned an index based on the opposite conventional binary encoding used for minterms. The maxterm convention assigns the value 0 to the direct form (xi) and 1 to the complemented form (x'i). For example, we assign the index 6 to the maxterm a+b+c (110) and denote that maxterm as M6. Similarly M0 of these three variables is a+b+c (000) and M7 is a+b+c (111).

Functional equivalence

It is apparent that maxterm n gives a false value (i.e., 0) for just one combination of the input variables. For example, maxterm 5, a' + b + c', is false only when a and c both are true and b is false—the input arrangement where a = 1, b = 0, c = 1 results in 0.

If one is given a truth table of a logical function, it is possible to write the function as a "product of sums". This is a special form of conjunctive normal form. For example, if given the truth table for the carry-out bit co of one bit position's logic of an adder circuit, as a function of x and y from the addends and the carry in, ci:

ci x y co(ci,x,y)
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

Observing that the rows that have an output of 0 are the 1st, 2nd, 3rd, and 5th, we can write co as a product of maxterms M0,M1,M2, and M4. If we wish to verify this: co(ci, x, y) = M0M1M2M4 = (ci + x + y) (ci + x + y') (ci + x' + y) (ci' + x + y) evaluated for all 8 combinations of the three variables will match the table.

Dualization

The complement of a minterm is the respective maxterm. This can be easily verified by using de Morgan's law. For example: M5=a+b+c=(abc)=m5

Non-canonical PoS and SoP forms

It is often the case that the canonical minterm form can be simplified to an equivalent SoP form. This simplified form would still consist of a sum of product terms. However, in the simplified form, it is possible to have fewer product terms and/or product terms that contain fewer variables. For example, the following 3-variable function:

a b c f(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 0
1 1 0 0
1 1 1 1

has the canonical minterm representation: f=abc+abc, but it has an equivalent simplified form: f=bc. In this trivial example, it is obvious that bc=abc+abc, but the simplified form has both fewer product terms, and the term has fewer variables. The most simplified SoP representation of a function is referred to as a minimal SoP form.

In a similar manner, a canonical maxterm form can have a simplified PoS form.

While this example was easily simplified by applying normal algebraic methods [f=(a+a)bc], in less obvious cases a convenient method for finding the minimal PoS/SoP form of a function with up to four variables is using a Karnaugh map.

The minimal PoS and SoP forms are very important for finding optimal implementations of boolean functions and minimizing logic circuits.

Application example

The sample truth tables for minterms and maxterms above are sufficient to establish the canonical form for a single bit position in the addition of binary numbers, but are not sufficient to design the digital logic unless your inventory of gates includes AND and OR. Where performance is an issue (as in the Apollo Guidance Computer), the available parts are more likely to be NAND and NOR because of the complementing action inherent in transistor logic. The values are defined as voltage states, one near ground and one near the DC supply voltage Vcc, e.g. +5 VDC. If the higher voltage is defined as the 1 "true" value, a NOR gate is the simplest possible useful logical element.

Specifically, a 3-input NOR gate may consist of 3 bipolar junction transistors with their emitters all grounded, their collectors tied together and linked to Vcc through a load impedance. Each base is connected to an input signal, and the common collector point presents the output signal. Any input that is a 1 (high voltage) to its base shorts its transistor's emitter to its collector, causing current to flow through the load impedance, which brings the collector voltage (the output) very near to ground. That result is independent of the other inputs. Only when all 3 input signals are 0 (low voltage) do the emitter-collector impedances of all 3 transistors remain very high. Then very little current flows, and the voltage-divider effect with the load impedance imposes on the collector point a high voltage very near to Vcc.

The complementing property of these gate circuits may seem like a drawback when trying to implement a function in canonical form, but there is a compensating bonus: such a gate with only one input implements the complementing function, which is required frequently in digital logic.

This example assumes the Apollo parts inventory: 3-input NOR gates only, but the discussion is simplified by supposing that 4-input NOR gates are also available (in Apollo, those were compounded out of pairs of 3-input NORs).

Canonical and non-canonical consequences of NOR gates

Fact #1: a set of 8 NOR gates, if their inputs are all combinations of the direct and complement forms of the 3 input variables ci, x, and y, always produce minterms, never maxterms—that is, of the 8 gates required to process all combinations of 3 input variables, only one has the output value 1. That's because a NOR gate, despite its name, could better be viewed (using De Morgan's law) as the AND of the complements of its input signals.

Fact #2: the reason Fact #1 is not a problem is the duality of minterms and maxterms, i.e. each maxterm is the complement of the like-indexed minterm, and vice versa.

In the minterm example above, we wrote u(ci,x,y)=m1+m2+m4+m7 but to perform this with a 4-input NOR gate we need to restate it as a product of sums (PoS), where the sums are the opposite maxterms. That is,

u(ci,x,y) = AND(M0,M3,M5,M6) = NOR(m0,m3,m5,m6). Truth tables:

ci x y M0 M3 M5 M6 AND u(ci,x,y)
0 0 0 0 1 1 1 0 0
0 0 1 1 1 1 1 1 1
0 1 0 1 1 1 1 1 1
0 1 1 1 0 1 1 0 0
1 0 0 1 1 1 1 1 1
1 0 1 1 1 0 1 0 0
1 1 0 1 1 1 0 0 0
1 1 1 1 1 1 1 1 1

 

ci x y m0 m3 m5 m6 NOR u(ci,x,y)
0 0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 1 1
0 1 0 0 0 0 0 1 1
0 1 1 0 1 0 0 0 0
1 0 0 0 0 0 0 1 1
1 0 1 0 0 1 0 0 0
1 1 0 0 0 0 1 0 0
1 1 1 0 0 0 0 1 1

In the maxterm example above, we wrote co(ci,x,y)=M0M1M2M4 but to perform this with a 4-input NOR gate we need to notice the equality to the NOR of the same minterms. That is,

co(ci,x,y) = AND(M0,M1,M2,M4) = NOR(m0,m1,m2,m4). Truth tables:

ci x y M0 M1 M2 M4 AND co(ci,x,y)
0 0 0 0 1 1 1 0 0
0 0 1 1 0 1 1 0 0
0 1 0 1 1 0 1 0 0
0 1 1 1 1 1 1 1 1
1 0 0 1 1 1 0 0 0
1 0 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1

 

ci x y m0 m1 m2 m4 NOR co(ci,x,y)
0 0 0 1 0 0 0 0 0
0 0 1 0 1 0 0 0 0
0 1 0 0 0 1 0 0 0
0 1 1 0 0 0 0 1 1
1 0 0 0 0 0 1 0 0
1 0 1 0 0 0 0 1 1
1 1 0 0 0 0 0 1 1
1 1 1 0 0 0 0 1 1

Design trade-offs considered in addition to canonical forms

One might suppose that the work of designing an adder stage is now complete, but we haven't addressed the fact that all 3 of the input variables have to appear in both their direct and complement forms. There's no difficulty about the addends x and y in this respect, because they are static throughout the addition and thus are normally held in latch circuits that routinely have both direct and complement outputs. (The simplest latch circuit made of NOR gates is a pair of gates cross-coupled to make a flip-flop: the output of each is wired as one of the inputs to the other.) There is also no need to create the complement form of the sum u. However, the carry out of one bit position must be passed as the carry into the next bit position in both direct and complement forms. The most straightforward way to do this is to pass co through a 1-input NOR gate and label the output co', but that would add a gate delay in the worst possible place, slowing down the rippling of carries from right to left. An additional 4-input NOR gate building the canonical form of co' (out of the opposite minterms as co) solves this problem.

co(ci,x,y)=AND(M3,M5,M6,M7)=NOR(m3,m5,m6,m7).

Truth tables:

ci x y M3 M5 M6 M7 AND co'(ci,x,y)
0 0 0 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1
0 1 0 1 1 1 1 1 1
0 1 1 0 1 1 1 0 0
1 0 0 1 1 1 1 1 1
1 0 1 1 0 1 1 0 0
1 1 0 1 1 0 1 0 0
1 1 1 1 1 1 0 0 0

 

ci x y m3 m5 m6 m7 NOR co'(ci,x,y)
0 0 0 0 0 0 0 1 1
0 0 1 0 0 0 0 1 1
0 1 0 0 0 0 0 1 1
0 1 1 1 0 0 0 0 0
1 0 0 0 0 0 0 1 1
1 0 1 0 1 0 0 0 0
1 1 0 0 0 1 0 0 0
1 1 1 0 0 0 1 0 0

The trade-off to maintain full speed in this way includes an unexpected cost (in addition to having to use a bigger gate). If we'd just used that 1-input gate to complement co, there would have been no use for the minterm m7, and the gate that generated it could have been eliminated. Nevertheless, it's still a good trade.

Now we could have implemented those functions exactly according to their SoP and PoS canonical forms, by turning NOR gates into the functions specified. A NOR gate is made into an OR gate by passing its output through a 1-input NOR gate; and it is made into an AND gate by passing each of its inputs through a 1-input NOR gate. However, this approach not only increases the number of gates used, but also doubles the number of gate delays processing the signals, cutting the processing speed in half. Consequently, whenever performance is vital, going beyond canonical forms and doing the Boolean algebra to make the unenhanced NOR gates do the job is well worthwhile.

Top-down vs. bottom-up design

We have now seen how the minterm/maxterm tools can be used to design an adder stage in canonical form with the addition of some Boolean algebra, costing just 2 gate delays for each of the outputs. That's the "top-down" way to design the digital circuit for this function, but is it the best way? The discussion has focused on identifying "fastest" as "best," and the augmented canonical form meets that criterion flawlessly, but sometimes other factors predominate. The designer may have a primary goal of minimizing the number of gates, and/or of minimizing the fanouts of signals to other gates since big fanouts reduce resilience to a degraded power supply or other environmental factors. In such a case, a designer may develop the canonical-form design as a baseline, then try a bottom-up development, and finally compare the results.

The bottom-up development involves noticing that u = ci XOR (x XOR y), where XOR means eXclusive OR [true when either input is true but not when both are true], and that co = ci x + x y + y ci. One such development takes twelve NOR gates in all: six 2-input gates and two 1-input gates to produce u in 5 gate delays, plus three 2-input gates and one 3-input gate to produce co' in 2 gate delays. The canonical baseline took eight 3-input NOR gates plus three 4-input NOR gates to produce u, co and co' in 2 gate delays. If the circuit inventory actually includes 4-input NOR gates, the top-down canonical design looks like a winner in both gate count and speed. But if (contrary to our convenient supposition) the circuits are actually 3-input NOR gates, of which two are required for each 4-input NOR function, then the canonical design takes 14 gates compared to 12 for the bottom-up approach, but still produces the sum digit u considerably faster. The fanout comparison is tabulated as:

Variables Top-down Bottom-up
x 4 1
x' 4 3
y 4 1
y' 4 3
ci 4 1
ci' 4 3
M or m 4@1,4@2 N/A
x XOR y N/A 2
Misc N/A 5@1
Max 4 3

What's a decision-maker to do? An observant one will have noticed that the description of the bottom-up development mentions co' as an output but not co. Does that design simply never need the direct form of the carry out? Well, yes and no. At each stage, the calculation of co' depends only on ci', x' and y', which means that the carry propagation ripples along the bit positions just as fast as in the canonical design without ever developing co. The calculation of u, which does require ci to be made from ci' by a 1-input NOR, is slower but for any word length the design only pays that penalty once (when the leftmost sum digit is developed). That's because those calculations overlap, each in what amounts to its own little pipeline without affecting when the next bit position's sum bit can be calculated. And, to be sure, the co' out of the leftmost bit position will probably have to be complemented as part of the logic determining whether the addition overflowed. But using 3-input NOR gates, the bottom-up design is very nearly as fast for doing parallel addition on a non-trivial word length, cuts down on the gate count, and uses lower fanouts ... so it wins if gate count and/or fanout are paramount!

We'll leave the exact circuitry of the bottom-up design of which all these statements are true as an exercise for the interested reader, assisted by one more algebraic formula: u = ci(x XOR y) + ci'(x XOR y)']'. Decoupling the carry propagation from the sum formation in this way is what elevates the performance of a carry-lookahead adder over that of a ripple carry adder.

To see how NOR gate logic was used in the Apollo Guidance Computer's ALU, visit http://klabs.org/history/ech/agc_schematics/index.htm, select any of the 4-BIT MODULE entries in the Index to Drawings, and expand images as desired.

See also

Footnotes

  1. Eldon C. Hall, Journey to the Moon: The History of the Apollo Guidance Computer, AIAA 1996. ISBN 1-56347-185-X

References

  • Edward A. Bender, S. Gill Williamson, 2005, A Short Course in Discrete Mathematics, Dover Publications, Inc., Mineola, NY, ISBN 0-486-43946-1. The authors demonstrate a proof that any Boolean (logic) function can be expressed in either disjunctive or conjunctive normal form (cf pages 5–6); the proof simply proceeds by creating all 2N rows of N Boolean variables and demonstrates that each row ("minterm" or "maxterm") has a unique Boolean expression. Any Boolean function of the N variables can be derived from a composite of the rows whose minterm or maxterm are logical 1s ("trues").
  • E. J. McCluskey, 1965, Introduction to the Theory of Switching Circuits, McGraw–Hill Book Company, NY, Library of Congress Catalog Card Number 65-17394. Canonical expressions are defined and described on pages 78ff.
  • Fredrick J. Hill, and Gerald R. Peterson, 1974, Introduction to Switching Theory and Logical Design, Second Edition, John Wiley & Sons, NY, ISBN 0-471-39882-9. Minterm and maxterm designation of functions appears on page 101ff.

External links

DTZ's auction group in Singapore auctions all types of residential, workplace and retail properties, retailers, homes, accommodations, boarding houses, industrial buildings and development websites. Auctions are at the moment held as soon as a month.

Whitehaven @ Pasir Panjang – A boutique improvement nicely nestled peacefully in serene Pasir Panjang personal estate presenting a hundred and twenty rare freehold private apartments tastefully designed by the famend Ong & Ong Architect. Only a short drive away from Science Park and NUS Campus, Jade Residences, a recent Freehold condominium which offers high quality lifestyle with wonderful facilities and conveniences proper at its door steps. Its fashionable linear architectural fashion promotes peace and tranquility living nestled within the D19 personal housing enclave. Rising workplace sector leads real estate market efficiency, while prime retail and enterprise park segments moderate and residential sector continues in decline International Market Perspectives - 1st Quarter 2014

There are a lot of websites out there stating to be one of the best seek for propertycondominiumhouse, and likewise some ways to discover a low cost propertycondominiumhouse. Owning a propertycondominiumhouse in Singapore is the dream of virtually all individuals in Singapore, It is likely one of the large choice we make in a lifetime. Even if you happen to're new to Property listing singapore funding, we are right here that will help you in making the best resolution to purchase a propertycondominiumhouse at the least expensive value.

Jun 18 ROCHESTER in MIXED USE IMPROVEMENT $1338000 / 1br - 861ft² - (THE ROCHESTER CLOSE TO NORTH BUONA VISTA RD) pic real property - by broker Jun 18 MIXED USE IMPROVEMENT @ ROCHESTER @ ROCHESTER PK $1880000 / 1br - 1281ft² - (ROCHESTER CLOSE TO NORTH BUONA VISTA) pic real estate - by broker Tue 17 Jun Jun 17 Sunny Artwork Deco Gem Near Seashore-Super Deal!!! $103600 / 2br - 980ft² - (Ventnor) pic actual estate - by owner Jun 17 Freehold semi-d for rent (Jalan Rebana ) $7000000 / 5909ft² - (Jalan Rebana ) actual property - by dealer Jun sixteen Ascent @ 456 in D12 (456 Balestier Highway,Singapore) pic real property - by proprietor Jun 16 RETAIL SHOP AT SIM LIM SQUARE FOR SALE, IT MALL, ROCHOR, BUGIS MRT $2000000 / 506ft² - (ROCHOR, BUGIS MRT) pic real estate - by dealer HDB Scheme Any DBSS BTO

In case you are eligible to purchase landed houses (open solely to Singapore residents) it is without doubt one of the best property investment choices. Landed housing varieties solely a small fraction of available residential property in Singapore, due to shortage of land right here. In the long term it should hold its worth and appreciate as the supply is small. In truth, landed housing costs have risen the most, having doubled within the last eight years or so. However he got here back the following day with two suitcases full of money. Typically we've got to clarify to such folks that there are rules and paperwork in Singapore and you can't just buy a home like that,' she said. For conveyancing matters there shall be a recommendedLondon Regulation agency familiar with Singapore London propertyinvestors to symbolize you

Sales transaction volumes have been expected to hit four,000 units for 2012, close to the mixed EC gross sales volume in 2010 and 2011, in accordance with Savills Singapore. Nevertheless the last quarter was weak. In Q4 2012, sales transactions were 22.8% down q-q to 7,931 units, in line with the URA. The quarterly sales discount was felt throughout the board. When the sale just starts, I am not in a hurry to buy. It's completely different from a private sale open for privileged clients for one day solely. Orchard / Holland (D09-10) House For Sale The Tembusu is a singular large freehold land outdoors the central area. Designed by multiple award-profitable architects Arc Studio Architecture + Urbanism, the event is targeted for launch in mid 2013. Post your Property Condos Close to MRT DTZ's auction group in Singapore auctions all types of residential, workplace and retail properties, retailers, homes, accommodations, boarding houses, industrial buildings and development websites. Auctions are at the moment held as soon as a month.

Whitehaven @ Pasir Panjang – A boutique improvement nicely nestled peacefully in serene Pasir Panjang personal estate presenting a hundred and twenty rare freehold private apartments tastefully designed by the famend Ong & Ong Architect. Only a short drive away from Science Park and NUS Campus, Jade Residences, a recent Freehold condominium which offers high quality lifestyle with wonderful facilities and conveniences proper at its door steps. Its fashionable linear architectural fashion promotes peace and tranquility living nestled within the D19 personal housing enclave. Rising workplace sector leads real estate market efficiency, while prime retail and enterprise park segments moderate and residential sector continues in decline International Market Perspectives - 1st Quarter 2014

There are a lot of websites out there stating to be one of the best seek for propertycondominiumhouse, and likewise some ways to discover a low cost propertycondominiumhouse. Owning a propertycondominiumhouse in Singapore is the dream of virtually all individuals in Singapore, It is likely one of the large choice we make in a lifetime. Even if you happen to're new to Property listing singapore funding, we are right here that will help you in making the best resolution to purchase a propertycondominiumhouse at the least expensive value.

Jun 18 ROCHESTER in MIXED USE IMPROVEMENT $1338000 / 1br - 861ft² - (THE ROCHESTER CLOSE TO NORTH BUONA VISTA RD) pic real property - by broker Jun 18 MIXED USE IMPROVEMENT @ ROCHESTER @ ROCHESTER PK $1880000 / 1br - 1281ft² - (ROCHESTER CLOSE TO NORTH BUONA VISTA) pic real estate - by broker Tue 17 Jun Jun 17 Sunny Artwork Deco Gem Near Seashore-Super Deal!!! $103600 / 2br - 980ft² - (Ventnor) pic actual estate - by owner Jun 17 Freehold semi-d for rent (Jalan Rebana ) $7000000 / 5909ft² - (Jalan Rebana ) actual property - by dealer Jun sixteen Ascent @ 456 in D12 (456 Balestier Highway,Singapore) pic real property - by proprietor Jun 16 RETAIL SHOP AT SIM LIM SQUARE FOR SALE, IT MALL, ROCHOR, BUGIS MRT $2000000 / 506ft² - (ROCHOR, BUGIS MRT) pic real estate - by dealer HDB Scheme Any DBSS BTO

In case you are eligible to purchase landed houses (open solely to Singapore residents) it is without doubt one of the best property investment choices. Landed housing varieties solely a small fraction of available residential property in Singapore, due to shortage of land right here. In the long term it should hold its worth and appreciate as the supply is small. In truth, landed housing costs have risen the most, having doubled within the last eight years or so. However he got here back the following day with two suitcases full of money. Typically we've got to clarify to such folks that there are rules and paperwork in Singapore and you can't just buy a home like that,' she said. For conveyancing matters there shall be a recommendedLondon Regulation agency familiar with Singapore London propertyinvestors to symbolize you

Sales transaction volumes have been expected to hit four,000 units for 2012, close to the mixed EC gross sales volume in 2010 and 2011, in accordance with Savills Singapore. Nevertheless the last quarter was weak. In Q4 2012, sales transactions were 22.8% down q-q to 7,931 units, in line with the URA. The quarterly sales discount was felt throughout the board. When the sale just starts, I am not in a hurry to buy. It's completely different from a private sale open for privileged clients for one day solely. Orchard / Holland (D09-10) House For Sale The Tembusu is a singular large freehold land outdoors the central area. Designed by multiple award-profitable architects Arc Studio Architecture + Urbanism, the event is targeted for launch in mid 2013. Post your Property Condos Close to MRT

Template:Digital systems