I can suggest an idea, considering that the “AI program” is the model, not the training algorithm.
A program gets written by an entity (usually a person) and is executed to generate the desired output according to a deterministic mathematical function it expresses.
A training algorithm is a program that gets written to train a model (the model being the “AI Program”) when presented to some training data inputs, to implement a function that is not the training algorithm function itself, but another one, generalising over a problem domain beyond just the original examples fed to the training algorithm.
The output model is not the training algorithm or the training data (or an encoding of it) and exists as its own artefact, independent of both.