Skip to content

Commit 42001be

Browse files
committed
Refine intro
1 parent 7e990fb commit 42001be

1 file changed

Lines changed: 41 additions & 28 deletions

File tree

lec-computation.typ

Lines changed: 41 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,37 +16,40 @@
1616

1717
== Why Theory of Computation?
1818

19-
We have studied _propositional logic_, _SAT_, and _first-order logic_.
19+
We have studied _propositional logic_, _SAT_, and _first-order logic_. \
2020
A natural question recurs: *"Which problems can be solved automatically?"*
2121

2222
#Block(color: yellow)[
2323
*The central question of this lecture:*
24-
2524
Given a decision problem (e.g., "is this FOL formula valid?"), does there exist an _algorithm_ that always answers correctly in _finite time_?
2625
]
2726

28-
#columns(2)[
29-
*We have already seen:*
30-
- SAT is NP-complete --- hard, but _decidable_ \
31-
_(an answer always exists, just slowly)_
32-
- FOL validity is only _semi-decidable_ \
33-
_(provability but not refutability)_
34-
- Some SMT theories are _decidable_ \
35-
_(e.g., linear arithmetic over $RR$)_
36-
- FOL over $NN$ (Peano Arithmetic) is undecidable
37-
38-
#colbreak()
39-
40-
*This lecture provides:*
41-
- Formal definition of "computation"
42-
- Precise meaning of _decidability_
43-
- Rice's theorem: why program verification is _hard in general_
44-
- Why SMT solvers restrict to specific _theories_
45-
]
27+
#grid(
28+
columns: 2,
29+
column-gutter: 1em,
30+
[
31+
*We have already seen:*
32+
- SAT is NP-complete --- hard, but _decidable_ \
33+
_(an answer always exists, just slowly)_
34+
- FOL validity is only _semi-decidable_ \
35+
_(provability but not refutability)_
36+
- Some SMT theories are _decidable_ \
37+
_(e.g., linear arithmetic over $RR$)_
38+
- FOL over $NN$ (Peano Arithmetic) is undecidable
39+
],
40+
[
41+
*This lecture provides:*
42+
- Formal definition of "computation"
43+
- Precise meaning of _decidability_
44+
- Turing machines as a model of computation
45+
- Rice's theorem: why program verification is #box[_hard in general_]
46+
- Why SMT solvers restrict to specific _theories_
47+
],
48+
)
4649

47-
#Block(color: blue)[
48-
*Payoff:* You will understand precisely _why_ automated verification requires carefully chosen decidable fragments --- and why general program verification is fundamentally undecidable.
49-
]
50+
// #Block[
51+
// You will understand precisely _why_ automated verification requires carefully chosen decidable fragments --- and why general program verification is fundamentally undecidable.
52+
// ]
5053

5154
== Formal Languages
5255

@@ -126,17 +129,22 @@ Formal languages are classified into four nested levels:
126129
],
127130
)
128131

129-
#Block(color: yellow)[
130-
"Is $w in L$?" and "does the algorithm say yes on input $w$?" are _the same question_.
132+
#place[
133+
#v(1em)
134+
#Block(color: yellow)[
135+
"Is $w in L$?" and "does the algorithm say yes on input $w$?" are _the same question_.
131136

132-
Formal language theory gives us the mathematics to study the _limits of computation_.
137+
// Formal language theory gives us the mathematics to study the _limits of computation_.
138+
]
133139
]
134140

135141
== Language Complexity Classes
136142

143+
#v(-1em)
137144
#align(center)[
138145
#cetz.canvas({
139146
import cetz.draw: *
147+
scale(95%)
140148
circle((0, 0), radius: (0.8, 0.4))
141149
circle((0, 0.4), radius: (1.4, 0.8))
142150
circle((0, 0.8), radius: (2, 1.2))
@@ -159,8 +167,13 @@ Formal languages are classified into four nested levels:
159167
})
160168
]
161169

162-
#note[
163-
*SAT* is decidable (NP-complete). *HALT* is recognizable but _not_ decidable: a TM can confirm halting by simulation, but cannot confirm non-halting. $"REGULAR"_"TM"$ = "does TM $M$ recognize a regular language?" --- in neither RE nor co-RE.
170+
#place[
171+
#v(1em)
172+
#note[
173+
*SAT* is decidable (NP-complete).
174+
*HALT* is recognizable but _not_ decidable: a TM can confirm halting by simulation, but cannot confirm non-halting.
175+
$"REGULAR"_"TM"$ = "does TM $M$ recognize a regular language?" --- in neither RE nor co-RE.
176+
]
164177
]
165178

166179
= Machines

0 commit comments

Comments
 (0)