Adding "ultimate" trust means: you are specifying it's your own key. GnuPG
doesn't check if your own key is signed by another your own key (or you really
have corresponding private key).
Let me explain the validity of public keys.
put them to a set of valid keys.
globally), it's all valid. Put them to a set of valid keys.
Next, it checks "full" or "marginal" trust to a public key.
signed by this key as it's reachable by "full" trust.
reachable by "marginal" trust adding a point.
the set of valid keys. If it can be reachable by "marginal" trust by 3
(default) different keys, it will be also in the set of valid keys.
recursively, to the newly added valid keys. Don't repeat too far. Stop if it
goes 5 (default) times.
In other words, adding trust (by --edit-key) to a valid key makes it possible
for another key to be validated by that key. Adding trust (by --edit-key) to an
invalid key doesn't make that invalid key valid. (If it's "full" or "marginal".)