Dear Mark,

For the property of "faithfulness" defined in your paper, I have added a flag 
which is necessary in order to redefine or undefine a (non-temporary, i.e., 
non-local) definition. Hence in default mode, if you start the program 
supplying first the definitions relevant for you, for example with
        ./R0 definitions1.r0.txt undefine.r0.txt 
attempts to modify definitions produce an error message:

[...]
## Undefine truth definition
:= T
# error 1 [undefine.r0.txt]: definition removal not allowed without flag
# 1 error generated

For the definitions in file "definitions1.r0.txt", see pp. 356 f. of
        
http://www.kenkubota.de/files/R0_draft_excerpt_with_definitions_and_groups.pdf

I expect a publication of the formulae of R0 in March or April, and of the 
software in the course of the year.

But let me remark that R0 is designed for expressiveness, not for automation; 
hence for foundational research rather than practical purposes. Unlike all 
other existing proof assistants or proof checkers, it is a Hilbert-style 
system; moreover, it doesn't have a tactical meta-language (such as ML used by 
HOL) at all. Formalizing larger proofs in it will be quite exhausting (although 
of course, in principle possible). In this respect, it is less efficient than 
the HOL family, and more or less the exact opposite to Isabelle (with its focus 
on automation).

Being designed for expressiveness (reducibility) in the spirit of Q0 means that 
all elements of the formal language are reduced to the most basic components, 
trying to introduce both symbols and rules as far as possible as derived, and 
not as primitive symbols and rules. The concept of expressiveness is carried 
out consequently, e.g., by reducing the variable binders to lambda as the 
single one for binding type variables also, which leads to type abstraction 
(Gordon: "'second order' [lambda]-terms"), see, for example, the definition of 
the universal quantifier involving \t ([lambda] t with t of type tau, the type 
of types) provided with the link above. The design principles are chosen to 
arrive at the natural language of mathematics.

For the reduction of rules, see for example the HOL primitive rule of inference 
for discharging an assumption [DISCH] as described in [Gordon, 2001, p. 20]
        
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.27.6103&rep=rep1&type=pdf
which in Q0 is obtained as a derived (!) rule of inference in form of a 
Hilbert-style metatheorem [Andrews, 2002, pp. 228 f. (5240 = Deduction 
Theorem)], and like all other derived rules, from the single rule of inference 
of Q0.

I have only a partial understanding of Isabelle, but it seems to go further 
than HOL in terms of that the "Meta-logic" operator ==> mentioned on p. 11 of
        
http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/Isabelle2016-1/doc/main.pdf
is supposed to symbolically represent what in Hilbert-style systems can only be 
informally stated as a metamathematical statement (e.g., "If [...] then [...]." 
[Andrews, 2002, p. 228 (5240)]).

The philosophical idea is to relate the different representations of 
mathematics, showing that Hilbert-style is more fundamental and natural than 
"natural deduction", as it has less prerequisites and as it reveals the 
dependencies (e.g., between primitive and derived rules of inference), or, 
generally speaking, by going further down to the logical grounds. Ideally, it 
should be possible to formalize the deductive systems within a system (like in 
Goedel's proof) and show that they are isomorphic in terms of the theorems that 
can be obtained in them. I would then argue that the other systems (natural 
deduction) derive their legitimacy through this isomorphism to the original 
more basic (Hilbert-style) logic.

Ken

____________________

Ken Kubota
http://doi.org/10.4444/100



> Am 13.02.2017 um 20:28 schrieb Mark Adams <m...@proof-technologies.com>:
> 
> Unfortunately, and embarrassingly, there is not yet a system description 
> paper for HOL Zero.  I plan to write one soon (but I think I said that a few 
> years ago..).
> 
> I should take a good look at R0 some time and could then comment on it, but 
> good to hear that steps have been taken to address concerns about pretty 
> printing.  Clearly the qualities enumerated in Freek's paper are all 
> desirable, but remember that there is also "faithfulness", which isn't fully 
> addressed by the concept of Pollack-consistency.  You could print something 
> wrongly but also parse it back in correspondingly wrongly (so, for example, 
> print & parse "true" as "false" and vice versa).
> 
> Mark.
> 
> On 13/02/2017 15:38, Ken Kubota wrote:
>> Dear List Members,
>> Through Mark Adams' paper "HOL Zero's Solutions for Pollack-Inconsistency"
>> (2016) linked at the HOL Zero homepage, I became aware of the notion of
>> Pollack-consistency coined by Freek Wiedijk for the property of "a system 
>> being
>> able to correctly parse formulas that it printed itself":
>>      Freek Wiedijk: Pollack-inconsistency
>>      http://doi.org/10.1016/j.entcs.2012.06.008
>>      http://www.cs.kun.nl/~freek/pubs/rap.pdf
>> It is amusing to see how the parsing and printing functions of John's HOL 
>> Light
>> are put on the rack and stretched quite a bit.
>> Also Isabelle and other systems are examined.
>> The interesting point for me was to see that somebody had the same idea. In 
>> the
>> R0 implementation, not only a formula, but whole printed proofs can be parsed
>> again. In fact, if it is compiled and started with "make check", R0 loops
>> through all proofs, and this is done twice, with the output of the first run 
>> as
>> the input of the second, stopping immediately with an error message if a 
>> proof
>> fails or if the output of the two runs differ. This was implemented quite
>> early, so the system was designed from the very beginning to comply with a
>> notion of Pollack-consistency not only in terms of formulae, but in terms of
>> whole proofs. Like for HOL Zero, this was done in order "to achieve the 
>> highest
>> levels of reliability and trustworthiness through careful design and
>> implementation of its core components" - quoted from:
>>      Mark Adams: HOL Zero's Solutions for Pollack-Inconsistency
>>      http://doi.org/10.1007/978-3-319-43144-4_2
>>      http://www.proof-technologies.com/holzero/hzsyntax_itp2016.pdf
>> Concerning HOL4 and HOL Zero, I am looking for introductions to them in the
>> literature. The appropriate candidates seem to be, at the first glance 
>> (without
>> having read them already):
>>      Mark Adams: Introducing HOL Zero (Extended Abstract)
>>      http://doi.org/10.1007/978-3-642-15582-6_25
>>      Konrad Slind, Michael Norrish: A Brief Overview of HOL4
>>      http://doi.org/10.1007/978-3-540-71067-7_6
>> The latter I found as reference no. 14 of Mark's 2016 paper.
>> Please let me know if you have other suggestions.
>> Kind regards,
>> Ken Kubota
>> ____________________
>> Ken Kubota
>> http://doi.org/10.4444/100


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to