-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider HOL Light style set comprehension #85
Comments
An “applied” theorem is of the form (set construction) x <=> ... where the ... will be from the theorem x ∈ (set construction) <=> ... So, for example, INSERT_applied is |- (x INSERT s) y <=> (x = y) \/ y ∈ s These theorems are all exported as rewrites, and provide a way of getting users out of holes where they have “set world” constructions but have lost the ∈ connection between the set and the possible element. Note that these theorems will attempt to put the users back into the “set world” because the RHSs will retain their uses of ∈. These theorems will still work fine when rewriting with IN_DEF: something like SIMP_TAC (srw_ss()) [IN_DEF] will eliminate the “IN”s, even as the “applied” theorems help to make progress with the other bits of the goal. There’s no handling of GSPEC yet, but perhaps that can wait for HOL Light style set-comprehension (see issue #85). The alternative is probably a special conversion to do the right thing, though perhaps just rewriting with GSPEC f v <=> ∃x. (v,T) = f x would do the trick in most cases. (The problem in general is that to get the above rewrite to work you have to throw in pairTheory.EXISTS_PROD as well.)
A comment from Rob Arthan on the
because each parse will use a fresh |
Of course, one shouldn't be use
in a possible HOL4 implementation of this idea. |
Another argument in favour of this idea is that it seems impossible to make a congruence rule for
a function I want to define right now. |
As the
This is used to translate a simple case like
The
If you use the double
with |
The Sourceforge archive has some/all of this stored. This link seems to work at the moment (2024). |
As described in http://article.gmane.org/gmane.comp.mathematics.hol/2118 the HOL Light approach to this has the advantage over our current set up of not depending on pairs, and not using paired-abstractions.
It iterates
mk_exists
instead ofmk_pabs
, and uses another auxiliary constant,SET_SPEC
.Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: