Many people are asking about the difference between bunches and sets. They seem to be doing exactly the same thing, so why the distinction? As mentioned in the video, the main advantage of bunches is that you don't have to unpack, operate, and re-pack. You can operate directly on the bunch. This is more cumbersome for sets. A second argument that Eric Hehner himself makes, is that it's just conceptually cleaner to pull two different concepts apart. Bunches are about aggregation (bringing elements together). Sets are about packaging (treating the set of elements as an object with its own identity). Since these are two different things, it makes sense to model them separately. In programming languages, you also often see a distinction between a list of values and an "unpacked sequence" of values. This can often lead to much more elegant code. If you're still not convinced, have a look at section 11.0.2 of this PDF ( www.cs.toronto.edu/~hehner/aPToP/aPToP.pdf ) which fittingly begins with the question "Why bother with bunches?".
@APaleDot
5 ай бұрын
So because sets are about packaging, they allow you to express nested sets, whereas bunches cannot. Bunches can express 1, 2, 3, 4 but to express 1, 2, {3, 4} you need sets, right? Is a bunch of bunches just another flat bunch? (1, 2), (3, 4) = 1, 2, 3, 4?
@joshhilbert4059
5 ай бұрын
The real benefits of bunches over sets is that we are already comfortable reasoning about pluralities without needing to package them into singular objects. See chapter 3 of www.logicmatters.net/resources/pdfs/SmithCat-I.pdf (Category Theory I: A gentle prologue by Peter Smith) for a great discussion on this, but to elaborate: In usual language of set theory the only basic formulas with truth values look like “A∈B”, for any sets A and B. In fact “A=B” is just a shorthand for the formula “∀C(C∈B⇔C∈A)∧∀D(A∈D⇔B∈D)” which just says that two sets are equal if they they can be replaced by each other in any formula involving ∈ without changing the truth value. We need such a relation to even begin to describe how sets behave, because it is the only thing that defines how sets relate. The problem with this is that we also want to define new sets that relate to certain sets in some interesting ways, which can lead to inconsistency if we are not careful. Indeed Russel’s paradox shows there can’t be a set “R={A|¬(A∈A)}” of all sets that are not an element of themselves, for we cannot consistently say whether or not “R∈R” is true or false. However there is a bunch (literally) of sets that do not contain themselves, such as {0,1} or {}. In fact every set in modern set theory does not contain itself due to the axiom of foundation. Another problem with sets is that functions “f:A→B” in set theory are defined as specific kinds of subsets “f={x∈A×B|φ(x)}” of the Cartesian product of the domain and codomain. Here “φ” is formula with free variable “x”, which is really after all a function from the bunch of all sets in A×B to the bunch of truth values ⊥,⊤. This isn’t technically circular, but it suggests that functions are better thought of not in terms of sets, but as the more fundamental notion of a deterministic association between each member of a domain bunch some member of a codomain bunch.
@EulyDerg
5 ай бұрын
@@APaleDot looks like you just made a bunch out of three things: the number 1, the number 2, and the set {3, 4}. a bunch could have different kinds of things too, i would imagine. also, since all* operators distribute over the comma operator, i would imagine the comma operator does too. if bunches could nest like sets, that would make them a sort of container again, and not really meaningfully different from sets anymore. *all operators except the box packing and unpacking, since that would mean {{1,2,3}} = {{1},{2},{3}}, which isn't consistent with how sets work, and kinda defeats the point of these operators together being a kind of more pedantic set.
@EulyDerg
5 ай бұрын
thought about it for a minute. when we remove parentheses in other contexts, like with addition, we were assuming associativity. (1 + 2) + 3 will always be the same result as 1 + (2 + 3). therefore, there's absolutely no ambiguity in saying 1 + 2 + 3. for other operations, like 2 ^ 3 ^ 4, there is a difference between (2 ^ 3) ^ 4 and 2 ^ (3 ^ 4), which is why some programming and typesetting languages will ask you to clarify this. i think it would be completely reasonable to say that a bunch bundled with a bunch should just give a bigger bunch. otherwise, what exactly are we talking about by the bunch (1, 2, 3, 4)? theres gotta be some order in which we perform the comma operators, and it's unavoidable that youre gonna be joining bunches with either other bunches: ((1, 2), (3, 4)), or bunches with a non-bunch thing: (1, (2, (3, 4))). with the latter case, distributivity can transform it into the former case as well: (1, (2, 3)) = ((1, 2), (1, 3)).
@AllAnglesMath
5 ай бұрын
@@APaleDotA bunch of bunches is indeed another bunch. Bunches always get "flattened" into a simple bunch.
@ichigo_nyanko
5 ай бұрын
the commutative comma got me, made me smile when I realised what was happening.
@AllAnglesMath
5 ай бұрын
I had the same reaction when I saw this the first time. I think it's because the comma has become invisible to us, and now it suddenly gets a role to play.
@whig01
5 ай бұрын
@@AllAnglesMath I just had this idea that putting a dot above a multiplication symbol could represent non-commutative multiplication, as when the quantities are quaternions for instance. Since this maps to the semicolon for non-commutative lists.
@edomeindertsma6669
5 ай бұрын
It's not visually symmetric though :P.
@santerisatama5409
5 ай бұрын
@@AllAnglesMath Speaking of invisible, the unmarked whitespace is very interesting and has very important role to play. I was flabbergasted when I realized that concatenation is the mediant of whitespace, which under most general definition is a continuum of neither singular nor plural. Temporarily marking out the mediant relation, it looks like this: _I_ (and/or T). When I realized this, I immediately went: Ha! Dirac delta!!! With the unmarked distinction we can organize the Turing machine Tape into blanks, concatenation being concentrated continuity. The unmarked distinction between whitespace and concatenation is even more primitive than the Spencer-Brown's urdistinction marked-unmarked. And when marked characters are introduced, naturally the unmarked distinction becomes visible in the distinction between "com pound" and "compound" words. The fixation on LEM has kept the importance of generalizing mediants into primitive generative operations hidden for a long time. Nesting algorithms are at least as important as additive algorithms.
@Robert-er5wq
5 ай бұрын
I have explained to my students the implication-arrow as a promise: my promise: if I win the lottery I'll buy a house. My promise isn't broken unless and until I win the lottery and don't buy a house. Seemed to make some sense at the time anyway
@prof.tahseen6104
5 ай бұрын
I don't know when students learn logic in school in other parts of the world but in Türkiye, we learn it in 9th grade and my teacher thought that this way too. Also I think what we call those operators in Turkish are far more easier and practical. For example, the implication-arrow is "ise". This is a word that is used in the exact position in both a logical "sentence" and a normal sentence in Turkish. So when I say "Eğer ise " It can be directly translated to a logic statement -because it is exactly as you say it in a normal sentence- and vice versa. All other operators too are called their lingual counterparts. In English, you have "or" but when you want to call the new "exclusive version" of or a lingual equivalent, you can't. So you call it XOR. In Turkish, you also have OR -> "veya" and in addition to that, there is the word "ya da" -which is already commonly used in day to day life- which exactly means XOR. "Bunu veya onu seçebilirsin." "You may choose this one or that one." When you translate the sentence to English, it almost feels like you lose data. The word OR doesn't feel exactly like when you would use it in logic. But in Turkish it does and I like it.
@Robert-er5wq
5 ай бұрын
@@prof.tahseen6104 I believe most languages have linguistic constructs that resemble logical operations. As far as I understand 'eger'-'ise' is just if-then which still should cause a certain surprise that we believe if A then B is true in particular when A doesn't hold.
@santerisatama5409
5 ай бұрын
@@Robert-er5wq Turkish, Finnish and Latin have distinct words for OR and XOR, but that doesn't seem very common in natural languages.
@Robert-er5wq
3 ай бұрын
@@santerisatama5409 German for example has the entweder-oder construct which states explicitly an XOR. Most people understand OR (just 'oder') colloquially in the XOR sense. It surprises mathematically untrained people to hear a simple 'yes' to the answer of 'Would you like vanilla ice cream or chocolate ice cream?'
@notwithouttext
3 ай бұрын
@@Robert-er5wqand that's why r/inclusiveor is sometimes funny
@ducksies
5 ай бұрын
You should look into Category Theory. It provides similar insights but has been studied much more intensively by Mathematicians around the world!
@dmace14
5 ай бұрын
I prefer to think of the De Morgan law as a AND b = NOT(NOT(a) OR NOT(b)) Which just reverses the statement on both sides but it feels more intuitive to me for examples like the rain and snow one If it’s raining and snowing, then it can’t be not raining or not snowing
@angeldude101
5 ай бұрын
The version given in the video works better when NOT isn't its own inverse, which for some extensions it isn't. The version you have requires a NOT⁻¹ in these cases.
@lythd
5 ай бұрын
thats how ive always thought of it, mainly because I learnt logic through Minecraft, and in Minecraft u make and gates like that
@3eH09obp2
5 ай бұрын
De Morgan law seems reminiscent of the matrix laws like (AB)T=BTAT and (AB)^-1=B^-1A^-1
@comma_thingy
5 ай бұрын
@@3eH09obp2 That's because it (or at least something similar to it) emerges in general group theory, which binary logic and matrices are both members of (in the sense that they are groups)
@JobBouwman
5 ай бұрын
If we couple FALSE to -infinity and TRUE to +infinity, we lose the connection with the interval [0, 1] from probability.
@lrgui9792
5 ай бұрын
yes, but that interval is not necessary, it's a choice. I wonder if everything would work perfectly if we define probability from -infinity to +infinity as well... i think that it doesn't work to have negative probabilities, only [0,+infinity]
@erichehner1587
5 ай бұрын
You interpret infinity as certainly true, zero as equally likely to be true or false, and minus infinity as certainly false.@@lrgui9792
@AllAnglesMath
5 ай бұрын
That's a good point. No system is perfect of course. I think Hehner's focus is on computer science rather than probability.
@MasciLogre
5 ай бұрын
It's fairly easy to map the reals the interval (0,1). Extend that so -inf goes to 0 and inf to 1 and you're golden.
@EulyDerg
5 ай бұрын
i'm wondering which real number in particular a 75% chance would be in the interval [-infinity, +infinity], or even [0, +infinity].
@bloom945
5 ай бұрын
Very interesting. The connections to computer science are really strong. The 'forall' expression is just the all(...) function and the 'exists' is just the any(...) function. At the end when you discuss the new function notation, it is reminiscent of lambda expressions or anonymous functions. I might start using this function notation more often. Really cool stuff!
@eig5203
5 ай бұрын
I think loads of CS comes from logic, so maybe that's why
@noobyfromhell
5 ай бұрын
In this case you'll be glad to learn that this is just a (rudimentary version of) the Martin-Löf type theory, which is isomorphic to the typed lambda calculus (the so-called Curry-Howard isomorphism): en.wikipedia.org/wiki/Intuitionistic_type_theory Programming languages like Standard ML or Haskell have been based on it since at least the 70s, this guy just didn't research it before publishing.
@SpencerTwiddy
5 ай бұрын
@@noobyfromhellThose last few words are false. You have conflated “dumb” and “ignorant”. You have also been rude.
@noobyfromhell
5 ай бұрын
@@SpencerTwiddy You're right, I've been very cranky yesterday, I fixed the comment.
@cube2fox
5 ай бұрын
Actually Wittgenstein also interpreted "every" as a long conjunction of all instances and "there is" as a long disjunction. The problem he later recognized is that those are not logically equivalent: A long conjunction of all objects does not logically entail that there are no counterexamples. For example, assume you have exactly three friends, Alice, Bob, and Charles. Then saying "My friend Alice and my friend Bob and my friend Charles are nice" is not logically equivalent to saying "All my friends are nice". Because the former could be true and the latter false. It could be that you have a fourth non-nice friend, even though you actually don't. Logically equivalent statements have to be necessarily equivalent, not just contingently.
@nektariosorfanoudakis2270
5 ай бұрын
I saw very few new ideas here, sorry, this is what happens if you study a little bit of type theory. Also the comma operator should also be associative, and only definable for finite bunches. There exist infinite permutations that are not the product of permutations of two elements.
@AllAnglesMath
5 ай бұрын
All of these are very good points.
@MadocComadrin
5 ай бұрын
The forall being reduced to a big-and bugs me for similar reasons. It's a Pi type while conjunction can be a Sigma type.
@helix-phase
5 ай бұрын
These are fascinating insights, thank you for making this video.
@aaronspeedy7780
5 ай бұрын
18:23 Haha! That is amazing! I thought of treating the comma as a generic distributive operator one time, and along with that forall function thing you described, I think this would be really useful. It solves a lot of issues with sharing code in statements I think, for example &&(a, b) < 5 instead of a < 5 && b < 5. Great video!
@AllAnglesMath
5 ай бұрын
Glad you liked it. And good to see that you're already thinking about applications in programming 😄
@twanvanderschoot9667
5 ай бұрын
Delightful and very well presented, thanks! In my humble opinion, Hehner approach to math notation fits in the same tradition as Dijkstra, Feijen, van Gasteren (Eindhoven) and Meertens (Amsterdam)
@AllAnglesMath
5 ай бұрын
I will have a look at the authors you mentioned, thanks for the tip. If necessary, I can even read them in Dutch 😉
@jx8148
5 ай бұрын
I studied this at Uni, I always found it amazing how "ordering points" (poset theory) could lead into modelling boolean logic (that being in a distributive and complemented lattice)
@AllAnglesMath
5 ай бұрын
We may do a few videos on order theory later.
@jansustar4565
5 ай бұрын
Havinf comma be an operator, also allows for adding items to the bunch. So nat,0 is the same as natural numbers union {0}
@AllAnglesMath
5 ай бұрын
That's a really good example. Although I think that Hehner already includes 0 in nat.
@NostraDavid2
Ай бұрын
@@AllAnglesMath but if I do nat+(-nat)=int, don't I now have -0 in my int bunch?
@AllAnglesMath
Ай бұрын
@@NostraDavid2 Bunches automatically remove duplicates, so you would only have a single zero.
@mathephilia
5 ай бұрын
Very neat video, thanks ! I think it deserves a part 2 showing how these algebraic structures relate from the point of view of category theory, since much of this could be used as a motivating example/illustration for category theory as well.
@cube2fox
5 ай бұрын
It seems Hehner interprets logic in terms of arithmetic, though in a different way than Boole. However, there is also the opinion that we instead should interpret arithmetic in terms of logic. Because logic is (it seems) more general and primary than arithmetic. Gottlob Frege defended this opinion. It's now called logicism.
@hawgokutai
2 ай бұрын
Know the video is already 3 months ago. But Find it facinating. Looking deeper I discovery symple typed lambda-calculus, that is exactly it. But here has a different notation.
@mec1789
5 ай бұрын
That new function notation is so intuitive and delightful and readable
@blue_sand6854
5 ай бұрын
I think the ”top-bottom” notation is absolutely useless. Moreover, the ”^” and down arrows overlap the anticonjunction and antidisjunction (nand and nor).
@jeromejean-charles6163
3 ай бұрын
at 15:20 : " In a length calculation compact notation is a time saver" . This is a positive side effect. The real good thing is that it enhance clarity of thought AND expression !
@kikivoorburg
5 ай бұрын
It seems like this notation, even if it doesn’t replace the standard, would make an _awesome_ functional programming language like Haskell. I especially like the unification of functions / sums / products with the angle bracket notation Edit: I do have one question: why can’t we just consider the curly braces in sets as “mere notation”, making bunches and sets equivalent? After all, in things like nat^2 = (0, 1, 2, …)^2 we already used parentheses, so why not just say “the curly braces are the parentheses we use for sets”? Are there operations that behave differently on bunches than sets, making a distinction needed?
@AllAnglesMath
5 ай бұрын
Good question. Since many people have the same concerns about bunches vs sets, I posted some thoughts in the pinned comment at the top.
@quentinasparria7207
5 ай бұрын
Isn’t this how apl was created
@M_1024
5 ай бұрын
(a, b), c = (a, b, c) but {{a, b}, c} isn't {a, b, c}
@kikivoorburg
5 ай бұрын
@@AllAnglesMath Thanks!
@kikivoorburg
5 ай бұрын
@@M_1024 ah interesting, I hadn’t considered nesting / combining bunches.
@jeromejean-charles6163
3 ай бұрын
I discover this Hehner thanks to you. A remark on (a,b) symetrised on a line to ( -b,-a) . Using a vertical axis is another better ( yet ,not exclusive) alternative. The vertical ways is also consitent with naming 'T' a Top and dually bottom as in lattice theory.
@mikecaetano
5 ай бұрын
De Morgan's Laws: The negation of a disjunction is the conjunction of the negations. The negation of a conjunction is the disjunction of the negations.
@adiaphoros6842
5 ай бұрын
This reminds me of how you can do modulo arithmetic with n-ary logical operations, if you impose an ordering on the logical values. An example using ternary (or 3 valued) logic: Ternary logic has false, middle and true as logical values. Using the following assignments: 0 := false, middle := 1, true assigned := 2, there are operations that could be interpreted as (a+1) mod 3 ¹, (a+2) mod 3 ², (a+b) mod 3 ³ and so on, where a and b are the inputs. ¹ The logical operator with the following truth table: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 ² The logical operator with the following truth table: 0 1 2 0 2 1 0 1 0 2 1 2 1 0 2 ³ The logical operator with the following truth table: 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1
@GamingKing-jo9py
5 ай бұрын
this notation has many similarities to ML-style type definitions, like using : for x being of type nat, as well as APL/BQN, with the tacit notation like which was used for de morgan's law. bunches act like arrays and sets like boxed arrays, i.e and array with the single element being another array. all arithmetic operations are pervasive i.e distributive over arrays.
@hashimoto128
5 ай бұрын
Many of concepts shown in the video appear in a similar way in APL and other array programming languages descendent from it. (some keywords for searching: APL, jsoftware (J), BQN, Uiua, Dyalog, ArrayCast)
@melchiortod29
5 ай бұрын
This is beautiful. I'm gonna try implementing it in whatever i do
@yan-amar
4 ай бұрын
In electronics there are European symbols for logic gates on schematics. OR is ≥1, like you said, as soon as a value is more than 0, the result will be one. XOR is =1.
@APaleDot
5 ай бұрын
I don't think I like using the bare operator to express iteration over a set (or bunch). If they are different concepts, they should use different symbols. If I have an expression like 'a + b', I want that to unambiguously indicate the addition of 'a' and 'b', not get confused with summing up all the elements in 'b'. That doesn't mean we should use different symbols for every possible operation like we do now, but maybe there could be one symbol to indicate iteration and then you specify the operation. Like summation could be Σ(+) and multiplication could be Σ(×) and then De morgan's laws would be expressed like -Σ(∧) = Σ(∨-) which feels a lot more readable to me.
@AllAnglesMath
5 ай бұрын
This is a matter of taste. Personally, I like that the same symbol gets "overloaded" to play different roles. But you're absolutely right that this can also be overused, which makes things confusing.
@Kram1032
5 ай бұрын
I think the Σ (Sigma) and Π (Pi) make sense as soon as you know they stand for "Sum" and "Product", and similarly, ∫ is supposed to be a stretched S as it's a *continous* sum. ∀, ∃ , and ∄ are also pretty clear once you hear of them (for all, exists, doesn't exist) And most other N-ary operators are pretty straight forward: ⋀ is just a big ∧ - "all" is a bigger "and" ⋁ is just a big ∨ - "any" is a bigger "or" ⋂ is just a big ∩ - intersecting many sets is a bigger form of intersecting two ⋃ is just a big ∪ - joining (taking the union of) many sets is a bigger form of joining two and that logic typically applies across all our N-ary operators. You could do the same thing with ⊻ (xor) which basically is a parity check, or ⊗ and ⊕ which are used to build tensors etc. Most these various symbols are very intentionally similar in pretty uniform ways, suggesting relations between them. For instance, "∨" and "∪" for "or" and "union" are so similar particularly because they are "the same" (in the same way as "max" and "+" are the same thing as well!) but appear in different contexts. They talk about different underlying things and, despite being "the same" in a pretty clear abstract sense (they all have equivalent behaviors for the objects they are about), they may cooccur, making it confusing to reduce everything to a single notation whenever that happens. Sometimes, this is actually necessary. For instance, *technically,* when talking about sum between vectors in one vector space, and sum between vectors in another, that is *not* the same sum. Nor is it the same sum that you use for integers or real numbers. They are the *effectively* "the same" in that they share a bunch of key properties, but sometimes, the difference matters to the thing you are trying to talk about! The solution in such a situation is, to bestow indices to your operators, talking, for instance, about statements like: f: s→t aₛ +ₛ bₛ ≃ xₜ +ₜ yₜ saying the sum of objects in the input is isomorphic (but not necessarily identical) to the sum of objects in the output
@kikivoorburg
5 ай бұрын
The distinction could be made clear by particular use of parentheses as long as that’s defined clearly a + b = a add b, a (+b) = a (sum b)
@ibite100
5 ай бұрын
KZitem algorithms suck. Waited this long to bring your channel to me. Great video!
@AllAnglesMath
5 ай бұрын
Thank you, and welcome to the channel. You can start binge-watching now 😄
@arctic_line
5 ай бұрын
This feels a lot like array programming languages (even to the point of having point-free being a concept in it since the beginning). Honestly makes me wonder how much of a role Hehner has played in the development of them (even if they still use syntax far more like Ada than Hehner's notation, which is a shame since it would probably make for a quite elegant introduction to people who are generally scared by just how terse array langs tend to be).
@FireyDeath4
5 ай бұрын
Would you recommend showing this to young children? Like, I endorse teaching children about formal logic because it can help them understand the structure of the sentences and propositions people state, and possibly find fallacies like non-sequiturs more sharply. And critical thought is very important nowadays. These are all some of those things that are hard to grasp at first, because they're unfamiliar and numerous, but are really simple to understand once you remember it all. I guess I'm just wondering if it would be useful to introduce this unified system alongside the usual arithmetic and formal logic.
@AllAnglesMath
5 ай бұрын
I think it's an excellent idea to teach logic to kids. I don't know which explanations would work better, but I can imagine that Hehner's is going to be a lot easier than some of the existing curricula. A multitude of different symbols can all be reduced to a much smaller set, which is always a good thing.
@kikivoorburg
5 ай бұрын
I think something similar applies to set theory. Set theory and logic together are the basis for all of modern mathematics, and the concept of “grouping stuff together” (sets) doesn’t feel any harder to understand for kids than arithmetic (which we do teach). How much easier would it be for people to understand set theory proofs in high school and university if we taught the basics of sets to young kids?
@FireyDeath4
5 ай бұрын
@@kikivoorburg Indeed. A lot. I just have a lot of other subjects that I want to be required material for young children, because they'd be useful in their lives and make them more highly-functional members of society. Aside from arithmetic and formal logic, they include things like language, critical thought, philosophy, psychology, social conduct, research, self-learning practices and practical abilities. These are all things that would be beneficial to pretty much every individual, not just the ones who intend to have occupations and hobbies more heavily involving mathematics. Learning about set theory that early on, when their calibrating minds are more malleable, would definitely help them to understand sets more easily, but it's just hard to tell how learning set theory would improve people beyond just making them good mathematicians. Obviously this is something I've been thinking about for a long time. Of course, all of those mandatory subjects would be the first stage of the curriculum, with the rest of them being presented for students to choose freely in the second stage. And students will be able to pass at their own pace, so they could get to the second stage at any time, and maybe they could still learn set theory early on. I looked up what the uses of set theory are, and, they're rather specific, so I'm not sure if they'd apply to everyone like the other subjects would. If the theory is compact enough to be taught alongside all of the other subjects and seamlessly integrated with arithmetic and formal logic in a way that makes them more intuitive, then, well, it could be good to include. But if it's benefits are specific and non-universal, it would probably mean that other subjects that are easy to learn and useful in specific situations warrant inclusion as well, and who knows how many of those there are. So, basically I'm interested to know if there's anything specific that would make it useful to the most universal human demographic. Yeah I just realised that talking about this in a KZitem comment section isn't really gonna cut it. I'm sorry I made you read all that :P
@AllAnglesMath
5 ай бұрын
@@FireyDeath4 Don't feel sorry, you make many good points. In particular, I like that you place psychology in your list. I have often thought that this would be incredibly helpful, at least if it leads to resilience and understanding of what makes people tick, not to victimhood glorification. When I grew up, we actually learned (basic) set theory in high school. It was a new curriculum, but it has since been abandoned again because most students found it too abstract.
@vkessel
5 ай бұрын
Ha, I had independently discovered this a few months ago and was going to write about it. Very interesting. Good video!
@icew0lf98
5 ай бұрын
to make the implication make more sense, consider a mathematical theorem(if you connect 6 noncolinear points, each with either a blue or a red pen, then you created a blue or a red triangle) and the possibility of the if_then_ that it states: -if you sufficed the conditions(p is true in p=>q) then it is possible for q to be true and impossible for q to be false -if you didn't suffice the conditions(p is false in p=>q) the it is both possible for q to be true and false
@Alguem387
5 ай бұрын
This looks alot like a programing language
@the_allucinator
5 ай бұрын
This feels like Haskell
@leo9463065
5 ай бұрын
And also APL, and I also agree about Haskell
@Neptoid
5 ай бұрын
I love extended numbers
@icew0lf98
5 ай бұрын
the sigma notation for operations other than sum and multiply is expressed by writing the operation and below it a domain of the variable and then next to it the expression involving this variable, for example U_{x in O}(Ball_epsilon(x)), it's just a weird quirk I guess that they use the capital sigma and pi letters instead of big plus and big cross or dot
@icew0lf98
5 ай бұрын
also for example U(A) where A is a set is the union of all elements of A, but of course in all of these examples, it is required that the given operation and the elements that it operates on forms an abelian group
@pajrc1234
5 ай бұрын
Reading the UA PDF, I was like, how do you define codomain? Since the concepts of injectivity and surjectivity are really important. But you actually use the same notation f: X -> Y, and the reason for this blew my mind when it clicked: A function g "includes" a function f if f is defined on g's domain, and (while acting on g's domain) fx belongs to gx -- gx can be a bunch, so fx could just be one element (or multiple elements in that bunch). Constant functions are simplified: a> where D is the domain and a is a constant is written as D->a. the constant 0 function on R is R->0. But the output could also be a bunch. Maybe the function is a constant function with the output always being R=reals. Then (we will call it) g = R->R. Suppose f is defined on R and for all x in R fx is in R also. Then, by our definition of inclusion, f: g, or f: R->R. That is, f maps elements of R to R. It's absurdly elegant.
@theograice8080
5 ай бұрын
The handling of Top and Bottom values for truthiness and falseness reminds me of a paper I read once, along the lines of: transreal numbers as a basis for paraconsistent logics.
@rajinfootonchuriquen
5 ай бұрын
if TOP is +inf and BOTTOM is -inf, how can implication be replaced by the ordering relation make sense? If we understand ordering relation as maps from sets to {true, false}, then your new algebra is not close under the 'implication' operation. For example: (TOP -> BOTTOM) = BOTTOM; if we replace by 'inf', it should be (+inf
@AllAnglesMath
5 ай бұрын
It's an interesting exercise to try and model logical operators on numbers, the way you do with the symmetric operators '' and 'xor'. Reminds me of fuzzy logic.
@rajinfootonchuriquen
5 ай бұрын
@@AllAnglesMathit is fuzzy logic.
@IterativeTheoryRocks
5 ай бұрын
My goto superlative is ‘Marvellous!’ This, however, is Absolutely Marvellous!
@pauldruhg2992
5 ай бұрын
Unbelievable! Much obliged! Thats what I needed!
@kennyimammahardika3868
5 ай бұрын
This is so cool. I've never heard of this before. Does it have a name? Where can I learn more about it?
@homomorphichomosexual
5 ай бұрын
also, it has a name - hehner (unhelpfully) named it universal algebra, but it seems hard to find links to outside of the papers. maybe i just didnt look hard enough?
@koenvandamme9409
5 ай бұрын
There's a link to Hehner's homepage in the video description.
@AllAnglesMath
5 ай бұрын
I think Hehner himself calls it "Unified algebra". Definitely check out his home page, it has tons of papers that are worth exploring. The link is in the description.
@noobyfromhell
5 ай бұрын
en.wikipedia.org/wiki/Lattice_(order)
@Ganerrr
5 ай бұрын
this is just, infinitely better than all current math notation ngl
@zokalyx
5 ай бұрын
ganer lets goo
@sebastianfia9541
5 ай бұрын
Amazing video, keep it up!
@rasuru_dev
5 ай бұрын
i love this so much
@bernardoherrera5217
5 ай бұрын
I was working out kind of the same tthing by myself, and I came to this following question: if the set builder notation implies a Domain, and the Domain is another set, then a Set is always definined as a subset of Set
@decare696
5 ай бұрын
You can look into the axioms of ZF to see what sets are defined a priori. In particular: The natural numbers and the power set of any set.
@ArslanRozyjumayev
4 ай бұрын
Once you find the right path, you will see it in Everything!
@angeldude101
5 ай бұрын
Hehner doesn't sound like a mathematician. He sounds like a programmer. XD On your initial video on subtraction, you mentioned that the Clifford Algebra symbols for meet and join should be assymetric because they're non-commutative. I however argue that it's a case like the Excluded Middle where it is fundamentally the same operation as the minimum and maximum operations given here, but commutativity is lost when extending the operations. (Though only sometimes; whether or not Clifford Algebra meet and join are commutative or anticommutative depends on the exact values being used.) This is also why I get annoyed that most Clifford Algebra libraries use ^ and & for meet and join when they should really be & and | to match their corresponding boolean operators.
@AllAnglesMath
5 ай бұрын
I agree that the link between algebra and logic should be reflected in the symbols.
@Neptoid
5 ай бұрын
Thank you! I’ve heard of things like top and bottom as alternatives in the undefined cases. What something divided by zero could be for example. I didn’t know they connected to those combinatoric graphs
@jamescash4065
5 ай бұрын
The graphs you refer to are called “lattices”. They are the foundation for much of mathematical Logic
@user-kl1tr9lh1l
5 ай бұрын
Thank you for the interesting video! I am already enjoying thinking about this topic. I always enjoy new notation for existing concepts, and I like the idea of treating the comma as a binary operator. I would imagine the sole advantage for using bunches instead of sets is that individual elements can be regarded as single element bunches, and I think this is something worthy of emphasis. In terms of distributivity, set theoretical algebra also has similar notation like N + {7} but this does not mean the same thing as nat + 7, the latter being an extension of the same plus operator used for real numbers, rather than an entirely new operator that takes sets as inputs. It’s interesting in that this is almost the entire opposite to the view from category theory. Bunches seems to be aiming for the un-packaging of sets, treating a collection of numbers not as a single entity in itself, but as a mere aggregation of elements. On the other hand category theory seems to package everything into higher structures, treating even elements of sets as functions, i.e. an element of a set A is simply a function from a single element set to A. I am fascinated to see entirely opposite approaches to extending existing concepts! On a very minor note, at 18:54 if talking about distributivity, I would imagine nat^2 to be the bunch of every number that is a product of two natural numbers (which is just nat), not just the square numbers, like how ideals from ring theory work.
@AllAnglesMath
5 ай бұрын
You're right that a single element can be treated as a "singleton bunch". You're also right that distributing an exponent over a bunch is ambiguous. Other people have also pointed this out in the comments, and it is something that had escaped my attention when making the video. So thanks for pointing it out. Your remark about category theory is really interesting. In the videos about groups, I talk about "zooming out" from a group to its quotient group. I always imagine that if you keep zooming out, you end up with a single dot, and you end up in the world of categories.
@CliffSedge-nu5fv
3 ай бұрын
4:05 This "fundamental theorem of logic" that a true conclusion can follow from a false premise is only confusing if one mistakenly believes that premises cause conclusions. A real-world example: My workplace has a bathroom door that puts up an Occupied flag if it is locked from the inside. If I see the Occupied flag, then I know someone is in the bathroom. If I don't see the Occupied flag, then it could still be true that someone is in the bathroom. The truth of the flag being visible doesn't cause the truth of someone being in the bathroom.
@ole_pl
5 ай бұрын
The concept of bunches seems a bit unnecessary to me, could you not do all the same things with sets? Let X⊂A, a∈A and ~: A×A → A, then define X~a := {x~a: x∈X}
@erichehner1587
5 ай бұрын
With sets, you can build all of mathematics. Everything else is unnecessary. We don't need numbers or functions or anything else. But we find it convenient to have these other things.
@kikivoorburg
5 ай бұрын
@@erichehner1587 but if bunches and sets work in the same way, writing them differently seems _less convenient_ - or at least against the spirit of this particular system. Are there operations for which bunches and sets behave differently? The examples in the video just seem to make bunches “sets you can do more to”
@AllAnglesMath
5 ай бұрын
Many people have the same concern, so I added some considerations in the pinned comment at the top.
@noobyfromhell
5 ай бұрын
@@erichehner1587 We also find it convenient when limits are always defined. But then you add trig functions, and consider sin(e * n), and boom - unsatisfiable.
@notfancy2000
5 ай бұрын
Reynolds, Dijkstra, UTexas, ISWIM, APL, relational parametricity, boolean calculus. Things to keep alive.
@AllAnglesMath
5 ай бұрын
I'm taking note. Thanks for the many references. So many interesting things to study 😄
@noobyfromhell
5 ай бұрын
You *are* aware that this is just lattice theory, right? Right?!
@AllAnglesMath
5 ай бұрын
Yes, I am aware. As coincidence will have it, I'm reading a paper on Galois connections right now, because I want to use them to explain the matrix transpose in an upcoming video.
@noobyfromhell
5 ай бұрын
@@AllAnglesMath (KZitem keeps swallowing my image links) Matrix transpose is essentially a metric concept, not order-theoretical one. Defining a matrix transpose (as an involution (-)^\dagger \in End(V^* \otimes V)) is equivalent to defining an inner product, you can prove it by defining a musical isomorphism x \mapsto \langle id_V^\dagger x, - angle using some other real inner product as a crutch. Defining a consistent family of matrix transposes on the entire category of finite dimensional vector spaces over R is also equivalent to defining an inner product on each (consider the case of one of the two vector spaces being just R), or to fixing a basis in each space, or to fixing an isomorphism R^{\dim V} \to V for each space. In either case it embeds the category of R^n for all natural n as a full subcategory of the category of finite dimensional vector spaces over R, and this embedding is an equivalence of categories (defined up to an isomorphism, obviously). Sure, you can then introduce a flag on each R^n as span(e_1) ≤ span(e_1, e_2) ≤ ... ≤ R^n, and the musical isomorphism will then define a Galois connection, i.e. an adjunction on this posetal category, and then in a sense you've defined a Galois connection using a transpose. But why would you use a theory that deals with adjunctions when it's actually an equivalence?
@jacobhgoldman
5 ай бұрын
** wow what a cool video! This seems to be the same as lattice theory, I think that would make a cool follow up video! **
@parkerstroh6586
4 ай бұрын
Liked, subbed, course of entire life changed.
@Neptoid
5 ай бұрын
1:57 Yes! Because thinking of it largest and smallest at the same time is contradictory. A choice needs to be made
@Nolord_
2 ай бұрын
For me sets are just predicates. Like x in S just means that S(x) is true. In that sense, sets from set theory are just a bunch of 'or's, that's why the 'comma' is commutative and idempotent, because 'or' is.
@thezipcreator
5 ай бұрын
what about ordered pairs/tuples? if I have (1, 2, 3), the order there actually matters, so it can't create a bunch. it seems that in this system you'd need an entirely new notation for them (or I guess use vectors?)
@Vaaaaadim
5 ай бұрын
Related, how does one represent a set of these tuples? Normally if we wrote ℕ³ for example that would represent tuples of 3 naturals, but in Hehner's notation nat^3 would be the set of perfect cubes.
@thezipcreator
5 ай бұрын
@@Vaaaaadim I would think that set theory symbols such as ℕ are still defined, just that they're equal to sets and not bunches. since the ~ operator ungroups sets, maybe you'd write ~ℕ³ for a bunch of all 3-tuples of natural numbers? but that feels akward
@APaleDot
5 ай бұрын
Wouldn't an ordered set of values just be a list? [1, 2, 3]?
@Vaaaaadim
5 ай бұрын
@@APaleDot Given two sets A, B how do you express in Hehner's notation a new set which is all possible ordered pairs (a,b) with a from A and b from B? In other words, the Cartesian product.
@APaleDot
5 ай бұрын
@@Vaaaaadim I don't know. I don't know Hehner's notation, I'm just another random commenter on this video. But in terms of programming, I think of an ordered set of values as a list, or a string. In that sense a set of ordered pairs is just a set of lists which each have two elements. I guess you can't use a comma ',' to separate the elements of the list because the comma is commutative, huh?
@Neptoid
5 ай бұрын
I independently thought about those symbols being opposites/duals of each other. Good that they baked that in to the symbols
@ryanmcmanus7273
5 ай бұрын
17:45 the is element of operator is does have a direction though, so ":" is does not tell you which is the element. And this is important because sets can contain other sets. Though you can kinda solve rhis by saying it is always left-right (a.k.a. Left is in Right)
@AllAnglesMath
5 ай бұрын
You're right. Basically, the colon should be asymmetric. That would clarify the correct direction in which the expression must be read.
@torb-no
5 ай бұрын
This is really cool! Reminds me of some years ago when I just for fun tried to express lotic using arthemtic, but I never knew if could be done so elegantly! I have a question though. With the properties of the bunch is there even a need for a set at all? Either way, excellent video explaining these concepts, thanks for making and sharing it!
@___frosty-zx
5 ай бұрын
Cool
@reesetyra902
5 ай бұрын
9:11 [bottom right] If x is larger than the smaller of y or z, then x is either larger than y or larger than z.
@reesetyra902
5 ай бұрын
very fun!
@AllAnglesMath
5 ай бұрын
This is a great attempt, but it's not quite right yet. Remember that the down-pointing arrow stands for "and", not "or".
@alegian7934
5 ай бұрын
every one of these is an awesome concept! just one question: do we need to consider the order of elements for bunches? it seems like that might be useful for some reducer functions (just like the order matters in a complex for loop)
@jansustar4565
5 ай бұрын
Probably no, since it still uses the comma operator, which is commutitive.
@AllAnglesMath
5 ай бұрын
There's a separate theory for lists, which are ordered. They use the semicolon operator ';'.
@alegian7934
5 ай бұрын
that is... again pretty smart haha thanks
@lilpunkxd722
5 ай бұрын
Wow best video man😮
@TheBrainn
5 ай бұрын
first order logic os one of those things where you wont fully understand its holisiticity unless you teach it to yourself because it so meta-ordered that it comes from nature rather than nurture
@Axenvyy
5 ай бұрын
wow, interesting video. It got me thinking ,,, do we define nat² to be the bunch of square of natural numbers by our own choice or does it have a more natural explanation owing to other properties it has? Like could there be, if we wanted, another way of interpreting nat² as Cartesian product of an ordered bunch with itself?"' My doubt here is of the invention vs discovery of concepts. Would really appreciate if you could share your view of it
@AllAnglesMath
5 ай бұрын
Invention vs discovery is a really important distinction. We want to avoid arbitrariness and ambiguity as much as we can. The example of "nat squared" might indeed be one of those ambiguous cases. Exponents are often tricky. Like when you say 'f to the -1' for some function f: do you mean the inverse function, or do you mean to invert each output value? I'm not sure how Hehner deals with this.
@ayushsharma8804
5 ай бұрын
did not get the point of the box operator, whats so different between a bunch and a set
@AllAnglesMath
5 ай бұрын
That's a fair point. I posted some thoughts about this in the pinned comment at the top.
@memyselfishness
5 ай бұрын
I'm not understanding the benefits of a bunch compared to a set. What does unpacking really do for us? Also, it seems like this approach is not made for readability. How can we distinguish a bunch when we're using lists?
@AllAnglesMath
5 ай бұрын
Lists are ordered, bunches and sets are not. There's a separate (but similar) theory for lists and strings.
@noobyfromhell
5 ай бұрын
I read the actual axioms in the guy's book, and I strongly suspect that bunches are just classes with comma used for class unions, but honestly the whole logical system in the book is such a mess that I'm not sure about anything.
@maxmuller445
5 ай бұрын
I found a small mistake: "All other operators ditribute overt the comma operator" is definitely not true. Aside from that statement not being well defined for non-unary operators, it is not true in general. For example the "curly braces [...] unary operator" does not, as {{0,1}} eq {{0},{1}}. Also the comma operator together with its properties of being commutative and idempotent needs to be generalized ti infinite cardinalities, as the finitary version does not yet imply that infinitely many copies of one element is the same as just one copy.
@AllAnglesMath
5 ай бұрын
Fair corrections. Thanks for giving some good counter-examples. I should not have said "all" operators.
@alurma
3 ай бұрын
This is how JQ (JSON query) and Cue languages work as well
@santerisatama5409
5 ай бұрын
Very interesting, thanks! Without LEM we get Finland: not(rain and snow) = "absolute value" of sleet, which is neither rain nor snow but has a quality of it's own. Less is more, giving up LEM we gain increase of qualitative distinctions. The holistic top (ie. not a sum of its parts) needs a distinction generating system. That's why holism - and transfinite, for that matter - are not coherent with LEM.
@noobyfromhell
5 ай бұрын
BTW there’s another issue in the book: it defines nat by two axioms: 1. 0 : nat 2. 0, nat + 1 : nat This *almost* reproduces the Peano axioms, but N \cup {omega} is also a valid model (with the successor defined as 1 + n so that it’s absorbed by the first uncountable ordinal omega). It’s not fatal, but like I said, it’s sloppy, you don’t really get *the* natural numbers with the book’s axioms. You need to represent the induction principle directly to get rid of this ambiguity.
@pmcate2
5 ай бұрын
1) The comma operation was creative, but do we gain anything by introducing bunches? 2) I understand the + notation in context of the sum, but +f was confusing. This would just be infinity?
@AllAnglesMath
5 ай бұрын
1) Hehner's own PDF contains some good arguments for bunches. 2) The plus operator is applied to all of the outputs of the function. If the domain of your function is the real numbers, then this obviously explodes. But if the domain is the positive integers, this would simply be a short notation for a series.
@paulpinecone2464
5 ай бұрын
You could avoid {} by making Set a unary operator. So: *s* (1,2,3) is notation for a set. The parents are used merely in their ordinary priority way. A bunch is just 1,2,3 or (1,2,3) for clarity. Taking the contents out of a set is just s-¹ . However, comma is also used to represent ordered objects like coordinates and vectors. I would say use a different separator. Dot might be good because you are already using it for ranges. So we have: 1.2.3..8.12 Might want to make range 3 dots for better differentiation. Three dots are already used this way at the end of expressions to imply that they go to infinity. But then there's the issue of decimal points. There's probably a better way to represent that like a compact scientific notation: 24'602 Avogadro's number Yes, the exponent gets bigger by one because the mantisas should be below one.
@christopheriman4921
5 ай бұрын
I mean you could use bunches to define vectors and then have a standard multiplication defined on vectors (which are just bunches) where you distribute everything out and simplify and you get a bunch that contains every answer from multiplying all elements together once and defining the cross or dot or any other product is as easy as defining a function that selects the numbers you want out of that standard multiplication.
@paulpinecone2464
5 ай бұрын
@@christopheriman4921 The comma operator was commutative right? Therefore unordered. Vectors are ordered.
@christopheriman4921
5 ай бұрын
@@paulpinecone2464 From my point of view you can swap around any of the numbers in a vector as long as you keep the coordinate data stored with the number as a unit.
@JustAnotherCommenter
5 ай бұрын
I've been inspired to apply arithmetic to binary logic thanks to this video! The unity between numbers and logic is possible, though I only considered integers and imaginary numbers to compensate with the lack of commutative and associative properties. Inverse Law: T = -⊥ = 1/⊥ ⊥ = -T = 1/T Rotation Law: T +/× T = T -/÷ ⊥ = Ti | Ti -/÷ T = Ti +/× ⊥ = T T +/× ⊥ = T -/÷ T = ⊥i | ⊥i -/÷ ⊥ = ⊥i +/× T = T ⊥ +/× T = ⊥ -/÷ ⊥ = Ti | Ti -/÷ T = Ti +/× ⊥ = ⊥ ⊥ +/× ⊥ = ⊥ -/÷ T = ⊥i | ⊥i -/÷ ⊥ = ⊥i +/× T = ⊥ T Arithmetic with Integers: T +/× n = T | T -/÷ n = T n +/× T = ni | ni -/÷ T = n n -/÷ T = -ni | -ni +/× T = n -n +/× T = -ni | -ni -/÷ T = -n -n -/÷ T = ni | ni +/× T = -n ⊥ Arithmetic with Integers: ⊥ +/× n = ⊥ | ⊥ -/÷ n = ⊥ n +/× ⊥ = -ni | -ni -/÷ ⊥ = n n -/÷ ⊥ = ni | ni +/× ⊥ = n -n +/× ⊥ = ni | ni -/÷ ⊥ = -n -n -/÷ ⊥ = -ni | -ni +/× ⊥ = -n
@AllAnglesMath
5 ай бұрын
I applaud your interesting experiments. Definitely check out the references in the video description, where you will find many of these laws.
@icew0lf98
5 ай бұрын
the and and or symbols aren't intuitive to me in two ways of interpreting it: -if you interpret it as an arrow, it's wrong because and points up, but gives you the lower value of the two -if you interpret it as a part of the hasse diagram, it doesn't give you the smallest value bigger than two of them, which is what it visually looks like
@PhilippMeierGermany
5 ай бұрын
What is the input domain of the comma operator? Can it operator in single numbers _and_ bunches? Or do we need another (implicit) unary operator that lifts a single number into a (one member) bunch?
@AllAnglesMath
5 ай бұрын
A single number is already a singleton bunch.
@thefance4708
5 ай бұрын
there's another thread where he answers that the point of distinguishing bunches from sets, is that putting something in a set represents lifting an object into a new space, whereas a bunch is just a universal space where things get aggregated. So bunches of bunches are always flattened into a single bunch. whereas sets of sets form a hierarchy of sets.
@chri-k
5 ай бұрын
What is the reason for everyone trying to turn mathematical notation into a functional programming language? It definitely works, but why.
@Hidra1isk
5 ай бұрын
18:55 num squared should give all products of nats, not the squares. Othervise, since the comma is commutative: {1, 4} = {1, 2}^2 = {1,2} * {2,1} = {2,2} = {2}
@annaclarafenyo8185
5 ай бұрын
This "system" is an example of a "boolean valued model" over a particular example of a boolean algebra, and it is used all the time in set-theory under the name "forcing conditions". The particular poset used in this system is not particularly special, it's just the intervals in R under nesting. You can use much richer posets to actually prove interesting theorems, like the independence of the continuum hypothesis. This is not new mathematics, it essentially dates back to Cohen and Kripke in the 60s..
@jamesriordan5461
3 ай бұрын
This can have massive implications on how we design and interact with quantum computers.
@danielyihan
5 ай бұрын
Computer scientists love coming up with notation for old math and thinking it is super profound.
@AllAnglesMath
5 ай бұрын
I think one of the main reasons that these old ideas from math are not wide-spread, is that abstract math is often presented in a very obscure way. Many engineers and SW developers have never heard of lattice theory, because it isn't easily accessible. That's one of the things we hope to mend with this channel.
@MidwitObservations
5 ай бұрын
Does 2+2=4 in every universe? Do logic, principles, math, and or natural laws exist before the universe? Are they emergent from the universe itself, is math as a language a creation of the mind? Iv heard the argument that we cant comprehend or see another universe or system of that kind. Which is fair but also an unsatisfactory answer. Someone explain how in another reality 2+2=5. Two even's cant equal an odd right? But in any universe? Im going mad. Is logic real?
@FireyDeath4
5 ай бұрын
I mean... well-defined terms and operators have necessary corollaries. And I would basically define mathematics as the set of all coherent terms, operators and corollaries. So you can swap out the symbols like digital glyphs and names all you like, but when you get to their raw definitions, you can't change their functionality without changing the definitions because they're basically tautological to their functionality. So, I think all logic is real. I also believe this universe is a mathematical structure so yeah
@MidwitObservations
5 ай бұрын
@@FireyDeath4 well said, thank you
@TreeLuvBurdpu
5 ай бұрын
Turn down the noise. Stop worrying about all the universes that don't exist.
@MidwitObservations
5 ай бұрын
@TreeLuvBurdpu I'm just useing that to bring out the question if math exists before or outside the universe, idc about other universes
@MidwitObservations
5 ай бұрын
@TreeLuvBurdpu oh then theres shit like game theory that proves being nice is beneficial in the long run, which Is like math saying to be good. Is God math? lol
@qexat
5 ай бұрын
13:09 I immediately thought about an and-reduction here
@tropin_tropin
5 ай бұрын
10:15 Wouldn't the "arithmetic equivalent" of the law of excluded middle be something like max{ q, -q } ≥ 0 ?
@AllAnglesMath
5 ай бұрын
That's an interesting approach, but what would it look like when you translate it back into logic? We don't have an equivalent for 0 in binary logic, so this expression is only possible in arithmetic, unless I'm missing something.
@joirnpettersen
5 ай бұрын
As cool as this is (and it is very cool), I do have a concern when it comes to infinity. We can only apply binary operators to a finite number of things, so what can we say about N={0,1,2,3,...}? This can't really be thought of as "applying the comma to infinity". The only resolution I can think of is that some operators can take a "set" or "bunch" of members and take them together, but this seems to degrade the elegancy this had in the finite case. For example, we can "take the maximum" of the bunch/set of statements that n is prime, which is fine because we can say "forall n", but we can't "take the maximum" of the set of real numbers of the form 1-1/n (of course we can take the sup and get 1, but then we lose the property that the min is in the set). One way to interpret this is that all of these concepts coincide nicely for finite collections, but the reason the distinctions exist is because infinite collections don't play as nicely.
@Ryu-ix8qs
4 ай бұрын
Very nice
@bookofproofs
3 ай бұрын
I agree with you that you can rewrite the quantors operators as enumerated conjunctions or disjunctions. But this will work only for finite domains on which the quantors operate. What if the domain is infinite or even uncountably infinite?
@AllAnglesMath
3 ай бұрын
In that case you could still use the same symbol, and it just means the same thing as the symbol we currently use.
@bookofproofs
3 ай бұрын
@@AllAnglesMath Yes, I still agree. I'm only wondering what kind of "a thing it just means" to connect a predicate by a logical "or" uncountably many times like in the expression exists x (x > 0) where x "runs through all" real numbers if we cannot even rewrite this expression into the form x1 > 0 or x2 > 0 or x3 > 0 or ....
@AllAnglesMath
3 ай бұрын
@@bookofproofs Yeah, it's an interesting question. I don't immediately see a way to break into it, which makes it even more interesting.
@arisweedler4703
5 ай бұрын
Awesome!
@user-Loki-young0515
3 ай бұрын
maybe think set as a function, just put powers on the right top corner of left brace
@imrematajz1624
4 ай бұрын
If we van consider comma as a binary operator which is commutative, how can we define noncommutative operations such as matrix multiplication in this notation?
@davidhand9721
4 ай бұрын
Does the bunch issue make a difference in the self-reference catastrophe in set theory? Does, for example, the set of all sets that do not contain themselves contain itself if we call some part of the picture a bunch? If it does contain itself, then it shouldn't be in itself, but if it isn't, then it should be.
@adrianott5248
5 ай бұрын
At 14:50, the De Morgan law, I dont really understand the notation, as in are both the "and" operator and the "- (or not)" operator a part of the "this happens for every element in the output of the function"? Or does it matter? If you take 'and' 'not' f, is this the same as 'and' ('not' f)? 'not' f will be a sum of negative numbers, and not a function, so that shouldnt work, but in the other case, 'not' 'or' f, it seems as the right interpretation is 'not' ('or' f), as the 'not' isnt distributed over the elements in the domain of the function? And f in this case I guess is just x>?
@XahhaTheCrimson
5 ай бұрын
More comprenehsible explanation for bunches in my opinion, is the lazy evaluators. If you're familiar with Javascript, it's something like Generator. As I understood, set is just a realization of such notion (or making it concretely). Generator in Javascript can only handle countable bunches, but in Eric's intention, I think uncountably infinite bunches also make sense. Though I'm not sure is worth it to distinguish bunches from set- Did he just want to separate them like von-neumann universe (related to ZFC axioms) to avoid circular dependency between two idea? I'm not sure.
@remrevo3944
5 ай бұрын
10:13 But doesn't q max (-q) = |q| (which is still true under the new system) imply q or (!q) = T for the special case where q is either infinity or negative infinity (true/false)? So it is *still* a theorem when taken in the right context.
@AllAnglesMath
5 ай бұрын
Yes, it's still correct for true & false, but not for any other numbers.
@remrevo3944
5 ай бұрын
@@AllAnglesMath I mean yes, but the theorem q max (-q) = |q| is more useful anyway! And it's kind of intuitive; infinity and any other number don't *really* have anything to do with each other. So q or !q = T being subsumed by q max -q = |q| just makes sense! I just find it fascinating that those two systems unify so elegantly. T = infinity was extremely well chosen!
@HoSza1
Ай бұрын
Monads screaming in the background: JUST MENTION US!!! 😂
@whig01
5 ай бұрын
What if we want an ordered list instead of an unordered bunch? Does he recommend ; instead of , or something else?
@AllAnglesMath
5 ай бұрын
That's exactly right. The ';' operator creates sequences instead of (unordered) bunches.
@whig01
5 ай бұрын
@@AllAnglesMathCan you define this as an operator?
@NostraDavid2
Ай бұрын
I wonder what this notation would do for Relational Calculus.
Пікірлер: 433