MENTAL
 Main Menu
 Summary of MENTAL Language


Summary of MENTAL Language
 SUMMARY OF
MENTAL LANGUAGE

"The most ambitious plan is the one most likely to succeed" (George Pólya).

"It would be fair to say that the concept of a forest is simpler than the concept of a tree" (Ray Kurzweil).

"To understand is to compress" (Gregory Chaitin).

"True language, deep language, must open consciousness" (Nietzsche).



Characteristics of the Language

Universal Semantic Primitives

The universal semantic primitives are all interrelated. They all support each other. This feature is called "bootstrapping".

All primitives are orthogonal, that is, they are independent of each other. Despite being independent, they have numerous relationships with each other. And they can be combined without restrictions by means of the primitives themselves (lexical semantics is the same as structural semantics). The true expressive power of language lies in combinatorics.

The following table specifies the 12 universal primitives of language, along with their contraries or duals.

PrimitiveSyntax
1Parameterized Generalization⟨...x...⟩
Non-Parameterized Generalization⟨...⟩
2Qualitative Particularizationx/y
Quantitative Particularizationx\n
3Parallel Grouping (Ensemble){x y ... z}
Serial Grouping (Sequence)(x y ... z)
4Normal Distribution[…[…]…]
Linear Distribution[…⌊…⌋…]
5Potential Substitution(x =: y)
Actual Substitution(x = y)
Initial Substitution(x := y)
6Equivalence(x ≡ y)
Contrary Equivalence(x ≡' y)
7EvaluationNo operator
No Evaluación
8Addition(x + y)
Subtraction(x − y)
9Condition(x ← y)
Contrary Condition(x ←' y)
10Ascending Vertical Navigationx↑
Descending Vertical Navigationx↓
11Start Execution of xx!
Finish Execution of x and Return y as Resultx¡y
12Continue Process x(▶ x)
Stop Process x(■ x)

Notes:
1. Generalization

A generic expression is an expression that remains active at all times, during the entire evaluation process. A generic expression can be parameterized or not.

The parameters of a generic expression are names that represent any expression. When a parameter appears more than once in the generic expression, they represent the same expression.

Examples of non-parameterized expressions:
  1. ⟨( z = x+y )⟩
    Specifies that, at all times, z is x+y
    ((x = 3) (y = 5))
    z // ev. 8
    (x = a)
    z // ev. a+5


  2. ⟨( x>5 → (x = 5) )⟩
    Specifies that, at any time, x cannot exceed 5
    (x = 7)
    x // ev. 5
Examples of parameterized expressions:
  1. ⟨{ (x y) ← (x+y = 3) }⟩
    Specifies the set of all two-component sequences whose sum is 3:

    (1 2) (2 1) (0 3) (3 0) (−7 10) (a 3−a) ...

  2. Definition of a function:
    ( f(x y) = (x+y x*y) )⟩

    Applications of the function:
    f(3 4) // ev. (7 12)
    f(a b) // ev. (a+b a*b)

2. Particularization

There are two ways:
  1. Qualitative particularization: x/y

    Specifies an expression y relative to another x.
    Serves to specify an attribute or quality of x and to particularize the expression x. As a quality it can be read as "is a".

    There are basically three forms: entity/attribute, entity/value and entity/(attribute/value).

    Example of the first form:

    Pepe/man
    Specifies that Pepe is a man.

    Examples of the second form;

    (3*x + 2*y + 1)/(x=4) // ev. (12 + 2*y + 1) ev. (13 + 2*y)
    Particularize an expression.

    x/3
    It is equivalent to x3, a variable with subscript.

    Example of the third form;

    table/(color/white)
    Specifies that the table color is white.

  2. Quantitative or positional particularization: x\n

    Selects the order number component n from the sequence x.

    (x = (a b c d))
    x\1 // ev. a
    x\4 // ev. d
    x\5 // ev. θ (there is no fifth element)

3. Grouping

There are two ways:
  1. Serial grouping (sequence):
    (x1 ... xn)

    Specifies a higher-order expression consisting of expressions that are evaluated in series. For example,

      (x 2*x y 3*y)

    which evaluates, if x=2 and y=3, as (2 4 3 9)

  2. Parallel grouping (set):
    {x1 ... xn}

    Specifies a higher-order expression consisting of expressions that are evaluated in parallel. For example,

      {x=a y=b x 2*x y 3*y}

    which evaluates, if x=2 and y=3, as (2=a 3=b 2 4 3 9)

4. Distribution

There are 3 forms:
  1. Normal distribution.

    It is a compact way to represent a series of expressions that have a common part. The expressions to be distributed are specified in square brackets. The scope of the distribution is delimited by bold square brackets. For example:

    [(a [x y] b)]) // rep. (a x b) (a y b)

    ([(a [x y] [1 2])]) // rep. ((a x 1) (a x 2) (a x 2) (a y 1) rep.)

    ([{a [x y] [1 2]}]) // rep. ({a x 1} {a x 1} {a x 2} {u y 1} rep. {a y 2})


    ("rep." means "represents")

  2. Linear distribution.

    It is analogous to the normal distribution, but with one-to-one correspondence. They are specified with open square brackets above The scope of the distribution is also delimited by bold square brackets. For example:

    ([(a ⌊x y⌋ b ⌊1 2⌋)]) // rep. ((a x b 1) (a y b 2)))

    ([{a ⌊x y⌋ b ⌊1 2⌋}]) // rep. ({a x b 1} {a and b 2})


  3. There is also local distribution, where the distribution scope is implicit. For example,

    (x a[1 2 3] y) // rep. (x a1 a2 a3 y)

5. Substitution

There are 4 ways:
  1. Current (or immediate) substitution: (x = y)

    Indicates immediate substitution of the expression x by the expression y.

    (a = 3)
    (b = a+1) // ev. (b = 4)

    i*i = −1 // imaginary unit
    (a i*i) // ev. (a −1)


  2. Potential (or deferred) substitution: (x =: y)

    Indicates that the expression x represents the expression y.

    (a =: 7777)
    a
    The expression a is self-evaluating, but represents 7777
    7777 evaluates to a (reverse evaluation)

  3. Initial substitution: (x := y)

    Indicates that the expression x takes the initial value y.

    (D := {0 1 2 3 4 5 6 7 8 9})
    The initial value of D is specified;

  4. No equality (or inequality):
    (x =' y) or (x ≠ y)

    It is used only as a condition or as a declarative expression. For example,

    (x=3 y=4)
    (x≠y → z) // ev. z

    (a ≠ b) // declarative expression
    (a ≠ b → c) // ev. c

    (a = b → c)

    Evaluates as θ. The condition

6. Equivalence: (x ≡ y)

An expression x is equivalent to another y if both represent the same entity.

For example, (x+y ≡ y+x) (commutative property of the sum)

There is also the form (x ≡' y) (non-equivalence) which is used only as a condition or as a declarative expression.


7. Evaluation

By default, every expression is evaluated automatically (from left to right) on sequences and simultaneously on sets, so there is no explicit evaluation operator.

(2^3^4^5) is evaluated as ((2^3)^4)^5)
(^ denotes exponentiation)

There is, on the other hand, the opposite "no evaluation" operator (°):

(x° = 3)

(y° = (x° + x)) // ev. (y = x+3)

(y° = x (+°) 3) // ev. (y = 3+3)

(y = x+3)° // ev. (y = x+3)


Note; In the substitution expression (x = y), y is evaluated first and its value is assigned to x.


8. Addition: x+y

This is the traditional arithmetic operation of addition, but applied to any expressions: In an expression of type r*x, r (real number) is called the "factor" or "multiplicative attribute" of the expression x.

The opposite operation is subtraction or subtraction:

(2 − 5) // ev. -3
(2*x − 5*x) // ev. -3*x



9. Condition

Specifies the expression x if the expression y exists:

(x ← y)   (x if y)   or
(y → x)   (if y, then x)

If y does not exist, the result is the null expression (θ).

The reverse operation is:

(x ←' y)   (x otherwise y)   or
(y →' x)   (if not y, then x)

There is a full conditional form which is:

(x ← y →' z)   or
(z ←' y → x)
(if y, then x; otherwise, z)


10. Vertical navigation

There are two ways:
  1. Descending navigation: x↓

    Specifies access to the contents of x (sequence or set).

    (a b c)↓ // ev. a b c
    (open expression)

    {a+b+c}↓ // ev. a + b + c
    (open expression)

    This operation is always linked to another one that indicates what to do with the selected components. For example,

    x = (a b c)
    y = (x↓ d) // ev. (a b c d)


  2. Ascending navigation: x↑

    Specifies access to the continent of x (sequence or set).

    x=(a b c)
    (x\2)↑ // ev. (a b c) (the continent of the 2nd element of x)


    This operation is always linked to another one that indicates what to do with the selected components. For example,

    x = (a b c)
    y = ((x&2)↑ d) // ev. ((a b c) d)

11. Start and finish execution

x! specifies to start the evaluation process of the expression x, process oriented to produce a result.

The opposite operation has four forms:
  1. ¡ (finish the current execution). Example: (a b ¡)! // ev. (a b)

  2. y (finish the current execution and return y as result). Examples:
    (a b c)! // ev. c
    ⟨( f(x y) = (¡xx>y →' ¡y)! )⟩


  3. (finish execution of x). Example: x=(a b x¡)! // ev. (a b)

    x! also serves to force the evaluation of a descriptive expression, e.g.;

    ( 1...5 ) // rep. (1 2 3 4 5)
    ( 1...5 )! // ev. (1 2 3 4 5) ev. 12345


  4. x¡y (finish the execution of x and return y as result). Example:

    x=(a x¡b c)! // ev. b

12. Stop and continue

Stop the current process.
Resume the current process.

(■ x) Stop the process x.
(▶ x) Resume process x.


Derivatives

From primitives, many generic derivative operations can be defined. Those considered to be of most interest have been defined, which are as follows:


1. Length: x#

Gets the number of components of an expression x:

a# // ev. 1
(a b c)# // ev. 3
{a (b c) d}# // ev. 3



2. Depth: x$

Gets the number of levels in the hierarchy of an expression x:

a$ // ev. 1
(a b c)$ // ev. 1
(abc)$ // ev. 1
(a (b c) d)$ // ev. 2
(a + (b(c/d)))$ // ev. 3



3. Interrogation: x?

Returns α if x exists, and θ otherwise.

(x = 6)
x? // ev. α
(x > 5)? // ev. α
(x < 5)? // ev. θ



4. Repetition: x☆n

Describes the repetition of x n times. The result is an open expression.

a☆3 // rep. a a a a
ab☆3 // rep. ab ab ab ab ab
( a☆3 ) // rep. (a a a a)


There is also the variant with the operator (filled star), which indicates that the result of the expression is a sequence. For example, a★3 represents the sequence (a a a a), i.e., aaa.


5. Reversal: x∼

Invert a sequence x, evaluating it from right to left, instead of left to right. For example:

(a b b c d)∼ // ev. (d c b a)
(r1 ^ r2 ^ r3 ^ r4)∼ // ev. (r4 ^ r3 ^ r2 ^ r1)


This expression would be evaluated as ((r4^r3)^r2)^r1


6. Intercalation: x⊣y   or   y⊢x

Describes the intercalation of an expression x between the components of another expression y.

x⊣(a b c) // rep. (a x b x c)
+⊣(a b c) // rep. (a + b + c)



7. Logical operations

Logical operations are based on existential values. They are analogous to the connectives of classical logic, where θ plays the role of "false" and α the role of "true".
  1. Negation (¬).

    The logical negation of an expression x is the inverse of its existential value (θ or α). Examples:

    ¬3 // ev. θ
    ¬(3=4) // ev. α


  2. Conjunction (x∧y).

    The logical conjunction of two expressions is θ if one of its existential values is θ, and α otherwise. Examples:

    3∧4 // ev. α
    (4<3)∧(3<4) // ev. θ


  3. Disjunction (x∨y).

    The logical disjunction of two expressions is α if one of their existential values is α, and θ otherwise. Examples:

    3∨4 // ev. α
    (4<3)∨(3<4) // ev. α
    (4<3)∨(5<4) // ev. θ

8. Numerical range: The first form describes an open expression made up of consecutive numbers between r1 and r2. In the second form the second element is specified, thus indirectly specifying an increment (r2−r1).

3…7 // rep. 3 4 5 6 7
7…3 // rep. 7 6 5 4 3
(1 4 … 13) // rep. 1 4 7 10 13


There are also operating ranges, in which an operator is specified.

(3+...+7) // rep. 3+4+5+6+7
(3*...*7) // rep. 3*4*5*6*7


A normal range is a special case of operating range when the operator is θ.

Infinite ranges can also be specified if the upper end is not specified:

3... // rep. 3 4 5 ...
(3 5 ...) // rep. 3 5 7 9 ...
(3+...) // rep. (3+4+5+...)
(3+5+...) // rep. (3+5+7+9+...)



9. Greater and Less: They are used only as a condition or declarative expressionand applicable only to real numbers. Examples: The contraries are:
10. Arithmetic operations
  1. Product. It is a repeating sum.

    x+x+x // ev. 3*x
    3*x // rep. x+x+x


  2. Division. It is the opposite operation to the product: x÷y eq. x(*')y.

  3. Power: x^y is a repetitive product.

    x*x*x // ev. x^3
    x^3 // rep. x*x*x


  4. Root. It is the opposite operation to the exponentiation right: x(∧')y is   y√x.

  5. Logarithm. It is the counter operation to the left of exponentiation: x('∧)y is   logyx

  6. Hyperpower: It is a repetitive power.

    x^x^x // ev. x(^^)3
    x(^^)3 // rep. x^x^x


    Analogously for higher order hyperpowers:

    x(^^)x(^^)x // ev. x(^^^^)3
    x(^^^^)3 // rep. x(^^)x(^^^)x

11. Decimal point

It has three forms: x.   .x   x.y
Describes the conversion of a sequence into a sum of powers of 10:

(a=1 b=23 c=4)
abc. // rep. (a*100 + b*10 + c) rep. (100 + 230 + 4) rep. 334

.uvw // rep. (u÷10 + v÷100 + w÷100)

x.y // rep. x. + .y



12. Union and Separation

The Union operation joins two sequences or two sets. The opposite operation is Separation, which can act to the right or to the left.
13. Operations with sets

These are the traditional operations, but are defined from primitives. Belonging and inclusion (and their opposites) are used as conditions. The rest are constructive operations.


14. Selection: x⇓y

Selects the components of an expression x according to the selection criteria y. The result is an open expression.

{3 7 5 12}⇓(>5) // ev. 7 12
(selects elements greater than 5)

(a bb ccc dddd)⇓(#>2) // ev. ccc dddd
(selects elements of length greater than 2)

The opposite (or complementary) operation, x⇑y, selects the components of x that do not meet the selection criteria y.

{3 7 5 12}⇑(>5) // ev. 3 5
(selects elements not greater than 5)

(a bb ccc dddd)⇑(#>2) // ev. a bb
(selects elements of length no longer than 2)