Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-25 Thread Tim Daly
ATS looks very interesting and no, I havne't seen this before. I will look into it. Axiom will be implemented in Common Lisp for a lot of reasons, not the least of which is that it depends on certain Lisp features to implement some algorithms. That said, I'm studying and implememting ideas from o

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-24 Thread Veer Singh
If you have looked at ATS lang and rejected it for your purpose then just ignore rest of mail. ATS programming language (http://www.ats-lang.org/) For more information (https://github.com/githwxi/ATS-Postiats/wiki) I think ATS is worth a look at least once if you are looking for lang/system that

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-22 Thread Tim Daly
Of particular interest is clarity. I've been working with LEAN. The code is in C++ and is very clever. For instance, there is a beautiful macro embedded in data structures to perform reference counting. Unfortunately, I can't reverse-engineer the logic rules that are embedded in the C++ code. HO

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-22 Thread Martin Baker
Tim, I can see how you can prove individual algorithms correct and I can see how you can use a proven Lisp but, if you want to prove "down to the metal", it looks to me like there is an enormous gap in-between which is SPAD. Can you really prove SPAD correct? You mention a specification lan

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-21 Thread Tim Daly
Hmm. The problem to be solved involves several parts. Idris is of interest in PART 6, 7, and 8 below. PART 1: We have the domain We have GCD in NAT (axiom: NonNegativeInteger or NNI) NonNegativeInteger is what Axiom calls a "Domain", which means that it contains signatures, such as quo : (%,%

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-21 Thread Martin Baker
On 21/09/2019 13:40, Henri Tuhola wrote: The elaborator reflection also allows accessing the term rewriting. I suppose that's all you need in order to write a program that simplifies equations inside the type context? I am trying to understand if these equations could be solved in this way? I

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-21 Thread Henri Tuhola
Idris has a way to present equalities like this: addition_unit : (a:Nat) -> (a + 0) = a addition_s : (a,b:Nat) -> (a + S b) = S (a + b) add_commutative : (a,b:Nat) -> (a + b = b + a) They can be used to prove more things: try_out : (x,y:Nat) -> ((x + 0) + y) = y + x try_out x y = rewrite additio

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-21 Thread Martin Baker
I'm a fan of both Axiom and Idris. I think my ideal would be Axiom mathematics build on top of the Idris type system. The Axiom type system was incredibly advanced for its time but I suspect the Idris type system has finally caught up and overtaken it? Correct me if I'm wrong but I think the A

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-20 Thread Tim Daly
Axiom has type information everywhere. It is strongly dependently typed. So give a Polynomial type, which Axiom has, over a Ring or Field, such as Polynomial(Integer) or Polynomial(Fraction(Integer)) we can use theorems from the Ring while proving properties of Polynomials. Axiom has a deep type h

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-20 Thread Henri Tuhola
I doubt it does cover that. And I think there would be at least two approaches to implement GCD for polynomials in Idris. Obvious approach would be to construct a type that represents polynomials on some base number and variables. For example, (Polynomial Nat [X]). You would then prove GCD for thi

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-20 Thread Tim Daly
Does the Idris code cover GCD for polynomials? On 9/20/19, Henri Tuhola wrote: > You can already define and prove gcd in idris/agda/coq. It's not too hard > either. > > This weekend I am trying to prove transitive closure can be computed in > Idris. The way I represent it is that I have f:(a ->

Re: [Axiom-developer] Axiom Sane musings (SEL4)

2019-09-20 Thread Henri Tuhola
You can already define and prove gcd in idris/agda/coq. It's not too hard either. This weekend I am trying to prove transitive closure can be computed in Idris. The way I represent it is that I have f:(a -> a -> Type), this forms a type that is inhabited when a statement is true. I can wrap this i

[Axiom-developer] Axiom Sane musings (SEL4)

2019-09-19 Thread Tim Daly
https://www.youtube.com/watch?v=uLCqJLFP7f8 The above link is about SEL4, the proven kernel. They have about 1 million lines of proof. I've been looking at the issue of "proof down to the metal". It seems that SEL4 will run on an ARM processor which is the basis for the Raspberry PI. I have a PI