General Schema Theory for Genetic Programming with Subtree-Swapping Crossover: Part I | Synapse