A = [ 0, 1, 2, 3 ]
B = [ 1, 2, 3, 0 ]
* I orderedIf theirthey're items[**_ordered_**](https://en.wikipedia.org/wiki/Ordered_pair), becausethen Ithe neededdiffering toorders toare writea themmeaningful down.distinction between However,them.
* ifIf they're unordered sets[**_unordered_**](https://en.wikipedia.org/wiki/Unordered_pair), then my choice to write their members down inthe differentdiffering orders wouldn't reflectaren't ana actualmeaningful distinction between them.
In general, things are the same if we can find no meaningful distinction between them. This is a stronger condition than mere equality, as we'll often describe different things as being equal (examples in next section).
###Examples of non-same (different) things that're equal.
This section provides examples to help showcase the distinction between same-ness and equality.
In general, two things are the same thing only if they're indistinguishable in all appreciated respects; this is, things are the same if we literally can't identify an appreciable manner in which they're not he same. However, it's easier for things to be equal; we often consider things to be equal even when they're not the same.
Examples:
In math, the expressions 1+1
, 2
, 3-1
, 10/5
, etc., are equal despite not being the same expression.
In law, Bob and Suzy are equal under the law despite not being the same legal person.
In physics, a force and its equal-but-opposite reaction are equal despite not being the same physical action.
In C# programming, different object
's can still be .Equal()
.
* For example, [this C# program](https://dotnetfiddle.net/1m1qYK) assesses if two `object`'s are the same _and_ if they're equal, finding that they're different-but-equal.
> using System;
>
> public class Program
> {
> public static void Main()
> {
> var a = "Hello!";
> var b = (" " + a).Trim();
>
> var areSameMessage =
> "Objects 'a' and 'b' are "
> + (System.Object.ReferenceEquals(a, b) ? "the same" : "different")
> + " objects."
> ;
>
> var areEqualMessage =
> "Objects 'a' and 'b' are "
> + (a.Equals(b) ? "equal" : "not-equal")
> + " objects."
> ;
>
> Console.WriteLine("a:\t\"" + a + "\"");
> Console.WriteLine("b:\t\"" + b + "\"");
> Console.WriteLine(areSameMessage);
> Console.WriteLine(areEqualMessage);
> }
> }
which prints
> a: "Hello!"
> b: "Hello!"
> Objects 'a' and 'b' are different objects.
> Objects 'a' and 'b' are equal objects.
- In money, 1 Euro is currently equal to about 1.09 US dollars despite these being different amounts of different currencies.
In all of these examples, the point's that we can assess different things as being equal in some sense despite them not being the same thing.