MPP

🧠 MPP — Mulein-Planck-Pi

MPP is a symbolic mathematics and physics computation engine grounded in the fundamental constants of nature. It rejects conventional numeric representations in favor of a pure symbolic system built from first principles, primarily the Planck length (P) and π.

MPP offers an expressive, TeX-inspired language for symbolic reasoning and is designed for theorists, researchers, and engineers who wish to model physical and mathematical systems with absolute symbolic purity.

Repository link

🧬 “Nature doesn’t calculate in decimals—it thinks in π and ħ.”


💫 Vision

MPP represents a paradigm shift in symbolic mathematics - a system that thinks in terms of fundamental physical constants rather than human-convenient approximations. With its comprehensive calculus and advanced Clifford algebra capabilities, MPP enables direct symbolic manipulation of physical laws, quantum mechanical operators, and relativistic spacetime in their most natural form: as exact relationships between universal constants.

The recent calculus and Clifford algebra enhancements position MPP to tackle complex physics problems involving integration, differentiation, and non-commutative operator algebra while maintaining perfect symbolic precision - something no other system can achieve at this level of physical foundation.


🔭 Why MPP for Researchers?

MPP is fundamentally different from existing computational algebra systems like Mathematica or SymPy. It is built on a philosophy of zero numeric leakage and constructivist mathematics, where every expression is derived from universal constants.

Core Philosophy

What Only MPP Can Do

Because of its unique design, MPP enables analyses that are difficult or impossible in other systems:


✨ Key Capabilities


📚 Documentation


🚀 Getting Started

1. Set up the Project

First, clone the repository to your local machine:

git clone https://github.com/Digital-Defiance/MPP.git
cd MPP

2. Run the REPL

MPP includes an interactive Read-Eval-Print Loop (REPL) for quick experiments. Run it with:

cargo run

You can then enter expressions using MPP-TeX syntax.

3. Run Tests

The project includes a comprehensive test suite covering the symbolic engine, dimensional analysis, and physics modules. To run all tests, use:

cargo test

The suite includes over 120 tests, ensuring the correctness and stability of the engine.


🧰 How to Use MPP

Using the MPP-TeX Parser

You can parse any string containing MPP-TeX into a symbolic expression tree. This is the primary way to interact with the engine.

Example:

\let r := \P
\let A := \pi \cdot r^2
\derive{A}{r}

The custom parser handles a wide range of mathematical and physical notation, including derivatives, integrals, quantum operators, and tensors. For full details, see the MPP-TeX Language Documentation (Note: The live link in the original README might be a placeholder; linking to the local doc path).

Using MPP as a Library

To use mpp in your own Rust project, add it as a dependency in your Cargo.toml:

[dependencies]
mpp = { git = "https://github.com/Digital-Defiance/MPP.git" }

You can then use the parser and simplifier in your code:

// main.rs
use mpp::tex_parser::parse_tex;
use mpp::simplify::simplify;

fn main() {
    // 1. Define an expression in MPP-TeX
    let input = "\\derive{\\pi \\cdot r^2}{r}";

    // 2. Parse the TeX string into a symbolic expression
    let parsed_expr = parse_tex(input).expect("Failed to parse");
    println!("Parsed: {}", parsed_expr);

    // 3. Simplify the expression
    let simplified_expr = simplify(parsed_expr);
    println!("Simplified: {}", simplified_expr);
    // Expected output: 2 \cdot \pi \cdot r
}

🤝 Contributing

We welcome contributions from researchers, developers, and enthusiasts. The project’s goals are ambitious, and there are many opportunities to get involved.

Contribution Ideas

The project’s future direction is outlined in the PROMPT.md file, particularly the “Next Focus” section. Key areas for development include:

How to Contribute

  1. Fork the repository on GitHub.
  2. Create a new branch for your feature or bug fix: git checkout -b feature/my-new-feature.
  3. Make your changes. Ensure you add relevant tests for any new functionality.
  4. Run the test suite to ensure your changes don’t break existing code: cargo test.
  5. Submit a pull request with a clear description of your changes.

📦 VS Code Syntax Highlighting

The repository includes a VS Code extension for MPP-TeX syntax highlighting. To install it:

# Navigate to the extension directory
cd mpptex-syntax

# Package the extension (requires vsce: npm install -g @vscode/vsce)
vsce package

# Install it from the command line
code --install-extension mpptex-syntax-*.vsix

📜 License

Apache 2.0 © 2025 Jessica Mulein


🧰 Designed For