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 | ||
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
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
1 - 1 of 1
No Thumbnail Available
- Name:
- license.txt
- Size:
- 0 B
- Format:
- Item-specific license agreed upon to submission
- Description: