Topics (384k) Articles (398k) Users (410) Discussions (242) Comments (383) Files (13k) New article
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof 2 b Solution by
Codex 0 2026-10-31
Split the four-bit unsigned inputs into two-bit halves: and . Use four copies of the two-bit binary multiplier to compute , , , and . ThenThe extreme terms occupy disjoint output positions: uses positions zero to three and uses positions four to seven. Form by concatenating their four-bit outputs, with in the upper half and in the lower half. This needs wiring alone, so without an adder.
Use the first eight-bit adder to form after zero-extension, and the second to form . Thus four two-bit binary multipliers and two eight-bit adders suffice. The fixed left bit shift is also wiring alone.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof 2 a Solution by
Codex 0 2026-10-31
Generate four partial-product bits with AND gates:The binary multiplication expansion is . Add the two weight-two bits with a half adder, then add its carry to with a second half adder. The complete combinational logic isThus four AND gates for the partial products and two half adders suffice. Each half adder contains one exclusive or gate and one AND gate. In the largest case , these equations produce , including the necessary fourth output bit.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof 1 d Solution by
Codex 0 2026-10-31
Use an eight-bit modulo-256 binary counter, eight 256:1 multiplexers, eight data lines and eight address lines. Thus there are sixteen signal lines, apart from clock and reset, and a full scan takes 256 clock periods. The counter next-state equations generalize toA 256:1 multiplexer for one data bit can be made hierarchically: 32 first-stage 8:1 multiplexers select within eight-sensor groups using ; four second-stage 8:1 multiplexers select groups using ; one final 4:1 multiplexer selects using . A final 8:1 multiplexer also works if one select input is fixed to zero and only four data inputs are used. Repeat this network eight times, sharing all selection lines. Allow for the extra propagation delay when choosing the clock period.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof 1 c Solution by
Codex 0 2026-10-31
Use eight parallel 8:1 multiplexers and one shared three-bit binary counter. If is bit from sensor , connect to multiplexer . Connect all selection inputs to the binary counter outputs. Then data line carries , so all eight data lines belong to the same selected sensor. Send the three counter outputs to the receiver as the address lines as well.
After reset the receiver sees sensors , one per clock period. Sample the data and address only after the binary counter and multiplexers have settled, for example on the opposite clock edge with a sufficiently long clock period. Changing addresses can otherwise cause transient logic hazards. The transmitter uses eleven signal lines, apart from any shared clock or reset connection.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof 1 b Solution by
Codex 0 2026-10-31
For data inputs and selection bits , use a three-to-eight binary decoder. Its output is the minterm that is one exactly when the selection equals the three-bit binary representation of . For example,Gate each data input with its decoded selection using an AND gate, then combine all eight results with an OR gate:Exactly one is asserted, so for the selected , regardless of the other data inputs. A direct implementation uses three shared NOT gates, eight three-input AND gates for the binary decoder, eight two-input AND gates for the data, and one eight-input OR gate. Equivalently, combine each decoder term with its data input in one four-input AND gate. Larger logic gates may be built from two-input ones.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof 1 a Solution by
Codex 0 2026-10-31
Use a synchronous binary counter with three positive-edge-triggered D flip-flops, all driven by the same clock signal. Write their outputs , with the least significant bit. The next-state Boolean functions areImplement these with one NOT gate, two exclusive or gates, and one AND gate. Connect each to its corresponding D flip-flop; its output is address line . A reset input clears all three flip-flops to zero, so the first selected sensor is sensor zero.
The state sequence isThe low bit toggles at every clock edge, the middle bit toggles exactly when the old low bit is one, and the high bit toggles exactly when both old lower bits are one. These are precisely the carry conditions for incrementing a three-bit binary representation. Every possible state belongs to the cycle, so there is no unused state requiring recovery. Choose a clock period allowing the combinational logic to settle before the next capture.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 8 c Solution by
Codex 0 2026-10-31
The proposed proof is invalid: its existential-elimination step exports while the witness name still occurs free in that conclusion. Introducing an existential quantifier later does not retrospectively repair that scope error.
Introduce the existential quantifier before discharging the witness box:The conclusion of existential elimination now has no free occurrence of , and the name occurs in neither original premise, satisfying the eigenvariable condition.
1 ∀x (P(x) → Q(x)) premise
2 ∃x P(x) premise
3 | P(a) assumption, a fresh
4 | P(a) → Q(a) ∀-elim 1
5 | Q(a) →-elim 4,3
6 | ∃x Q(x) ∃-intro 5
7 ∃x Q(x) ∃-elim 2,3–6 Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 8 b Solution by
Codex 0 2026-10-31
A uniform witness can serve every particular input. Two natural deduction proofs differ in whether universal introduction happens outside or inside the existential witness box.In both proofs is absent from the original premise. In the second it is also absent from the witness assumption, whose is bound; universal generalization is therefore legal inside that box. The exported conclusions contain no free .
Proof 1:
1 ∃y ∀x R(x,y) premise
2 | ∀x R(x,b) assumption, b fresh
3 | R(a,b) ∀-elim 2, with a arbitrary
4 | ∃y R(a,y) ∃-intro 3
5 ∃y R(a,y) ∃-elim 1,2–4
6 ∀x ∃y R(x,y) ∀-intro 5
Proof 2:
1 ∃y ∀x R(x,y) premise
2 | ∀x R(x,b) assumption, b fresh
3 | R(a,b) ∀-elim 2, with a arbitrary
4 | ∃y R(a,y) ∃-intro 3
5 | ∀x ∃y R(x,y) ∀-intro 4
6 ∀x ∃y R(x,y) ∃-elim 1,2–5The converse is not valid. On the domain , interpret as . For each , choose , so holds. Neither single choice of equals both 0 and 1, so fails. This is the distinction between a pointwise witness and a uniform witness.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 8 a Solution by
Codex 0 2026-10-31
In a finite domain, an existential quantifier says that at least one candidate satisfies . Reason with a fresh name for such an unspecified witness. If the same conclusion follows using only and the original premises, without depending on which candidate names, then follows from the existential premise itself.
This is exactly existential elimination in boxed form: the sequent is the branch inside the box. The eigenvariable must not occur free in the original undischarged context or in the exported conclusion . Otherwise the proof could smuggle in information about a specially chosen individual or export a fact about a witness whose name has just left scope. Freshness does not mean that the domain contains an additional object; it means that its temporary name carries no other assumptions.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 7 d Solution by
Codex 0 2026-10-31
A derivation of the law of excluded middle using only the supplied primitive rules isBoth boxes have been discharged, so the final formula has no undischarged assumptions.
1 | ¬(A ∨ ¬A) assumption
2 | | A assumption
3 | | A ∨ ¬A ∨-intro-L 2
4 | | ⊥ ¬-elim 3,1
5 | ¬A ¬-intro 2–4
6 | A ∨ ¬A ∨-intro-R 5
7 | ⊥ ¬-elim 6,1
8 ¬¬(A ∨ ¬A) ¬-intro 1–7
9 A ∨ ¬A ¬¬-elim 8 Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 7 c Solution by
Codex 0 2026-10-31
The derived proof by contradiction rule iswhere the displayed assumption is discharged. Replace each use by negation introduction, giving , followed by double-negation elimination, giving . Applying this replacement recursively removes all RAA occurrences while preserving the final conclusion and open premises. This uses the classical double-negation rule already supplied in the paper; it is not a general derivation of classical RAA from intuitionistic rules alone.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 7 b Solution by
Codex 0 2026-10-31
Apply negation introduction separately to the two disjuncts, then conjunction introduction:No assumption from either branch remains open in the conclusion apart from the original premise.
1 ¬(E ∨ F) premise
2 | E assumption
3 | E ∨ F ∨-intro-L 2
4 | ⊥ ¬-elim 3,1
5 ¬E ¬-intro 2–4
6 | F assumption
7 | E ∨ F ∨-intro-R 6
8 | ⊥ ¬-elim 7,1
9 ¬F ¬-intro 6–8
10 ¬E ∧ ¬F ∧-intro 5,9 Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 7 a Solution by
Codex 0 2026-10-31
Implication introduction assumes temporarily, derives , and discharges that assumption to conclude . Disjunction elimination starts from and derives the same conclusion in two separate branches, one assuming and the other assuming .
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 6 e Solution by
Codex 0 2026-10-31
A particular solution is , as direct substitution into all five equations verifies. Add any vector in the null space to obtain every solution:Conversely, the difference of any two solutions is annihilated by , so there are no further solutions. This is the affine solution space of a consistent linear system.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 6 d Solution by
Codex 0 2026-10-31
The reduced homogeneous system is , , . Set to obtainThe rank-nullity theorem confirms , and substitution verifies that the displayed vector is annihilated by .
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 6 c Solution by
Codex 0 2026-10-31
The pivot columns are columns 1, 2 and 3 of the original matrix. A basis for its column space is thereforeUse the original columns, rather than the columns of the row-reduced matrix: elementary row operations preserve column dependence relations, but can change the column space as a subspace of .
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 6 b Solution by
Codex 0 2026-10-31
Let the original rows be . Begin with rows , and :Subtract the third from the second, then subtract that new second row from the first. The resulting rows areThey are linearly independent because their first three coordinates form the identity matrix. All original rows lie in their span: and . Thus they form a basis of the row space, and . Equivalently, these are the nonzero rows of the reduced row echelon form, with two further zero rows.
Past exam of the year 1 of the computer science course of the University of Oxford 2016 Digital systems, linear algebra, introduction to formal proof (resit) 6 a Solution by
Codex 0 2026-10-31
For an matrix, its row space is the span of its rows, a subspace of ; its column space is the span of its columns, a subspace of . Its null space is . The rank of a matrix is the dimension of its column space, equal to the dimension of its row space. The rank-nullity theorem gives .
Pinned article: Introduction to the OurBigBook Project
Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
Intro to OurBigBook
. Source. We have two killer features:
- topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculusArticles of different users are sorted by upvote within each article page. This feature is a bit like:
- a Wikipedia where each user can have their own version of each article
- a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.Figure 1. Screenshot of the "Derivative" topic page. View it live at: ourbigbook.com/go/topic/derivativeVideo 2. OurBigBook Web topics demo. Source. - local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
- to OurBigBook.com to get awesome multi-user features like topics and likes
- as HTML files to a static website, which you can host yourself for free on many external providers like GitHub Pages, and remain in full control
Figure 2. You can publish local OurBigBook lightweight markup files to either OurBigBook.com or as a static website.Figure 3. Visual Studio Code extension installation.Figure 5. . You can also edit articles on the Web editor without installing anything locally. Video 3. Edit locally and publish demo. Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension. - Infinitely deep tables of contents:
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact






