

Thats better than me, I thought it was the dude on "The Matrix"






That's morpheus, not morphism
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.





Ehhh a message from Nelek. I was about to miss you





Practitioners of the black arts for fell purposes are not likely to receive help here.
If we can't help the gimme codez weinerschnotz, you shouldn't expect it either .
Software Zen: delete this;





I'm kind of in noman's land on this topic. I'm not a mathematician enough that answers I've found to similarish questions provide useful insight to this particular question, but it's also a question that I'm not sure many nonmathematicians would ask
I just got really interested in it because it's a fascinating branch of mathematics.





I would have to look up some translations to be precise, but it looks like your question is much more general than something about specific types of morphism:
First of all, while Mathemtatics is mostly about the art to describe and solve problems separate from concrete examples, examples are still often used to illustrate corner cases, to disprove a false assumption, and occasionally even as a basis for a proof (see Mathematical induction[^])
As for morphisms, concrete examples can only help as counter examples, or to illustrate some behaviour. But morphisms can be very odd, and you can't really make a statement about them by looking just at examples  simply because you can never be sure whether you considered all relevant cases.
What you have to do instead is analyze the facts you know about the morphisms in question, and, only based on these facts, consider the logical consequences.
I'll give an example of a proof from a mathematical school contest I did 40 years ago. I still remember it because the statement to proof is so beautifully simple, and yet only a few 100 pupils in all of Germany were able to solve it correctly (i hope my translation skills don't let me down:
Given is a bijective morphism of the euclidian plane, f : R^2 > R^2 that projects any circle onto a circle. Prove that f will also project any straight line onto a straight line.
A lot of pupils failed on this proof because of one mistake: they assumed that f would not only project circles on to circle, but also the center of the circle onto the center of the projected circle. However, the task does not give that information, and a proof based on that assumption is therefore wrong.
The solution takes several steps:
1. consider the method: there are several method to do mathematical proofs, but the only one I could come up with that fits this task was Reductio ad absurdum  Wikipedia[^] : I will assume the opposite of the statement. Then I will disprove this assumption.
2. Carefully formulate your assumption: The opposite of the statement is that not all straight lines are projected onto straight lines, or that there is at least one case of a straight line that is not projected onto a straight line.
3. We now need to deduct logically that our assumption from step 2 contradicts the precondition. I don't recall the details; back then it took me few days to find the solution. I only recall that I considered this exception, deducted that the nonstraight projection must have three points that are on a circle, and then considered that that the inverse image of f for this circle must also be a circle, and therefore the three points must have been on a circle before the projection  and therefore couldn't have been on one straight line.
So, while I did take an 'abstract' example that I looked at to disprove the false (inverse) assumption, I did not in fact put in any more details into that example than the facts I had, and the assumption I tried to disprove.
Did that in any way answer the question?
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)





Very well written! The core of my question lies around this:
Stefan_Lang wrote: What you have to do instead is analyze the facts you know about the morphisms in question, and, only based on these facts, consider the logical consequences.
Say we're trying to show a morphism f is monomorphic, then it has to satisfy:
f:X > Y such that for all objects Z and all morphisms g1, g2: Z > X, f o g1 = f o g2 => g1 = g2
We can base the equality of morphisms in general around the equality of functions:
Let X and Y be object classes and f:X > Y and g:X > Y be morphisms. We say that f and g are equal and write f=g if f(a)=g(a) for all a in X.
Regardless of the approach towards a proof we choose, there must be consideration given to the "a in X." This necessitates making the object classes concrete I believe (e.g. you can no longer have just an object class "cars" since now you need to consider the equivalence classes within "cars"; we have to consider mappings, not just domain and codomain).
And I think this is where I start getting a little confused. If not considering a concrete category, we don't have enough information. Maybe it's just as simple as "showing properties like this requires a concrete category," but then I don't see as much benefit to the more abstract views of categories. I'll continue to read and think about it. I'm sure it'll click eventually.
Thanks for the response! I do need to get better at proofs in general. It would make digesting some of these books a lot easier.





Background
I'm attempting to solve a problem in the most efficient way possible.
Attempting to solve the problem put me on the path to attempting to explain the problem.
That put me on the path of wondering if there is a term for this.
Problem Definition
I have two lists of strings.
* origItems
* newItems
I want to find all the strings in newItems that are not contained in origItems.
I want to make a new list that contains only those new items.
The C# code to solve the problem looks like the following:
List<String> origItems = new List<String>();
origItems.Add("abc");
origItems.Add("def");
origItems.Add("ghi");
List<String> newItems = new List<String>();
newItems.Add("abc");
newItems.Add("def");
newItems.Add("super");
newItems.Add("extra");
List<String> itemsOnlyInNew = newItems.Except(origItems).ToList();
foreach (String s in itemsOnlyInNew){
Console.WriteLine(s);
}
The output is :
super
extra
Is there a mathematical term that covers this (searching one list based upon another list of items)?
(I'm thinking like the term permutation but I don't believe this is a permutation.)
Please Feel Free To Make Up A Term
If there isn't already a term (in English), please make one up.
If there is a term in another language please share that and we'll incorporate it.
Just thought this was interesting.
Thanks much.





Isn't it set theory: newItems  origItems?
Think of the two sets as a Venn Diagram, intersection, union, etc.





NeverJustHere wrote: Think of the two sets as a Venn Diagram, intersection, union, etc.
After posting. I got up. Walked out to make coffee and was talking to the wife unit when that hit me.
Sometimes I just post dumb questions. Oops.





I just missed that you answered already with set theory. Was not my intention to plagiarize






After posting. I got up. Walked out to make coffee and was talking to the wife unit when that hit me. Blush 
Thank you for your informative and kind answer.
I think I must've been thinking of the specific instance and related code so much I confused my simple brain. I'm kinda dumb sometimes.





Don't worry, happens to me nearly everyday and sometimes (usually?) more than one time per day





Thank you
I'm crawling under my desk for while.





No need Or then I also have to do it.
A customer send me the information the angle is 390 deegree.
I was that much confused and answered this can't be possible. On the other hand I have no problem when somebody tells me the angle is 2.5 π rad whatelse





Are duplicates possible? (Not that it really matters.)





Thanks for your question. Duplicates in orig and new are possible.
Duplicates in final set are not allowed.






I agree with the previous posters: Set Theory
In C++ there is the container std::set something similar exists in Python so I assume C# also has something like it.
In C++ it looks like this:
set_difference  C++ Reference[^]
"If we don't change direction, we'll end up where we're going"





In Set Theory, the opposite of "Intersection" is "Difference". You're describing a Difference operation.





Be careful on order if you use a library.
A.diff(B) != B.diff(A)
I have seen Difference used for this operation.
It looks like Complement could be another term.
There is also Symmetric Difference which contains outliers from both sets.





OK, not a Maths term per se, but when anyone invokes the 'M' word in my hearing I always think "Freudenschade"......



