Reflective Metagraph Rewriting as a Foundation for an AGI "Language of Thought"

by   Ben Goertzel, et al.

MeTTa (Meta Type Talk) is a novel programming language created for use in the OpenCog Hyperon AGI system. It is designed as a meta-language with very basic and general facilities for handling symbols, groundings, variables, types, substitutions and pattern matching. Primitives exist for creating new type systems and associated DSLs. IInformally, MeTTa is Hyperon's lowest-level "language of thought" – the meta-language in which algorithms for learning more particular knowledge representations, will operate, and in which these algorithms themselves may be represented. Here we explain how one might go about formalizing the MeTTa language as a system of metagraph rewrite rules, an approach that fits in naturally to the Hyperon framework given that the latter's core component is a distributed metagraph knowledge store (the Atomspace). The metagraph rewrite rules constituting MeTTa programs can also be represented as metagraphs, giving a natural model for MeTTa reflection and self-modifying code. Considering MeTTa programs that compute equivalences between execution traces of other MeTTa programs allows us to model spaces of MeTTa execution traces using Homotopy Type Theory. Considering the limit of MeTTa programs mapping between execution traces of MeTTa programs that map between execution traces of MeTTa programs that ..., we find that a given MeTTa codebase is effectively modeled as an infinity-groupoid, and the space of all MeTTa codebases as an (infinity,1)-topis This topos is basically the same as the so-called "Ruliad" previously derived from rewrite rules on hypergraphs, in a discrete physics context. The formalization of MeTTA as metagraph rewrite rules may also provide a useful framework for structuring the implementation of efficient methods for pattern matching and equality inference within the MeTTa interpreter.


page 1

page 2

page 3

page 4


Design and Implementation of the Andromeda Proof Assistant

Andromeda is an LCF-style proof assistant where the user builds derivabl...

What Kind of Programming Language Best Suits Integrative AGI?

What kind of programming language would be most appropriate to serve the...

A meta-probabilistic-programming language for bisimulation of probabilistic and non-well-founded type systems

We introduce a formal meta-language for probabilistic programming, capab...

The New Rewriting Engine of Dedukti

Dedukti is a type-checker for the λΠ-calculus modulo rewriting, an exten...

Exploring Parallel Execution Strategies for Constraint Handling Rules - Work-in-Progress Report

Constraint Handling Rules (CHR) is a declarative rule-based formalism an...

Type-based Enforcement of Infinitary Trace Properties for Java

A common approach to improve software quality is to use programming guid...

Learning is Compiling: Experience Shapes Concept Learning by Combining Primitives in a Language of Thought

Recent approaches to human concept learning have successfully combined t...

Please sign up or login with your details

Forgot password? Click here to reset