Programs and proofs: A molecular toolchain

dc.contributor.advisor Lutz, Jack H
dc.contributor.advisor Lathrop, James I
dc.contributor.advisor Gilbert, Stephen B
dc.contributor.advisor Lutz, Robyn R
dc.contributor.advisor Basu, Samik
dc.contributor.author Potter, Hugh
dc.contributor.department Computer Science en_US
dc.date.accessioned 2023-01-10T17:15:56Z
dc.date.available 2023-01-10T17:15:56Z
dc.date.issued 2022-12
dc.date.updated 2023-01-10T17:15:56Z
dc.description.abstract Molecular programming is an exciting field that combines techniques from biology, chemistry, and computer science to achieve remarkable results at the molecular scale. Most conventional engineering techniques do not apply apply at nanoscale; to create nanoscale structures, we must often program them to assemble themselves. We identify two challenges in this domain. First, design complexity: the molecular formalisms that we use to design nanoscale systems are powerful but complex. What abstractions can we create to access this power in a way that is straightforward for humans to understand and reason about? We present ALCH, an imperative language that compiles into the chemical reaction network-controlled tile assembly model. Second, verification: if we want to use nanotechnological devices in industry and medicine, we must be able to prove that they are safe, and function as expected. In this work, we focus on verification via machine-checkable mathematical proofs; we discuss two efforts to apply this technique to chemical reaction networks (CRNs). In one effort, we incorporate machine-checked proofs into a larger verification process to augment model checking results. In a subsequent effort, we encode CRN semantics from the ground up in a machine-checkable proof language and fully verify a rateless CRN with a population-induced phase transition. We attempt to apply a variety of other verification techniques to this CRN to address the larger question of what role machine-checked proofs have to play in molecular verification.
dc.format.mimetype PDF
dc.identifier.orcid 0000-0003-4437-674X
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/jw270xxv
dc.language.iso en
dc.language.rfc3066 en
dc.subject.disciplines Computer science en_US
dc.subject.keywords molecular programming en_US
dc.subject.keywords nanotechnology en_US
dc.subject.keywords verification en_US
dc.title Programs and proofs: A molecular toolchain
dc.type article en_US
dc.type.genre dissertation en_US
dspace.entity.type Publication
thesis.degree.discipline Computer science en_US
thesis.degree.grantor Iowa State University en_US
thesis.degree.level dissertation $
thesis.degree.name Doctor of Philosophy en_US
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Potter_iastate_0097E_20682.pdf
Size:
1.53 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
0 B
Format:
Item-specific license agreed upon to submission
Description: