The original cover establishes the date as 19 June 2015. The solutions use the printed question numbering and the natural deduction rules supplied with this paper.[ref]
The transition matrix acts on a column probability vector in the order Central, Headington, Botley. Thus column records the destinations of buses starting at station . The Central-to-Headington, Headington-to-Botley and Botley-to-Central entries give
Each column sums to one, as required for this column convention for a stochastic matrix.
For a square matrix , an eigenvalue–eigenvector pair consists of a scalar and a nonzero vector satisfying
The linear map represented by therefore scales by . The exclusion of the zero vector matters: otherwise every scalar would satisfy the equation trivially.
Use matrix multiplication to evolve the probability vector by . With ,
Hence, in Central, Headington, Botley order,
Both probability vectors have nonnegative entries summing to one.
Define the characteristic polynomial using , where is the identity matrix. Expanding the determinant along the first row gives
Thus the characteristic equation is
The convention changes the sign of this cubic polynomial but gives the same roots.
The factorization of the characteristic polynomial shows that is an eigenvalue. To find its normalized eigenvector, solve together with . The first two independent linear equations are
The first equation and normalization give . The second gives , while . Consequently,
All entries are positive and sum to one. This probability vector is the stationary distribution.
The remaining eigenvalues are
They have absolute value less than one. The three distinct eigenvalues give a basis of eigenvectors, which may be chosen as , and , with and . Write an arbitrary initial probability vector as . Summing its entries shows , because the entries of sum to one and those of sum to zero. Therefore
This proves convergence for every initial probability vector, rather than merely identifying a possible limit. In particular,
For the given initial probability vector, and ; substituting also recovers the previous answers. The slowest decaying eigenvector component has factor .
For an matrix with real entries, its row space is the linear span of its rows, a linear subspace of . Its column space is the linear span of its columns, a linear subspace of and the image of a linear map . Its null space is
a linear subspace of . Finally,
Thus the rank of a matrix counts the number of linearly independent columns, equivalently rows. The nullity is by the rank-nullity theorem.
Perform the elementary row operations and , then :
These operations preserve the row space. The two nonzero rows of this row echelon form are linearly independent: only the first has a nonzero first entry, and the second is nonzero. Hence
Further Gaussian elimination gives the reduced row echelon form
which will also identify the free variables in the null space calculation.
The pivot columns in the row echelon form are columns 1 and 3. Use those columns of the original matrix for a basis of the original column space:
For a direct spanning check, column 2 is twice column 1 and column 4 is times column 1 minus times column 3. The displayed columns are linearly independent, since the first two coordinates of give and , so .
The reduced row echelon form gives
Taking the free variables as and , the null space is
The two displayed vectors are linearly independent, as their second and fourth coordinates show, and each satisfies . Thus
This also agrees with the rank-nullity theorem: .
Apply the same elementary row operations to the augmented matrix:
The last row establishes consistency; equivalently the third original row is the second minus twice the first, and the right-hand entries obey . With and , the second equation gives and the first gives . All real solutions are therefore
This affine solution space is one particular solution plus the null space. The two free variables show that there are no additional restrictions.
Let be upper triangular matrices. For an entry below the diagonal, , matrix multiplication gives
If , then . If , then , so . Every summand is zero, giving
Thus is an upper triangular matrix. Equivalently, a potentially nonzero summand would require , impossible below the diagonal.
Suppose an invertible matrix has two LU factorizations, , with unit lower triangular matrices and upper triangular matrices. All four factors are invertible matrices, since their square products are invertible. Multiplication by the appropriate inverse matrices gives
By the supplied closure properties, the left side is a unit lower triangular matrix and the right side is an upper triangular matrix. A matrix of both types is diagonal; its diagonal entries are all one. Thus both sides are the identity matrix, whence
Qualification of the printed wording: this establishes uniqueness if the specified LU factorization exists. Invertibility alone does not guarantee an unpivoted LU factorization. For example is invertible, but in a product , the zero top-left entry forces , making the bottom-left entry as well, contrary to the required value one. A permutation matrix is needed in general, as in PLU factorization.
Use Gaussian elimination without row exchanges. First apply and ; then apply :
The elimination multipliers are , and . Put them below the diagonal of a unit lower triangular matrix:
To see why these multipliers reconstruct the rows, row 2 of is three times row 1 of plus row 2 of , giving . Row 3 of is twice row 1 plus row 2 plus row 3 of , giving . This directly verifies the LU factorization.
The elementary row operations used above add multiples of other rows, so preserve the determinant. The determinant of an upper triangular matrix is the product of its diagonal entries. Hence
Equivalently, and multiplicativity of the determinant gives .
Use three positive-edge-triggered D flip-flops, all driven by the same clock signal . Write the current binary representation as , with the least significant bit. The next state is the current value plus one when and minus one when , in each case modulo eight. A bit toggles under exclusive or with a one.
For upward counting, toggles when , while toggles when , the respective carry conditions. For downward counting the corresponding borrow conditions are and . Define the shared inverted direction and the two direction-match signals
Each is one exactly when : it equals for upward counting and for downward counting. Thus the Boolean functions for the three D inputs are
Implement this with two NOT gates for , four two-input exclusive or gates for , and one two-input AND gate. Connect to the D flip-flop whose output is ; feed the three outputs back into the indicated gates. All three flip-flops capture simultaneously, so each equation uses the old state.
Figure 1.
Synchronous three-bit up-down binary counter: common clock signal, explicit D inputs and feedback
. Details.
Current Next for Next for
000001111
001010000
010011001
011100010
100101011
101110100
110111101
111000110
Every three-bit state is valid. A reset may initialize the binary counter to zero if required; counting itself needs no extra state. The direction input must meet the setup time and hold time requirements at the active clock edge.
For an estimate, use the usual equal-device CMOS series-stack model: a -input NAND gate or NOR gate has a worst-case propagation delay approximately times that of an inverter, because a conducting path contains series transistors. An AND gate or OR gate adds an output inverter. With a 1 ns inverter this gives, for ,
For it reproduces the stated 3 ns. This is a technology estimate under equal sizing and comparable loading, not a unique physical law inferable from a single measured delay. Actual propagation delay also depends on capacitance, fan-out and transistor sizing. If instead only the supplied two-input gates were allowed, a balanced tree would have worst-case depth and delay ns; that is a different construction from a single -input gate.
For the explicit circuit in part (a), the longest combinational logic path starts at , passes through the shared inverter, either direction-match exclusive or, the AND gate, and the final exclusive or feeding :
The path takes 5 ns, the paths from or to take at most 7 ns, and takes 1 ns. Both direction-match exclusive or gates act in parallel; their delays are not added together. The 8 ns excludes clock-to-Q delay, setup time, hold time and clock-distribution effects, because the question asks only for the combinational logic delay.
For a normal half-precision floating-point number, write the stored fields as sign , biased exponent and ten-bit fraction . The value is for . The leading one is implicit: the ten stored fraction bits give eleven significant binary digits including that one. The normalized binary representations and stored fields are
ValueNormalized binary representationSign, biased exponent, fraction
0 01110 0000000000
0 01110 0100000000
1 01100 1000000000
0 10010 1111000000
Thus the four 16-bit words are
Every conversion is exact: all four numbers have terminating binary representations within the available precision.
Both signs are positive, so perform addition of the aligned significands. The true exponents are and , a difference of four. Shift the smaller significand right four places, retaining its low bits:
Add at the common exponent:
Renormalization raises the true exponent to and the biased exponent to . There are only seven fraction places to retain, so no floating-point rounding changes the result:
The complete word is 0100110000001000.
The smallest positive normal half-precision floating-point number uses and a zero fraction, while the largest uses and all ten fraction bits equal to one. Hence
The corresponding words are 0 00001 0000000000 and 0 11110 1111111111. The stored exponent is reserved and cannot extend the finite normal range.
For a subnormal number, and the implicit leading bit becomes zero, while the scale remains . The least positive nonzero fraction is , giving
Using scale here would be incorrect: the subnormal number convention uses the minimum normal scale, not the ordinary biased-exponent formula at .
For the unsigned interpretation of the binary string, the set positions have weights . Thus
In 16-bit two's complement, the most significant bit is set, so subtract from that unsigned interpretation:
For a half-precision floating-point number, split the fields at their actual boundaries rather than the printed groups of four:
The sign is negative, the true exponent is , and the fraction is . It is a normal finite value, so
A zero-address instruction has no explicit operand addresses, so its operands and result location must be implicit in the instruction set architecture. A stack machine supplies these naturally: operations remove their inputs from the top of an operand stack and push the result. A fixed-processor register design is logically possible, so “almost certainly” is appropriately weaker than a proof that only a stack machine could work.
Write the stack from bottom to top, with its top on the right. Let stand for any unchanged prefix. Suitable effects are
Thus add pops two operands and pushes one sum, reducing stack occupancy by one. The special const c instruction pushes its immediate constant and increases occupancy by one. Only const needs an explicit value in its encoding.
Use two zero-address instructions for indirect access to computer memory. Define load to replace the top memory address by the value at that address, and define store to pop a value followed by the address just beneath it:
Both have no encoded address operand; the stack supplies it. If the known fixed memory addresses of the variables are , implement the assignment with
const p_x
const p_y
load
store
The successive stack suffixes are , then , then , then empty. Hence
The surrounding stack is restored. Other store conventions are possible, but the operand order must be stated and used consistently.
A computed memory address is just another integer on the operand stack. For a pointer held at fixed address , const p; load obtains the pointed-to address; another load obtains its contents. More generally, any expression that leaves an address on top may be followed by load, or may be retained beneath a computed value for store.
For an array whose base address is and whose element size is address units, the address of entry is , where stores the index. Add zero-address instructions mul and dup, with dup mapping to . A suitable sequence is
const b
const p_i
load
const w
mul
add
dup
load
const 1
add
store
The first six instructions leave the element address . The remaining suffix evolves as
with the final effect
The address is computed once and duplicated, so both accesses refer to the same array element. For unit-sized elements omit const w; mul. If the base address is itself held in a variable, replace const b by the instructions loading that variable's value. No instruction other than const requires an explicit operand.
Let and measure the extra operand stack space required from the current base, with each evaluation leaving one result. Evaluating first uses slots. Its result occupies one slot while evaluating , so that stage uses slots. The final add reduces two slots to one. Thus
By commutativity of addition, choose the smaller of these two bounds. Evaluate the child of larger depth first. The optimum recurrence on a binary expression tree is
Assign depth one to a literal or a simple already-addressable value, and compute the child depths recursively. If , the depths are integers, so ; evaluating first therefore attains , while reversing the order needs . If the depths are equal, whichever child goes second needs the extra retained-result slot. These lower bounds prove the recurrence is optimal for evaluating each child subtree without interleaving or spilling. Apply it at every node to minimize peak operand stack occupancy for the given binary expression tree; this is optimal stack evaluation of a binary expression tree.
This changes child evaluation order, not the parenthesization. For example, a chain-shaped binary expression tree can have depth two, whereas a balanced tree of eight leaves has depth four under this model. The reordering assumes expressions have no order-sensitive side effects or observable exceptions. Reassociating floating-point addition would require additional care because it can change floating-point rounding.
Fix sub to mean . If the depth-minimizing order evaluates the right operand before the left operand , the stack ends in , so ordinary sub would compute the wrong sign. Two possible instruction set architecture extensions are:
  • Add swap, with . After computing and then , use swap; sub to obtain . One general zero-address instruction handles every noncommutative binary operation and is useful elsewhere, but each reversed evaluation needs an extra instruction and extra execution time. It can be implemented without an additional operand stack slot.
  • Add reverse-operand variants, such as rsub with , and analogously reverse division and other required operations. After computing and then , a single rsub obtains . This avoids the extra executed swap, but requires more opcodes and decoder support, usually one reverse form for each affected operation.
Both preserve the same peak operand stack bound:
The first trades extra dynamic instructions for a smaller instruction set; the second trades a larger instruction set for fewer executed instructions. Neither extension makes order-sensitive side effects safe to reorder.
In natural deduction, conjunction introduction combines derivations of and under the available assumptions into . Disjunction elimination takes and two subproofs of the same conclusion , one assuming and the other assuming , and concludes . Implication introduction takes a subproof deriving from a temporary assumption , and concludes .
The rectangular boxes mark the scopes of temporary assumptions. The disjunction elimination rule discharges its two case assumptions, while the implication introduction rule discharges the antecedent assumption. Other surrounding assumptions remain in force; intermediate results depending on the boxed assumptions cannot be exported arbitrarily. Schematically,
Here the square brackets designate the assumptions discharged by the corresponding inference rule.
A common-context sequent version of the disjunction elimination rule is
The second and third premises record exactly the two boxed subproofs of the natural deduction presentation. Their additional case assumptions do not occur in the conclusion: that is assumption discharge. The surrounding context remains throughout. A formulation with different surrounding contexts is equivalent after retaining their union by weakening.
Read chained logical implications as right-associative. Use the following natural deduction derivation; indentation bars mark nested subproofs and the last column records rules and discharged line ranges:
Each application of the implication introduction rule discharges only its matching temporary assumption. Thus
Use conjunction elimination to extract the three inputs, then apply the implication elimination rule three times:
The implication introduction rule closes the only subproof, giving
Extract both negations, assume the logical disjunction, and use disjunction elimination to derive logical falsity in either case:
The two case subproofs are siblings, not nested within one another. Therefore
Use negation introduction separately for each component, introducing the forbidden logical disjunction in each subproof:
Both temporary assumptions have been discharged before the final conjunction introduction, so
In proof by contradiction, assume the negation of the desired conclusion and derive logical falsity; discharge that assumption and infer the desired conclusion. Its sequent rule is
This is a rule of classical propositional logic. It follows from the paper's negation introduction rule, which first yields , and double-negation elimination, which yields . This is stronger than merely deriving by showing that leads to logical falsity.
Use proof by contradiction, expanding the final classical step explicitly into negation introduction followed by double-negation elimination. First the assumption forces : otherwise immediately gives the prohibited logical disjunction. It similarly forces . The formal natural deduction derivation is
Hence
This direction of De Morgan's laws uses the classical rule supplied on the source rule sheet; it has not been silently treated as an available inference rule.
A variable is fresh for the surrounding context when it does not occur free in any undischarged assumption in . Choose it also distinct from bound variables that would cause variable capture in the intended substitution. The universal quantifier introduction rule is
Its justification is that the logical derivation of used no special information about , so it establishes the property of an arbitrary object. Semantically, changing the assignment of preserves the truth of ; therefore holds for every possible assigned object. Without the eigenvariable condition, the assumption could incorrectly be generalized to in an interpretation where only one of two objects satisfies .
Choose an eigenvariable fresh for the premise. Use the existential quantifier introduction rule to contradict the premise under a temporary assumption :
At line 6 the assumption has been discharged and the sole remaining premise has no free , satisfying the eigenvariable condition. Thus
Choose fresh. Here double-negation elimination is necessary to turn the negation of a possible counterexample into the positive statement:
The remaining context at line 7 contains no free . The universal quantifier introduction rule therefore gives
Use a fresh existential witness . Within the assumption of the forbidden universal quantification, eliminate the original existential quantification to obtain logical falsity:
The witness appears neither in the exported conclusion at line 6 nor in the other undischarged assumptions. The existential quantifier elimination rule is therefore valid, and
The premise limits every possible existential witness to the objects named by ; it does not assert that these constants name distinct objects. Instantiate it at a fresh witness , then apply disjunction elimination. In the first case equality elimination rule transfers to ; in the second it transfers to , contradicting the assumed negation. The full natural deduction derivation is
The sibling case subproofs end before the witness subproof closes. At line 13, is absent from and from all surrounding assumptions, so no witness escape occurs. The final two applications of implication introduction give
The logical falsity elimination rule is needed to complete the contradictory second case with the same conclusion as the first case.

Articles by others on the same topic (0)

There are currently no matching articles.