coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Andrei Popescu <andrei.h.popescu AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] A verified bootstrapping computer (academic curiousity)
- Date: Sat, 8 Jan 2022 19:28:25 +0000
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=andrei.h.popescu AT gmail.com; spf=Pass smtp.mailfrom=andrei.h.popescu AT gmail.com; spf=None smtp.helo=postmaster AT mail-qv1-f52.google.com
- Ironport-data: A9a23:eBvWX6mljHPm24CESzI00qvo5gzoJ0RdPkR7XQ2eYbTBsI5bpzxVmjMcXGzQPfzYNmOkeIwjbN7kpBhXsZPVmtMyTQRk3Hw8FHgiRejtVY3IdB+oV8+xBpSeFxw/t512huEtnanYd1eEzvuWGuWn/SkUOZ2gHOKmUradYnApH2eIdQ944f5ds75h6mJXqYPha++9kYuaT/z3YDdJ6RYsWo4nw/7rRCdUgRjHkGhwUmrSyhx8lAS2e3E9VPrzLEwqRpfyatE88uWSH44vwFwll1418SvBCvv9+lr6WkgDQ7qXJBbXz3QLAe6thR9NoiF02aE+XBYeQR0P2nPZwpYrkYQL6MbYpQQBZsUgnMwUVRVCHiA4Pete/6fKOnOimcOWxkzCNXDrxp2CCWlvYdZJobsnWQmi8tRBcGxXBvyZvMq9x6v+Qe1xjOw4PczzNcUevGthxHfXF54brTrrV/2fv5kHyG5l3oYWCayLP4xDOGs2eE+VO1sSLghCIYwat+KMqnnbUjR+lEixm6sS9zGLmVUolOL5WDbOUtmDRMEQh1jB42ybpSL2BRYVMNHZwj2Amk9AT9TnxUvTML/+3pXhnhKrvLGS+oDXIBgfVF/+uOfgz0DjAZRQLEsb/idopq83nKBuZrERQDXgyENofDZFMzaTLwH+wA6Iw6vQpQ2eAwDoixZfPcc+upZeqSMCjze0chCAOdCrmLKQQHOZsLyTqFte/AB9wXAqPUc5cOfO3zUvTEzfQP4CohaP3ZNZVuHIJAw=
- Ironport-hdrordr: A9a23:9jq7T6yA9pdmjw6Ctu0IKrPwE71zdoMgy1knxilNoHtuA7SlfqGV7Y0mPHrP4gr5N0tQ/OxoVJPwI080sKQFgrX5Xo3CYOCFghrNEGgK1+KLqAEIWRefygc379YGT0ERMqyXMbG4t6rHCcuDfurIDOPpzElgv4nj80s=
- Ironport-phdr: A9a23:R+CbDhBPe4ZiMEUJ6Ik6UyQUyEMY04WdBeb1wqQuh78GSKm/5ZOqZBWZua80ygaVAM6KurptsKn/i+jYQ2sO4JKM4jgpUadncFs7s/gQhBEqG8WfCEf2f7bAZi0+G9leBhc+pynoeUdaF9zjaFLMv3a88SAdGgnlNQpyO+/5BpPeg9642uys5pHfeRhEiTW9bL99KBi7qRjau9ULj4dlNqs/0AbCrGFSe+RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPCTQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjmk8qxlSgLniD0fOjE2/mHYiMx+gqxYrhy8uRJw34HabZqJNPpnZK7RYc8WSXZDU8tXSidPApm8b4wKD+cZIetYqZTyp0EQohu/GAKiHuTvyidWiX/twaI6zvkqHAbc0wwmAt0OqmrbrNTvOKcSS+y11K7IzS3dYPNNxTj99ZPFch8kof6WXLJwddDdxlUoFwPAl1idr5HuMDyJ2OoXqWeb8/ZgWvy1i24hswx9vzmiyMkyhoTJiY8YxFTJ+Dh4zYs2K9C1TEF2bN2gHZZStiyXKop7T8w/T2xquis3xbMItJ+6cSUO1Zgr2R3SZvqaeIaG5RLjUfyeITZ+hH99Zb2wnRmy8VO8yu3hVsm01ExGoTdbndXUrXANzwbT6smBSvty4EihwyyD2BzU6uFBJ00/iKnVK4Y5z7IuipYetV7PEyz2lUnskqOaa0Ep9vKo5uj5ZLjtu4WSOJVuig7kN6Qjgsy/Dvo8MggJR2Wb/P6z1Lzn/UHgWbVKkOA6nrDXsJ3aO8gXvKG5AwhS0oYs7xawES2q38gfnXkCNF5FeRSHgJb1O1zWPvz0EfOyj06vnTpr3fzKIKDtD5HXInXDjrvtZbN95FRdyAo3w9Bf/ZVUCrQZLf3pXE/+qcbYAQE4MwCuw+brEs191oQGWW2RGa+WLL7SvESH5uIqOeaMZYsVtCzhJPgi4v7ilWU5lkMFfam1wZsXb2i1EehhI0WAeHbjntMBEXoRsQclV+zriFiCUSZJaHqoXqI84Cs7CIO8AovZSICtmu/J4CDuFZpPI2tCF1qkEHHydozCVe1fRjiVJ5pIlDAeWLnpc4g52AqlqUeuwrxrNOfVvC1erZX72cN++sXckBgz8Xp/CMHLgDLFdH19gm5dH2x+56t4u0Eokj9rNIB3hvVZEZpY4PYbCm/S2rbTyuV7D5b5XQeTJ79hqX6jS9SiRCgvF5c/noVIbEF6FNGvyBvE2njya4I=
I believe Magnus Myreen and collaborators have made important
methodological (and practical) progress on this topic, e.g.,
https://drops.dagstuhl.de/opus/volltexte/2021/13896/pdf/LIPIcs-ITP-2021-1.pdf
https://link.springer.com/article/10.1007%2Fs10817-015-9324-6
Best wishes,
Andrei
On Sat, Jan 8, 2022 at 7:21 PM Talia Ringer <tringer AT cs.washington.edu> wrote:
>
> Thanks, yes, that makes sense. Someone else I was talking to brought up
> that minimizing the TCB at each step is its own interesting constraint, but
> not necessarily the best one if your goal is to minimize the TCB in the
> end, and to do it efficiently.
>
> But if we do separate those two, it does kind of raise a question to me
> about what the final TCB really means, if it relies on bootstrapping
> starting with a system with a very large TCB at an earlier step. Then you
> have a large TCB that you trust only once; is this better than many smaller
> TCBs that you trust once each at each step of the process? (I'd believe
> it's easier to do, I just don't know if it's more trustworthy.) How does
> self-validation change that, if at all?
>
> I would love a course like this one day. I hope you're right.
>
> Talia
>
>
>
> On Sat, Jan 8, 2022, 1:13 PM Adam Chlipala <adamc AT csail.mit.edu> wrote:
>>
>> Thanks for drawing attention to a worthy goal, which I think at least a
>> few different research groups already have in mind, at least
>> philosophically.
>>
>> For such an effort, setting the goals properly can have a big effect on
>> where it winds up. I'm not sure it makes sense to ask to "minimize the
>> TCB as much as possible at each step." Rather, I'd expect that earlier
>> stages are discarded as they are used to produce later stages, and the
>> final stage can be used independently for self-validation. So, shrinking
>> the TCB in an earlier stage isn't necessarily a good deal, if it delays
>> the completion of later stages.
>>
>> There are plenty of high-impact proof-assistant developments that never
>> could have been completed so soon if e.g. the original Coq team had
>> decided to wait 20 additional years for the first release, to shrink the
>> TCB as much as they could think up in brainstorming a project roadmap!
>>
>> Also, I don't think this question has zero practical motivation. I would
>> hope that, 50 years from now, everyone takes for granted the existence of
>> a repeatable process like you describe, leading to the systems they depend
>> on. And, even sooner, we should be able to run undergraduate courses that
>> follow such processes toward more modest endpoints.
>>
>> On 1/8/22 1:41 PM, Talia Ringer wrote:
>>
>> Something that nerd-sniped me today: Suppose you are building a computer
>> from the ground up, starting with building the hardware. You cannot use
>> any other computers to build or verify anything; this is the only computer
>> in the world, and you have only what you've built at each step. You have
>> no languages, no operating systems, no compilers, no verification tools.
>> All you can do is bootstrap.
>>
>> Suppose you'd like to verify every single part of the hardware and
>> software stack to the degree possible. It's OK (inevitable I guess) to
>> start with unverified hardware, though, and replace it later with hardware
>> you verify (has anyone done that? It sounds cool). You have two additional
>> goals:
>>
>> 1) verify as much as possible at each each, and
>> 2) minimize the TCB as much as possible at each step.
>>
>> How would you go about this? What are the biggest conceptual barriers to
>> this, if any? What is the smallest you can get the TCB at any step of the
>> process, and in the end?
>>
>> This is a purely academic and open-ended question, with zero practical
>> motivation. It just sounds fun to think about and try, and like thinking
>> about it might reveal interesting subproblems that actually have practical
>> motivation.
>>
>> Talia
>>
- [Coq-Club] A verified bootstrapping computer (academic curiousity), Talia Ringer, 01/08/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Adam Chlipala, 01/08/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Talia Ringer, 01/08/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Andrei Popescu, 01/08/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Marco Servetto, 01/08/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Talia Ringer, 01/08/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Sam Kuper, 01/09/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Freek Wiedijk, 01/10/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Robert Solovay, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Jeremy Dawson, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Sam Kuper, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Freek Wiedijk, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Timothy Carstens, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), D. Ben Knoble, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Timothy Carstens, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Freek Wiedijk, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Sam Kuper, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Jeremy Dawson, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Robert Solovay, 01/11/2022
- Re: [Coq-Club] A verified bootstrapping computer (academic curiousity), Adam Chlipala, 01/08/2022
Archive powered by MHonArc 2.6.19+.