Re: [Proving Axiom Correct] Bootstrapping a library

Renaud Rioboo <[email protected]>
Newsgroups gmane.comp.mathematics.axiom.devel
Message-ID <[email protected]>
Dear Axiom gurus,

> Axiom's NNI inherits from a dozen Category objects, one of which
> is BasicType which contains two signatures:
>
>  ?=?: (%,%) -> Boolean       ?~=?: (%,%) -> Boolean
>
> In the ideal case we would decorate BasicType with the existing
> definitions of = and ~= so we could create a new library structure
> for the logic system. So BasicType would contain
>
> theorem = (a, b : Type) : Boolean := .....
> theorem ~= (a, b : Type) : Boolean := ....

Since BasicType is not an implementation you need to write a 
specification for equal and different. These specifictions should be 
inherited and proved at the domain level. You can see the standard 
library of FoCaLiZe for details.

In practice you need a language for writing logical statements and a 
language to prove these statements. Again see the FoCaLiZe library (for 
instance lattices) to see how a statement can be used in a proof.

> Unfortunately it appears the Coq and Lean will not take kindly to
> removing the existing libraries and replacing them with a new version
> that only contains a limited number of theorems. I'm not yet sure about
> FoCaL but I suspect it has the same bootstrap problem.

Inheritance is managed by the FoCaLiZe compiler together with 
dependencies which enables to have statements and proofs in a coherent way.


-- 
Renaud Rioboo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.