My homepage | My math page | My math news | Donate for the research


Software for 21 Century Math Method

We are to develop software for 21 Century Math MethodTM (21MMTM).

Licensing

This software will be simultaneously licensed under GPL and under (new) BSD License to allow its not only non-commercial but also commercial use. A more restrictive licensing of the base of all future mathematics would be a moral crime (except of the case if one would decide to stop the development of science of the mankind for a good reason, but this in not the case).

Requirements

This planned software should have the following features:

Additionally this software is to be accompanied with a big database of mathematical knowledge.

This software is to take simultaneously the functions similar to the following existing softwares:

We are to eventually surpass these softwares.

Planned Implementation

I plan to implement it in Ada95 programming language.

For simplicity we will use a little different data structure for expressing formulas, than in the current version of the article (5 May 2005). Here is simplified (without reference counting and without optimization) Ada code for formulas :

package Formulas is

   --- Symbols ---

   type Symbol_Type is private;

   function "="(Left: Symbol_Type; Right: Symbol_Type) return Boolean;

   --- Formulas and lists of formulas ---

   type Formula_List_Type;

   type Formula_Type is
      record
         Symbol   : Symbol_Type;
         Arguments: Formula_List_Access;
      end record;

   type Formula_Access is access Formula_Type;

   type Formula_List_Type is
      record
         Formula: Formula_Access;
         Next   : Formula_List_Access;
      end record;

   type Formula_List_Access is access Formula_List_Type;

private

   type Symbol_Type is new Integer;

end Formulas;

Note that we can choose either Formula_Type or Formula_List_Type as the primary type for representing formulas. (E.g. 2+2 operation could be either operation(2(), +, 2()) or (2(), +, 2()). I introduced special symbol operation to be the top level head of all formulas.) I don't see any principal reasons to choose either of two. What is better?

Your participation

You are welcomed to participate in the development of this software. You can use CVS at SourceForge project page or send patches and program fragments. Also you can use this Wiki collaboration area.

You are expected to know Ada95, however the decision to write it namely in Ada is not yet 100% final.

Please email me if you want to take part.

Current Development Plans

Today the method itself is not yet developed in details.

However the are already certain things to code now:

References

SourceForge.net Logo


My homepage | My math page | My math news | Donate for the research