[opentheory-users] Troubleshooting an article reader
Joe Leslie-Hurd
joe at gilith.com
Mon Oct 13 15:54:37 UTC 2014
Hi Mario,
> The only
> conclusion I can draw is that dummy variables should never be generated in a
> formula where they would appear free, since there are no means to eliminate
> them. I'm surprised, then, that a and r aren't quantified in the outputs to
> defineTypeOp, because if they were you could use dummy variables rather than
> hardcoding the strings "a" and "r" into the implementation.
I agree with your assessment that dummy free variables are a scourge,
and therefore in version 6 of the article standard I propose changing
the behaviour of defineTypeOp to take the names of the "a" and "r"
variables as additional arguments:
http://www.gilith.com/research/opentheory/article.html#defineTypeOpCommand
The nice thing is that literally any variable name will work, because
the two resulting theorems of defineTypeOp each have precisely one
free variable, so there's nothing to clash with. It's easy to recover
the legacy version 5 behaviour by simply passing in the names "a" and
"r".
Does that satisfy your concerns? I believe that's the only instance in
the spec of dummy free variables, but please let me know if that's not
the case.
> Ah, just read the theory file spec; I see what you mean about
> "interpretations". It still seems like an article file that doesn't use the
> "standard" names for the primitives wouldn't compile, though.
You are correct, see the example package
http://www.gilith.com/research/opentheory/example-1.0.html
for a description of the external type operators, constants (and
axioms) that are treated as primitive by the OpenTheory logical
kernel.
I assume you have already cloned my HOL Light fork with the OpenTheory
proof logging, which is available from
http://src.gilith.com/hol-light.html
If you look at the top of opentheory/stdlib/stdlib.int, you can see
the mapping that's used to translate the HOL Light names for the
primitive symbols to the OpenTheory names.
> FYI I fixed my Poly/ML problem, and now opentheory works like a charm :)
Excellent news: please do let me know if you find any bugs in the tool.
Cheers,
Joe
More information about the opentheory-users
mailing list