SKolodynski / IsarMathLib

IsarMathLib is a library of formalized mathematics for Isabelle/ZF.
https://isarmathlib.org
Other
16 stars 2 forks source link

Definition natural number "1,2,3,4,5,6,7,8,9,10" #21

Open CoghettoR opened 1 year ago

CoghettoR commented 1 year ago

Can you help me find, in ZF or IzarMathLib the definition of the natural numbers "3,4,5,6,7,8,9,10" (using succ)?

I already found "1" and "2" in ZF.Bool.thy

abbreviation
  one (<1>) where
  "1 โ‰ก succ(0)"

abbreviation
  two (<2>) where
  "2 โ‰ก succ(1)"

I already found "2"..."9" in IsarMathLib.Complex_ZF.thy

 fixes two ("๐Ÿฎ")
  defines two_def[simp]: "๐Ÿฎ โ‰ก ๐Ÿญ \<ca> ๐Ÿญ"

  fixes three ("๐Ÿฏ")
  defines three_def[simp]: "๐Ÿฏ โ‰ก ๐Ÿฎ\<ca>๐Ÿญ"

  fixes four ("๐Ÿฐ")
  defines four_def[simp]: "๐Ÿฐ โ‰ก ๐Ÿฏ\<ca>๐Ÿญ"

  fixes five ("๐Ÿฑ")
  defines five_def[simp]: "๐Ÿฑ โ‰ก ๐Ÿฐ\<ca>๐Ÿญ"

  fixes six ("๐Ÿฒ")
  defines six_def[simp]: "๐Ÿฒ โ‰ก ๐Ÿฑ\<ca>๐Ÿญ"

  fixes seven ("๐Ÿณ")
  defines seven_def[simp]: "๐Ÿณ โ‰ก ๐Ÿฒ\<ca>๐Ÿญ"

  fixes eight ("๐Ÿด")
  defines eight_def[simp]: "๐Ÿด โ‰ก ๐Ÿณ\<ca>๐Ÿญ"

  fixes nine ("๐Ÿต")
  defines nine_def[simp]: "๐Ÿต โ‰ก ๐Ÿด\<ca>๐Ÿญ"

Informally, I suspect that the definitions for 1 and 2 are equivalent but I can't show it formally. Any help is welcome. Thank you in advance.

dan323 commented 1 year ago

I do not understand your question.

CoghettoR commented 1 year ago
  1. I am looking for the following definitions, if they exist, in Isabelle.ZF (or IsarMathLib)
abbreviation
  three (<3>) where
  "3 โ‰ก succ(2)"
abbreviation
  four (<4>) where
  "4 โ‰ก succ(3)"
abbreviation
  five (<5>) where
  "5 โ‰ก succ(4)"
[...]
  1. I am looking for a bijection/equivalence between these numbers and the following natural numbers defined otherwise:
0โ‡ฉR

fixes rone ("๐Ÿญโ‡ฉR")
  defines rone_def[simp]: "๐Ÿญโ‡ฉR โ‰ก TheNeutralElement(R,M)"
[...]

and

0 

abbreviation
  one (<1>) where
  "1 โ‰ก succ(0)"
[...]
  1. I am looking for an equivalence between the addition of the natural numbers defined by "succ" with the addition of the natural numbers contained in the reals as defined in IsarMathLib ("IsAmodelOfReals").
SKolodynski commented 1 year ago

My apologies for not responding sooner, I forgot to update my e-mail on GitHub and I was not getting notifications for a couple of months. Indeed, mathematicians like to think that the natural numbers 0, 1, 1+1, ... embedded in reals and the natural numbers of the set theory (i.e. 0, {0},{0,{0}}, ...) are kind of the same in the sense that if we prove something about the former we automatically get the analogue for the latter. I am guessing that in Mizar with its soft typing system it is probably possible. In Isabelle/ZF the best approximation (that I can think of) is through locales and the sublocale command. The sublocale command expresses the idea "the theorems proven in this context are valid in that context when applied to these objects with notation mapped like this". In case of natural numbers one would set up a locale called presburger that assumes Presburger Arithmetic axioms and show some theorems there. Then one could prove a sublocale real0 < presburger ... statement about the natural numbers embedded in reals. This set would be probably defined using the notion of InductiveSequence. All this has not been done yet in IsarMathLib.

SKolodynski commented 1 year ago

Actually I have noticed that IsarMathLib does have a definition of natural numbers embedded in reals in the MMIsar0 locale (please ignore that error message on the page, I have to fix that). I will copy that definition to the real0 locale before the next release.