By the way, doing theorem-proving in ATS/LF is a bit like translating
functional programs into Prolog.On Sunday, June 7, 2015 at 1:04:09 AM UTC-4, Kiwamu Okabe wrote:
Hi Hongwei,
On Sun, Jun 7, 2015 at 3:32 AM, gmhwxi <gmh...@gmail.com <javascript:>> wrote:
‘stacst’ introduces an abstract static constant.
‘propdef’ is like ‘typedef’ but it is only for introducing a prop
definition.On Saturday, May 23, 2015 at 8:47:13 PM UTC-4, Kiwamu Okabe wrote:
Hi Hongwei,
On Sat, May 23, 2015 at 4:44 PM, gmhwxi <gmh...@gmail.com <javascript:>> wrote:
For a little bit of fun, I did an encoding of the palindrome problem in
ATS:
Of course, these identities can also be proven in ATS.
Theorem-proving systems like Coq and Isabelle are good at proving theorems
interactively.
However, how do people actually come up with theorems to prove in the first
place? For
instance, how does one actually come up with the idea that append(xs,
reverse(xs)) is a palindrome?
This is the kind of question that motivated me to study the so-called
“programmer-centric” approach to
theorem-proving in ATS.On Friday, May 22, 2015 at 5:16:12 AM UTC-4, Kiwamu Okabe wrote:
Hi Hongwei,
This is my report for homework.
On Fri, May 22, 2015 at 12:22 AM, Hongwei Xi <gmh...@gmail.com <javascript:>> wrote:
Why don’t you use REVERSE and APPEND have already defined?
I could but doing so would take more time.
A person doing theorem-proving in a system like Coq often gets distracted
as the focus is much more on low-level technical details than on the kind of
high-level reasoning humans prefer.On Saturday, May 23, 2015 at 8:55:35 PM UTC-4, Kiwamu Okabe wrote:
Hi Hongwei,
On Sat, May 23, 2015 at 4:46 PM, gmhwxi <gmh...@gmail.com <javascript:>> wrote:
For a little bit of fun, I did an encoding of the palindrome problem in
ATS: