Hello Junyan (I assume that is your given name; apologies if I am
wrong). Unfortunately I do not have time to read in detail all your
links, but I took a glance at all of them.

> I have been wondering what proof assistant I should use
There are many proof assistants; my only real experience is with HOL4
and I can recommend it. I do not recommend Coq because its logic is very
complex and appears to be nowhere described in full detail. In my
opinion, formalizing something in a proof assistant whose logical
framework is uncertain defeats the purpose of formalizing the theory in
the first place. Originally I started learning Coq but I switched to
HOL4 after became aware of this shortcoming. The logic of HOL4 is very
simple (subjectively, simpler than ZFC) and a description in the natural
language customarily used for mathematics is found in the HOL4 manual.
The base logic of HOL4 is proven consistent relative to ZFC. Normally
one works by adding definitions that preserve soundness (assured by the
logical kernel). If needed, axioms can be added easily, to have a
stronger theory, losing the soundness guarantee. HOL4 is basically an
implementation of the formalization of higher order logic as a typed
lambda calculus proposed by Church in 1940.

HOL4 is written as just a library in the Standard ML programming
language. Thus it can be extended easily with derived inference rules
and the logical kernel verifies the primitive inference steps, thereby
there is no risk of introducing unsoundness with new proof tools. One
can also formalize and _run_ functional programs within the HOL4 logic.
There is an extensible library “computeLib” that returns a theorem
equating the original expression to its evaluated form according to the
transformation rules defined by the user; the resulting theorem is like
any other in that it is created using the primitive inference rules and
the same soundness guarantees apply.

> It's probably hopeless to determine the best play for an arbitrary
> initial position, but starting from the empty board, there should be
> relatively simple forced lines towards the optimal score under different
> rulesets: at least many human individuals have pruned the game tree
> enough that they are convinced of the alleged optimal solutions for 6x6
> and 7x7, and computers can be more exhaustive and quicker through
> automation. That's why I believe producing formally verified proofs is a
> feasible task with the advent of deep learning.

Formalizing results for small boards is an interesting project. In HOL4
one would write a decision procedure for Go that generates a proof
verified by the kernel, just as we already have for Presburger
arithmetic, boolean formulas and some more.

I suspect the key to fast decision procedures for Go is using the
advances of SAT solvers: clause learning, restarts, and some heuristics.
Intuitively, I doubt that the computer learning “““advances””” applying
ANN to Go will be of any use in automated theorem proving. The field of
computer learning, and the computers used thereby have been getting
dumber since it started. Around 40 years ago computer learning was about
giving _provably_ correct answers to extremely hard problems. The hot
topics were automated theorem proving and constraint satisfaction
solvers and decision procedures. Great theoretical and practical
advances were made. Now “computer learning”, “deep learning”, etc. is
just applying heuristics at vaguely defined problems to get approximate
answers. They use the dumbest hardware that I have seen: vector
computers (“““GPGPU”””) that can only do brute number crunching with
small floats (and they are often not even IEEE 754 compliant!!!). What a
shame.

> For interested people, this 2015 article is the most comprehensive
> analysis of 7x7 Go (by Li Zhe 6p) I've seen:
> https://m.newsmth.net/article/Weiqi/615932

In my browser it shows as a blank page.


I can not promise any immediate result or cooperation, because I am
still working with my formalization of Gregorian calendars algorithms in
HOL4, but I am interested in writing a decision procedure for Go coupled
with the HOL4 proof assistant.


Regards.

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Reply via email to