⟶ empty: ⟶ Definition. A list is an ordered sequence of objects. A list is either the empty list (), or the result of prepend(, ) for some object and list . List Operations Constructors Observers 2
V , … , X and = U , V , … , Y is U , V , … , X , U , V , … , Y . How can we define this constructively? Also: poll on “slack breaks” Any questions about PS6, definitions so far, recursive data, etc. 9
(Natural Numbers) for all data type objects for all reachable states To prove ^ for all natural numbers prove a base case 0 _ base object prove an inductive step ⇒ ( + 1) ⇒ for all constructable from ⇒ for all reachable from quod erat demonstrandum. 17
a threat and demanding tribute Victim either pays tribute (usually in the form of sugary snack) or risks being tricked Tricker must convince Victim that she poses a credible threat: prove she is a qualified tricker
) . Verifier: convinced prover knows , but learns nothing useful about . Verifier: picks random . Need a one-way function: hard to invert, but easy to compute.