Hi, (this is another (strange) question about undefined values in total functions)
currently there’re two definitions of “inf” (infimum) for real sets in HOL4,
one is at “src/real/realScript.sml”:
[inf_def <>] Definition
⊢ ∀p. inf p = -sup (λr. p (-r))
The other is at “src/probability/iterateScript.sml”, ported from HOL Light:
[inf <>] Definition
⊢ ∀s.
inf s =
@a. (∀x. x ∈ s ⇒ a ≤ x) ∧ ∀b. (∀x. x ∈ s ⇒ b ≤ x) ⇒ b ≤ a
I believe they’re both correct definitions, as the related theorems derived
from them all make senses. However, if I load “iterateTheory”, or
“real_topologyTheory” which in turn uses “iterateTheory”, than all theorems
about the “inf” defined at “realTheory” would be invalid, as they’re not for
the latest “inf”. Thus my goal is to merge the two definitions of “inf” and
have a precise union of all theorems about them.
Usually this kind of definition merging is done by changing the later
definition (in iterateTheory) into an equivalent theorem, i.e. to prove that
|- ∀s. inf s = @a. (∀x. x ∈ s ⇒ a ≤ x) ∧ ∀b. (∀x. x ∈ s ⇒ b ≤ x) ⇒ b ≤ a
given the definition: inf p = -sup (λr. p (-r))
But I *feel* this is impossible, because “inf” of real set is not defined on
all real sets. If I temporarily use ``inf’`` as the alternative definition of
“inf” in iterateTheory, the above equivalent theorem becomes:
|- ∀s. inf s = inf’ s
but for s = {}, or any real sets without a lower bound, either “inf s” or “inf’
s” is not defined, should above theorem still be proved? If not, then I have
to re-prove all “inf” theorems in iterateTheory using lemmas from realTheory.
This is more difficult.
Regards,
Chun Tian
P. S. in extrealTheory, “sup” and “inf” are really total functions, thus much
easier to work with, e.g. I can prove things like: (in at least one of my Math
book, it said “inf {} = PosInf” must be specially defined, but this is actually
not needed)
[sup_empty <>] Theorem
⊢ sup ∅ = NegInf
[inf_empty <>] Theorem
⊢ inf ∅ = PosInf
[inf_univ <>] Theorem
⊢ inf 𝕌(:extreal) = NegInf
[sup_univ <>] Theorem
⊢ sup 𝕌(:extreal) = PosInf
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ hol-info mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/hol-info
