User blog:Chronolegends/Egg Notation


 * Egg Notation : Red and Blue eggs

Motivation: The idea was to make a FGH clone without using math language like functions, iterations, ordinals, etc.. in order to make it the least mathy possible it i chose to make it completely without numbers

Why eggs?, because notations in googology sooner or later end up being mixed into salad numbers so i figured i would provide a tasty ingredient for any salad.


 * Concepts


 * Eggs
 * A pair of grouping symbols


 * Egg colors
 * Red =
 * Blue = []


 * Syntax Rules
 * There may be no red egg to the left of a non-red egg. Example: [] is invalid
 * The above rule also applies to eggs inside other eggs
 * There is at least one red egg


 * Symbol Glossary
 * R = Zero or more Red Eggs.
 * B = Zero or more Blue Eggs.
 * A/B = Zero or more eggs of colors A and/or B
 * O = Other eggs.
 * Xa, Xb = Different instances of X, for example Ri =, Rj =
 * cX = Counts the X eggs. Example: R =, cR = 4
 * eX = Apply the reduction rules on X
 * x...y = Create y copies of x. Egg copies have the same contents as the original

I added a text-only explanation for the folks who aren't used to reading math-like formulae
 * Rules


 * Loop Rule: Crack the rightmost non-red egg, then apply the appropiate rule, depending on the color and contents
 * Reduction rules

1: O[]R → OR
 * Description: Cracked empty Blue Eggs are replaced with one Red Egg

2: Oa[Rb]Ra → O[Rb]...cRa Ra
 * Description: Cracked Blue Eggs with one or more Red Egg inside are replaced with an amount of Blue Eggs equal to the Red Eggs to the right of the cracked egg, the new Blue Eggs have the same contents as the cracked egg, except for 1 less Red Egg.

3: Oa[ObRb]Ra → Oa[eX]Ra where X = ObRb and cOb = 1
 * Description: Before cracking a Blue Egg, if there are Blue Eggs inside, apply rules 1 and 2 to the contents of the Blue Egg until only red eggs are left inside.
 * Termination rule: If there are only red eggs, stop


 * A function to extract a number from Egg Notation
 * ceX, where X = a bunch of eggs

New concept: Egg whites, separation between egg groups inside eggs, represented by a comma , New egg color: Green = {} New symbol: G = Zero or more Green Eggs New symbol: →...n repeat this replacement n times. New sytnax rule: A Blue Egg may contain Eed Eggs or Green Eggs, but not both. New syntax rule: Green Eggs must be inside a Blue Egg or a Green Egg New syntax rule: Only one eggwhite is allowed per green egg. New syntax rule: Only red and blue eggs may be contained in the group to the left of an eggwhite New reduction rules: 4: O[{,}]R → O[]R
 * Egg Notation: Green Eggs, Part 1
 * Description: Cracked empty green eggs are replaced by one red egg

5: O[{,B/Ra}]Rb → O[eB/Ra]Rb
 * Description: If the group to the left of the eggwhite is empty, and there are no Green Eggs in the right group, apply the reduction rules for to that group then add 1 red egg to the result

6: O[{Ra,{G/B/Rb}}]Rc → O[{Ra,{eG/B/Rb}}]Rc
 * Description: If there is a green egg in the right group, apply the reduction rules to that egg.

7: O[{Ra,}]Rb →...cRb O[{Ra,X}}]Rb where X = O[{Ra,X}}]Rb, except at the last replacement X= {Ra,}