[CakeML-dev] Using CF

Scott Owens S.A.Owens at kent.ac.uk
Wed Feb 15 22:30:51 UTC 2017


I committed an imperative quicksort in the characteristic/examples directory, but I made a new quicksort branch off of basis because it takes several minutes to process the  quicksort functions. I didn’t want to slow everything down with something that is so far still very sketchy.

I seem to be getting the hang of the CF stuff using the tutorial script and the cfTacticsLib.sig file. However, the proof is very fiddly, and I don’t know it it will be practical to complete without better automation support. Right now, I’ve sketched some of the important invariants and tried to sketch their proofs. I would love to work with someone on this who has used the CF to verify something before, at least while I’m still a novice at using it.

Scott


> On 2017/02/15, at 20:39, Ramana Kumar <Ramana.Kumar at cl.cam.ac.uk> wrote:
> 
> git checkout basis wouldn't fail but would reset any uncommitted changes in the basis directory
> 
> To switch to the branch you have to disambiguate it from the directory, e.g. git checkout origin/basis
> 
> There is a tutorial file under characteristic/examples I think
> 
> And yeah I think basis branch is probably a good place to work on CF examples.
> 
> On 16 Feb 2017 00:46, "Magnus Myreen" <magnus.myreen at gmail.com> wrote:
> I tend to do:
> 
>   git clone git at github.com:CakeML/cakeml.git -b basis cakeml-basis
> 
> and keep each branch in a directory of its own.
> 
> Cheers,
> Magnus
> 
> On 15 February 2017 at 14:43, Scott Owens <S.A.Owens at kent.ac.uk> wrote:
> > Ok. I’ll have a look.
> >
> > Oddly, "git checkout basis” silently fails and doesn’t switch away from master. I’m just going to checkout the specific commit at the head of the basis branch for now.
> >
> > Scott
> >
> >> On 2017/02/15, at 11:59, Magnus Myreen <magnus.myreen at gmail.com> wrote:
> >>
> >> There are plenty of examples under cakeml/basis on the basis branch,
> >> some of which might already have propagated to env-refactor. There are
> >> also examples under cakeml/characteristic/examples.
> >>
> >> I've just now pushed a patch that gets the translator built again with
> >> Holmake --fast on the env-refactor branch. I don't know if
> >> cakeml/characteristic builds.
> >>
> >> Cheers,
> >> Magnus
> >>
> >>
> >> On 15 February 2017 at 12:52, Scott Owens <S.A.Owens at kent.ac.uk> wrote:
> >>> I’d like to work on some simple algorithmic verification (quicksort or the like) using CF, just to get familiar with how it works. Can anyone point me to what HOL and CakeML commits I should be using to get a working CF? Also, where are the existing examples, so that I can not duplicate any, and also see how to get started.
> >>>
> >>> Scott
> >>> _______________________________________________
> >>> Developers mailing list
> >>> Developers at cakeml.org
> >>> https://lists.cakeml.org/listinfo/developers
> >
> 
> _______________________________________________
> Developers mailing list
> Developers at cakeml.org
> https://lists.cakeml.org/listinfo/developers



More information about the Developers mailing list