home.social

#metamath — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #metamath, aggregated by home.social.

fetched live
  1. Still working on ways to do and illustrate #CondensedDetachment but I have taken a detour in performance enhancing my Rust port of the #Metamath proof assistance and theorem verification tool.

  2. Still working on ways to do and illustrate #CondensedDetachment but I have taken a detour in performance enhancing my Rust port of the #Metamath proof assistance and theorem verification tool.

  3. Since 2026/05/11 I have been massaging the output of #c2rust run on the #metamath source code into increasingly idiomatic #Rust. Right now verification of large databases of theorems runs in about 80% of the time of the C binary but I'm haven't yet converted all the IO away from stdio routines which want NUL-terminated CStrings (and the super unsafe *const u8). I've stripped out the idiosyncratic private memory management in favor of pre-allocating vectors and string buffers which is an improvement in performance and maintaining my sanity.

  4. Since 2026/05/11 I have been massaging the output of #c2rust run on the #metamath source code into increasingly idiomatic #Rust. Right now verification of large databases of theorems runs in about 80% of the time of the C binary but I'm haven't yet converted all the IO away from stdio routines which want NUL-terminated CStrings (and the super unsafe *const u8). I've stripped out the idiosyncratic private memory management in favor of pre-allocating vectors and string buffers which is an improvement in performance and maintaining my sanity.

  5. Notation guide (adapted from Metamath):

    • 𝜑, a metavariable standing for any logical formula, abbreviates the conjunction of all hypotheses listed for a given proposition; writing each line as ⊢ (𝜑 → …) puts the theorem in "deduction form," which can be easier to apply in #Metamath.

    • ⊢ 𝜑 asserts that 𝜑 is true; the turnstile is descended from #Frege's own Urteilsstrich (judgment stroke).

    • 𝐴𝑅𝐵 means the ordered pair ⟨𝐴, 𝐵⟩ is an element of 𝑅, or we could say 𝐵 immediately follows 𝐴

    • 𝐵 = (𝑅‘𝐴) means 𝐵 is the unique set such that 𝐴𝑅𝐵 is true (when such a 𝐵 exists) which means 𝑅 is function-like when restricted to operating on the singleton {𝐴}

    • (𝑅”𝐴) is the image of 𝐴

    • dom 𝑅 is the domain of 𝑅, the class of all sets 𝑥 such that there is a set 𝑦 that would make 𝑥𝑅𝑦 true.

    • Fun 𝑅 is true when 𝑅 is function-like for all sets in its domain.

    • ◡𝑅 is the converse of 𝑅 so 𝐴◡𝑅𝐵 iff 𝐵𝑅𝐴

    • (tc‘𝑅) is the #TransitiveClosure of 𝑅 (Metamath uses (t+‘𝑅) which can be awkward.) Whitehead and Russell use the term ancestral to describe how 𝐴(tc‘𝑅)𝐵 means 𝐴 is some “ancestor” of 𝐵. Alternately, we can say 𝐵 eventually follows 𝐴.

    • V is the universal class, every set is a member, and only sets may be members of any class. After Frege’s later work ran into Russell’s Paradox, it was discovered that not every class {𝑥 | 𝜑} makes sense as a set and so we need the hypothesis ⊢ (𝜑 → 𝐴 ∈ V) before we can talk about the function value of 𝐴 or the ordered pair ⟨𝐴, 𝐵⟩ being an element of 𝑅. V is not italic because it is a constant symbol, like tc, dom, and Fun.

  6. Begriffsschrift (1879), is one of the first manuscripts on #SymbolicLogic. As such, it literally invents a new language to describe the subjects the author, #GottlobFrege, wants to introduce. And this notation is very unlike what we see in math before or after this.

    So I will list some theorems adapted (by me, circa 2020) from #Frege with proper set-theoretical bounds.

    #SetTheory #Logic #Metamath

  7. So, just double-checking how #Lean4 and #Mathlib work:

    * Lean takes 3GiB of RAM and a minute to open Mathlib
    * Lean requires about 10min to build itself in CI, only verifying required theorems
    * Verifying all of Mathlib is measured in hours
    * Lean's kernel is untrustworthy due to junk theorems

    And yet I'm a clown for using #Metamath? At some point we ought to reconsider the type-theory fetish.

  8. Every well-ordered set is isomorphic to an ordinal. Common notion, for example see Introduction to arxiv.org/abs/2409.07352

    ⊢((𝐴∈V∧𝑅We𝐴)↔∃𝑓(dom𝑓∈On∧𝑓IsomE,𝑅(dom𝑓,𝐴)))

    \[ \vdash ( ( A \in \mathrm{V} \wedge R \mathrm{We} A ) \leftrightarrow \exists f ( \mathrm{dom} f \in \mathrm{On} \wedge f \mathrm{Isom} \mathrm{E} , R ( \mathrm{dom} f , A ) ) ) \]

    Every well-ordered set is isomorphic to
    a unique ordinal.

    ⊢((𝐴∈V∧𝑅We𝐴)↔∃!𝑜∈On∃𝑓∈(𝐴↑ₘ𝑜)𝑓IsomE,𝑅(𝑜,𝐴))

    \[ \vdash ( ( A \in \mathrm{V} \wedge R \mathrm{We} A ) \leftrightarrow \exists{!} o \in \mathrm{On} \exists f \in ( A \uparrow_\mathrm{m} o ) f \mathrm{Isom} \mathrm{E} , R ( o , A ) ) \]

    We can phrase the Axiom of Choice as "Every set injects into an ordinal."

    ⊢(CHOICE↔∀𝑥∃𝑜∈On𝑥≼𝑜)

    \[ \vdash ( \mathrm{CHOICE} \leftrightarrow \forall x \exists o \in \mathrm{On} x \preccurlyeq o ) \]

    #math #metamath #SetTheory #WellOrdering #OrdinalNumbers

  9. @FishFace Update:

    What I refer to as EScbO is usually called #LO the #LinearOrdering principle.

    ⊢ ∃y ∀a ∈ x ∀b ∈ x ∀c ∈ x (¬ aya ∧ ((ayb ∧ byc) → ayc) ∧ (ayb ∨ a = b ∨ bya))
    or using abbreviations in #Metamath
    ⊢ ∃y y Or x

    I think AC implies LO, but LO is independent of DC and CC.

  10. So we have { 1, 2 } ∈ Fin₁ ⊆ Fin₁ₐ ⊆ Fin₂ ⊆ Fin₃ ⊆ Fin₄ ⊆ Fin₅ ⊆ Fin₆ ⊆ Fin₇

    If a set is in Fin₁ then it is considered finite by all the other definitions.

    But since the axiom of choice is equivalent to saying every set can be well-ordered, if we accept it VII-finite sets are equinumerous with a finite ordinal and so Fin₇ ⊆ Fin₁ and so the differences between these definitions collapse and ZF becomes ZFC, which is a widely accepted basis for Set Theory.

    My consultation with math resources was inspired by a blog post:

    infinitelymore.xyz/p/what-is-t

    #Metamath #ZFC #SetTheory #AxiomOfChoice #FiniteSet #Infinity

  11. So we have { 1, 2 } ∈ Fin₁ ⊆ Fin₁ₐ ⊆ Fin₂ ⊆ Fin₃ ⊆ Fin₄ ⊆ Fin₅ ⊆ Fin₆ ⊆ Fin₇

    If a set is in Fin₁ then it is considered finite by all the other definitions.

    But since the axiom of choice is equivalent to saying every set can be well-ordered, if we accept it VII-finite sets are equinumerous with a finite ordinal and so Fin₇ ⊆ Fin₁ and so the differences between these definitions collapse and ZF becomes ZFC, which is a widely accepted basis for Set Theory.

    My consultation with math resources was inspired by a blog post:

    infinitelymore.xyz/p/what-is-t

    #Metamath #ZFC #SetTheory #AxiomOfChoice #FiniteSet #Infinity

  12. Also from #Metamath I learned #infinity is hard to think about.

    A . Lévy in "The independence of various definitions of finiteness" Fundamenta Mathematicae, 46:1-13 (1958) established 8 distinct set-theoretic definitions of a #finiteSet which in ZF cannot be equated without the #AxiomOfChoice

    I-finite -- equinumerous with a finite ordinal. // i.e. admits a finite well-order (Numerically Finite) ⟺ the powerset of its powerset is Dedekind finite ⟺ every collection of its subsets has a maximum element ⟺ every collection of subsets has a minimal element

    Ia-finite -- not the union of two sets which are not I-finite

    II-finite -- every possible way of finding within the set a chain of nested subsets always contains a maximum element (Tarski finite) ⟺ equivalently every such chain contains its intersection ⟺ (Linearly Finite) ⟺ (Stäckel Finite)

    |||-finite -- It's powerset is |V-finite finite, (weakly Dedekind finite) ⟺ cannot be mapped onto ordinal ω ⟺ doesn't contain a chain of subsets which can be placed in order with ω

    |V-finite -- doesn't have a proper subset which is equinumerous to itself. (Dedekind finite) ⟺ there is no 1-1 map from ordinal ω to it ⟺ it is strictly dominated by the disjoint sum of it and a singleton (acts finite under successor)

    V-finite -- it is either empty or strictly dominated by the disjoint sum of it with itself (acts finite under addition)

    VI-finite -- it is either empty, a singleton or strictly dominated by the Cartesian product of it with itself (acts finite under multiplication)

    VII-finite -- it cannot be infinitely well-ordered (not equiinumerous with the ordinal ω or any larger ordinal)

  13. Also from #Metamath I learned #infinity is hard to think about.

    A . Lévy in "The independence of various definitions of finiteness" Fundamenta Mathematicae, 46:1-13 (1958) established 8 distinct set-theoretic definitions of a #finiteSet which in ZF cannot be equated without the #AxiomOfChoice

    I-finite -- equinumerous with a finite ordinal. // i.e. admits a finite well-order (Numerically Finite) ⟺ the powerset of its powerset is Dedekind finite ⟺ every collection of its subsets has a maximum element ⟺ every collection of subsets has a minimal element

    Ia-finite -- not the union of two sets which are not I-finite

    II-finite -- every possible way of finding within the set a chain of nested subsets always contains a maximum element (Tarski finite) ⟺ equivalently every such chain contains its intersection ⟺ (Linearly Finite) ⟺ (Stäckel Finite)

    |||-finite -- It's powerset is |V-finite finite, (weakly Dedekind finite) ⟺ cannot be mapped onto ordinal ω ⟺ doesn't contain a chain of subsets which can be placed in order with ω

    |V-finite -- doesn't have a proper subset which is equinumerous to itself. (Dedekind finite) ⟺ there is no 1-1 map from ordinal ω to it ⟺ it is strictly dominated by the disjoint sum of it and a singleton (acts finite under successor)

    V-finite -- it is either empty or strictly dominated by the disjoint sum of it with itself (acts finite under addition)

    VI-finite -- it is either empty, a singleton or strictly dominated by the Cartesian product of it with itself (acts finite under multiplication)

    VII-finite -- it cannot be infinitely well-ordered (not equiinumerous with the ordinal ω or any larger ordinal)

  14. Keeping busy with Sudoku, Wordle, Crosswords, and mining textbooks for statements to practice proving in #Metamath ...

    Inspired by this video playlist on #RealAnalysis #Math

    youtube.com/playlist?list=PLYP

    Which was created from jirka.org/ra/ _Basic Analysis:
    Introduction to Real Analysis_ by Jiří Lebl. #JiříLebl a #CreativeCommons (4.0) free #math #textbook

    In Metamath's compressed format, my proofs of strong induction over the natural numbers took 316 bytes, well-ordering of the natural numbers: 376 bytes, 2ⁿ⁻¹ ≤ n! : 1204 bytes, formula for finite sum of geometric series: 2566 bytes. The last has 147 steps, some of which are reused and some of which depend on up to 8 prior steps and on a truncated library of 30477 statements of syntax, axioms, definitions, and theorems from the wider world of Metamath.

  15. Keeping busy with Sudoku, Wordle, Crosswords, and mining textbooks for statements to practice proving in #Metamath ...

    Inspired by this video playlist on #RealAnalysis #Math

    youtube.com/playlist?list=PLYP

    Which was created from jirka.org/ra/ _Basic Analysis:
    Introduction to Real Analysis_ by Jiří Lebl. #JiříLebl a #CreativeCommons (4.0) free #math #textbook

    In Metamath's compressed format, my proofs of strong induction over the natural numbers took 316 bytes, well-ordering of the natural numbers: 376 bytes, 2ⁿ⁻¹ ≤ n! : 1204 bytes, formula for finite sum of geometric series: 2566 bytes. The last has 147 steps, some of which are reused and some of which depend on up to 8 prior steps and on a truncated library of 30477 statements of syntax, axioms, definitions, and theorems from the wider world of Metamath.

  16. 1000+ theorems (The spiritual successor of Freek’s list of 100 theorems. Now with more than 1000 theorems!). ~ Katja Berčič et als. 1000-plus.github.io/all #Math #ITP #IsabelleHOL #HOL_Light #Rocq #LeanProver #Metamath #Mizar

  17. 1000+ theorems (The spiritual successor of Freek’s list of 100 theorems. Now with more than 1000 theorems!). ~ Katja Berčič et als. 1000-plus.github.io/all #Math #ITP #IsabelleHOL #HOL_Light #Rocq #LeanProver #Metamath #Mizar

  18. I wish I had the gumption and time to rewrite the classic #Metamath tool's HTML export functionality. I suspect I may end up writing my own exporter instead; I already wrote half of a parser.

    This is a pattern. Somebody writes thousands of lines of hand-rolled text-manipulating C over a period of decades and it eventually ossifies to the point where it is no longer maintainable. I recall experiencing this with MagicPoint; I eventually gave up refactoring it and enbraced Impressive in Python instead, presenting plain PDFs.

    As for the Metamath bug, let's just say that '$)' cannot appear outside of a comment context, and that some of the HTML exporters get very confused about this since they are all operating on the raw Metamath document and not abstract syntax. I had a two-character typo trash my entire bibliography.

  19. The #brismu project to formalize #Lojban has entered a new phase. There is now a bipartite book mostawesomedude.github.io/bris which contains the original brismu notes in one part, and formal proofs of some non-trivial theorems in the other part.

    Contributions are welcome, particularly from folks who are willing to work with #Metamath or are familiar with #CategoryTheory.

    The next bits of work will be establishing a bibliography, proving a few more easy theorems, and then refactoring the notes into a coherent narrative.

    I currently project that at least 10% of baseline Lojban can be formalized without any changes to colloquial usage.

  20. @magical The latter. Yesterday and today, I fought a bit with #Metamath. I still think that it's the best of the formal proof assistants available, but also I am not good at putting in the required effort.

  21. @johncarlosbaez

    #Metamath's compressed proof format uses a mixed radix system with base-20 for the least significant digit and base 5 for any other digit allowing a sequence of counting numbers to be represented with a sequence of the letters A through Y, with Z reserved for use as a marker value.

    The sequence of numbers can then be processed as instructions to manipulate the proof stack, generating each step of the proof from external theorems and axioms, with explicit variable substitutions.

    us.metamath.org/downloads/meta (page 187)

  22. @johncarlosbaez

    #Metamath's compressed proof format uses a mixed radix system with base-20 for the least significant digit and base 5 for any other digit allowing a sequence of counting numbers to be represented with a sequence of the letters A through Y, with Z reserved for use as a marker value.

    The sequence of numbers can then be processed as instructions to manipulate the proof stack, generating each step of the proof from external theorems and axioms, with explicit variable substitutions.

    us.metamath.org/downloads/meta (page 187)

  23. @andrejbauer Although the style of the post I'm replying to befits its publication date, it has inspired me to prove the following github.com/metamath/set.mm/pul which complements existing similar proofs for ordinal trichotomy, regularity, the axiom of choice, the subset of a finite set being finite, and others. #constructiveMathematics #metamath

  24. @andrejbauer Although the style of the post I'm replying to befits its publication date, it has inspired me to prove the following github.com/metamath/set.mm/pul which complements existing similar proofs for ordinal trichotomy, regularity, the axiom of choice, the subset of a finite set being finite, and others. #constructiveMathematics #metamath

  25. Oh and please boost the post at the top of this thread if you think people would be interested. I'm not sure how many math-interested people follow the #metamath or #constructiveMathematics tags.

  26. I proved the ratio test for IZF in #metamath ! I knew this would be different in #constructiveMathematics because of the need to show how fast the series converges, but on the whole once I proved a basic convergence theorem based on a fixed rate of convergence, I have found that a lot of our convergence results work just like they did with excluded middle. (will put links in a reply to this message).

  27. I was intrigued from the idea used in #Metamath (taken from Tarski) that we can express that the variable x is not free in the formula φ directly by the formula φ →∀x.φ. This is deliberately capturing, e.g. we see that x=3 does not imply ∀x.x=3.

  28. I've just discovered Aaron Stump has a #TypeTheory #podcast . I've been listening and learning about #Metamath

  29. Why would you prove theorems in a computer-checkable format? Without one, if you publish a proof it takes highly skilled experts a year to figure out whether your proof is correct (if you are credible enough that they'll bother). With one, the computer is checking each step of the proof and the humans only need to compare what you prove with what you claim to have proved. #Math #metamath us.metamath.org/index.html