// Seed it by hand with the number zero as generation-0.
var universe surrealUniverse
universe.nextUniqueID = 0
+ fmt.Println("Seeding generation 0 by hand.")
universe.insert(surrealNumber{surrealSet{}, surrealSet{}, 0, 0})
// Breed however many generations of numbers were requested by the user and
// add them all to the universe.
+ fmt.Printf("Breeding Generation:")
for generation := 1; generation <= remainingGenerations; generation++ {
+ if generation != 1 {
+ fmt.Printf(",")
+ }
+ fmt.Printf(" %d", generation)
// First generate all possible reduced form symbols per Axiom 1.
potentialNumbers := permuteExistingNumbers(generation, universe)
// Now prune out any symbols which are NOT valid numbers per Axiom 2.
// be weeded out in the attempt.
addNumbersToUniverse(validNumbers, &universe)
}
+ fmt.Printf(".\n")
// Print the number line with generation on the horizontal axis and
// magnitude on the vertical axis.