Not an error, rather what I believe may be misleading, if I understand
correctly.
In “Example: Verified Fast Exponentiation”
http://ats-lang.sourceforge.net/DOCUMENT/INT2PROGINATS/HTML/HTMLTOC/x3252.html
An absprop
MUL
is defined, then follows the declaration of a dynamic
function mul_elt_elt
, returning a proof of MUL(x, y, xy)
.
This function has no body, and indeed, there is no way for a dynamic
function to instantiate a MUL
, as it’s an abstract proposition, thus, not
defining any dynamic constructor which would be usable from the body of a
dynamic function. This function declared with fun
, behaves like a
praxi
, and I though this may be better to use praxi
.
I just wondered what about systematically use praxi
is these cases, as it
underlines it’s axiomatic (and one should always be careful with axioms).
Or is there a reason for it to be declared with fun
instead of praxi
?
Especially in the documentation, praxi
would be better, isn’t it?
There are two others in “Linear Channels for Asynchronous IPC”
http://ats-lang.sourceforge.net/DOCUMENT/INT2PROGINATS/HTML/HTMLTOC/x4355.html
queue_isnil
declared with fun
, returning a proof of ISNIL(id, b)
and
ISNIL
is an absprop
queue_isful
declared with fun
, returning a proof of ISFUL(id, b)
and
ISFUL
is an absprop
too.
Unless I’m wrong…Le mercredi 28 janvier 2015 18:49:32 UTC+1, Yannick Duchêne a écrit :
I don’t remember of any already existing one, so I’m opening this thread
where to report any errors in the docs, instead of opening a new thread for
each possible eventual errors (saying that, I don’t want to mean there are
many).