> John writes:
> This "only" proves down to the binary API. Is there proven hardware?

Their effort is only "proven to binary" but they do manage to run Linux on
it.

There is a language called Verilog to specify "down to the wires and
transistors"
See https://www.utdallas.edu/~gxm112130/papers/iscas15.pdf

There is "Project Oberon" which is designing a "complete desktop computer
from
scratch" staring from the wires and transistors. Their lowest layer is in
Verilog on
a Field Programmable Gate Array (FPGA):
http://www.projectoberon.com/
https://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf

<https://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf>
The proof game at this level involve mealy/moore state machines since
everything happens all at once on real hardware.

I have an Altera Cyclone FPGA that can run their RISC-V Verilog
http://daly.axiom-developer.org/AlteraCyclone.jpg
but haven't yet had the time to run the Oberon code.

So eventually the Coq proof runs from FPGA <-> Binary <-> Jitawa <->
Milawa <-> ACL2 / lisp <-> Axiom spad <-> algorithm spec <-> Coq proof.
It will take longer than I expect but all of the parts are there.

On Sun, Nov 11, 2018 at 7:09 PM Tim Daly <axiom...@gmail.com> wrote:

> All,
>
> This paper about ISA Semantics for ARMv8-A, RISC-V, and CHERI-MIPS
> https://alastairreid.github.io/papers/popl19-isasemantics.pdf
> is interesting. It seems to provide a "base case" for proving programs
> correct. In particular, they seem to be able to generate proof code for
> various provers, including Coq.
>
> One of the criticisms about "proven programs" is that they tend to
> ignore implementation details. But given a lisp variant, Milaw, that
> is proven to the hardware instructions this new step is really important.
>
> A proof of the machine instructions, a proof of milawa on top of those
> instructions, a proof of lisp extensions on top of milawa, and a proof
> of Axiom's spad language on top of lisp turns into a fully validated
> tower.
>
> It appears that all of this (and it is an impressive pile) can be developed
> in Coq.
>
> Also of interest, while I was part of the CMU CERT effort I developed
> the ISA for the Intel 32 bit processor [0]. My program reads Intel binary
> and generates "Conditional-Concurrent Assignment" semantics. I may
> be able to re-target the back end to their Sail language which would
> provide ISA semantics for Intel 32 in Coq.
>
> Tim
>
> [0]
>
> Daly, Timothy Intel Instruction Semantics Generator
> <http://daly.axiom-developer.org/TimothyDaly_files/publications/sei/intel/intel.pdf>
> SEI/CERT Research Report, March 2012
>
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
https://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to