(+cc the group so folks know things are going on)
On Sep 4, 2012 10:22 AM, "Raph Levien" <raph....@gmail.com> wrote:
> (1) Most of these new theorems are named exactly the same as their inspiration in set.mm. In a couple cases, they're not identical (sbceq12 for example) because I don't have a separate concept for "sb" and "sbc" like Norm does.
Yeah, I never understood Norm's naming either :/ ... though perhaps nobody ever understands anyone else's names when they're so short.
> (2) Substitution is a powerful tool but tricky to work with. At this layer, as I'm sure you've found, it's easier to work with terms of the form x = A -> (ph <-> ps). But I think a little more automation might tip the scales, as simplifying [A/x](...) is something that can be done mechanically and has a simple UI. But for that to be pleasant, I think the automation needs to hide the rwff steps completely - one advantage to the former form is that you can infer rwff from it when necessary.
Yes, I agree completeley.
> Other news, and musings:
>
> I've pushed a pile of changes to theorem display and listing. It's still pretty bare, but at least it's clean now. http://ghilbert-test.appspot.com/listthms is your test url (although I expect the paths to change, because I want to explicitly name the module).
> Note how bare the description list is :) Adding a one-line description to each thm will help a lot, I think.
>
Cool, I'll take care to add more descriptions.
> Obviously one of the most tempting things is just go whole-hog HTML, so that (exp A B) is formatted as A<sup>B</sup>. What's most appealing about it is of course that it's so easy - you just make sure the result is valid HTML (escaping where necessary) and toss that into an innerHTML. But there are other reasonable things that could be done.
This sounds very easy and probably Good Enough For Now.
> One other choice not to rule out would be to use mathjax. This would probably have the advantage of being a bit more interoperable with other sites that use LaTeX syntax (I'm thinking Wikipedia in particular). But I like using fine spacing to provide more visual cues for precedence and that would result in some ugly TeX. Of course, there's a lot of layout that mathjax does, like putting the bar over the square root, and of course matrix-like layouts, but I'm thinking it's easy to live without that for now.
Sounds intriguing but I don't know enough about mathjax to weigh in.
> And I think we can rule out MathML. Bleah.
Agreed.
> A few more random questions:
>
> Any reason you do the updating of the proof stack on keyup rather than keydown? I'm wondering if you're confused a little with button behavior on mouse clicks, where the action is on down. For key events, keyup is usually a no-op. If you're worried about lag in textarea responsiveness, I'm pretty sure a better way to do it would be settimeout with a near-zero delay.
I don't remember my original reason; confusion is a likely explanation. But when I tried to change it recently, I ran into problems with the way electric parens handle their excursion. If it's chafing you I can dig deeper and fix it all up. While I'm at it I'd like to add some more fanciness such as autoindent, and maybe autocomplete.
> Any particular reason you didn't define (recurse S A B) as (iota {x | (recursep S A B x)})? It seems to me it might reduce the amount of quantifier slinging and dealing explicitly with iota. But maybe not, just curious.
I was just too focused on getting to exp to think about all the other uses for recursep. :)
But yes, it should be your way: the meat of proofs of exp0 and expsuc should be generic proofs about recurse. Feel free to fix it up if you like. Though one problem with using git as the authoritative theorem store is that it's harder to go "back in time" like this.
--Adam
Keep in mind rwff was an experiment, to see if ax-11 was truly essential. One way to automate it away would be to include ax-11 in the axiomatization of predicate calculus. This would make it so that the axioms can no longer check unmodified in the set.mm universe, as you'd need some kind of automation to fit it. This automation could be automatically adding rwff hyps to thms that need it, or, in a totally different direction, adding x e. NN -> assumptions to every single term in the system. I can say from personal experience that having to do that manually is a real pain, and that rwff is a lot easier. But maybe the interesting observation here is that with the proper automation it wouldn't make much difference either way, and this fact is a good argument for having automation rather than working at the bare Ghilbert level.
Hi Raph! I have some questions about this old thread:On Sat, Sep 1, 2012, 02:26 Raph Levien <raph....@gmail.com> wrote:Keep in mind rwff was an experiment, to see if ax-11 was truly essential. One way to automate it away would be to include ax-11 in the axiomatization of predicate calculus. This would make it so that the axioms can no longer check unmodified in the set.mm universe, as you'd need some kind of automation to fit it. This automation could be automatically adding rwff hyps to thms that need it, or, in a totally different direction, adding x e. NN -> assumptions to every single term in the system. I can say from personal experience that having to do that manually is a real pain, and that rwff is a lot easier. But maybe the interesting observation here is that with the proper automation it wouldn't make much difference either way, and this fact is a good argument for having automation rather than working at the bare Ghilbert level.I assume you're referring to this ancient artifact which has been in peano_min.ghi since I first saw the file:#stmt (ax-11 () () (-> (= x y) (-> (A. y ph) (A. x (-> (= x y) ph)))))This seems like a direct quote of http://us.metamath.org/mpeuni/ax-12.html , which brings me to my first question: why is it called ax-11 instead of ax-12?
I'm experimenting with adding this into peano_min.ghi and trying to prove substitution metatheorems like e.g. http://us.metamath.org/mpeuni/sbn.html . (One reason I'm trying this is that I already have an automation system for applying metatheorems to move around in a sexp tree, and I want to see if I can re-use it rather than maintain a second automation which mechanically applies substitution rules the way you described (which is also, I think, the way Paul's js works). For this, I want sbn and its ilk to be actual metatheorems.).So far, I've been unable to do it. One reason that seems to be blocking me is that both x and y are binding variables in this axiom. The form of the axiom I really seem to want (and the form that undergirds the proof of sbn in set.mm) is the analogue of to http://us.metamath.org/mpeuni/equs5.html , where y can be a term variable.Additionally, as far as I can tell, ax-12 in set.mm doesn't seem to be used for much *besides* proving equs5.
--
You received this message because you are subscribed to the Google Groups "Ghilbert" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ghilbert+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.