It generates both OCaml (executable) and Coq code (for verification needs). This paper extends the language and the compiler to handle termination proofs relying on well-founded relations or measures. We propose
Indeed, some langages, like Scheme or OCaml, provide us with this feature, but, except for defining recursive functions, its semantics is implementation-dependent. More precisely, in computing (let rec x = N in M ), it could happen that evaluating N we have to call the value of x, ...
For the OCaml implementation, by running thedune buildcommand in thequicksub_evaldirectory, no output errors should be displayed. To test if the implementation is working correctly, you can run the provided test scripts as described in the evaluation instructions. For example, a quick test (with...
Making hc_opts depend on the Haskell file requires the small and obvious change: cmd "ghc" (hc_opts hs) hs Namely, we turn hc_opts from a constant to a function. To use richer pattern matching we can drop down to a lower-level Shake operation. In Shake %> is itself defined in ...
The rank-2 function argument expects the field typeato stay the same when it changesptoq, however in the above formulation ofExprthe field typeExpr pchange toExpr qwhen changing the type parameter. Type -> Type: The DTALC andrecursion-schemesapproach ...
Adam:Going through your book, one of the things I appreciated was how far you take things without actually doing an implementation of the function? But rewinding a little bit, so you use this term algebra, then I think that coming to terms with what that means is, at least for me, it...
Proofs are written using the declarative proof language provided by FoCaLiZe, and the automatic theorem prover Zenon. When compiling to Coq we rely on the Coq construct Function.Catherine DuboisFrancois PessauxInternational Symposium on Trends in Functional Programming...
The forgetting factor λ is introduced to exponentially decrease the remote data in the least square error function V shown in Equation (8), in which L is the number of observations: V = L ∑λL−k[y(k) − ϕT (k)θˆ]2 k=1 (8) The minimum value of the least square ...