Comments - Curious Mathematical Object: Hyperlogarithms - AnalyticBridge 2021-09-19T03:15:46Z https://www.analyticbridge.datasciencecentral.com/profiles/comment/feed?attachedTo=2004291%3ABlogPost%3A369613&xn_auth=no An interesting answer was pro… tag:www.analyticbridge.datasciencecentral.com,2017-08-16:2004291:Comment:369673 2017-08-16T22:08:55.918Z Vincent Granville https://www.analyticbridge.datasciencecentral.com/profile/VincentGranville <p>An interesting answer was provided <a href="https://www.reddit.com/r/math/comments/6u458v/curious_mathematical_object_hyperlogarithms/" target="_blank">here</a> (on Reddit) by <a href="https://www.reddit.com/user/Sarcon5673" target="_blank">Sarcon5673</a>.. It is reproduced below:</p> <p>Well, if Z = XY, then Hlog(Z) has to be independent of our choice of X and Y. So it must only depend on whether the elements are in Z or not.</p> <p>I'm not sure how to formalize my thoughts, but we want to…</p> <p>An interesting answer was provided <a href="https://www.reddit.com/r/math/comments/6u458v/curious_mathematical_object_hyperlogarithms/" target="_blank">here</a> (on Reddit) by <a href="https://www.reddit.com/user/Sarcon5673" target="_blank">Sarcon5673</a>.. It is reproduced below:</p> <p>Well, if Z = XY, then Hlog(Z) has to be independent of our choice of X and Y. So it must only depend on whether the elements are in Z or not.</p> <p>I'm not sure how to formalize my thoughts, but we want to look at functions of 1 boolean variable. We want f(a and b) = f(a) or f(b)</p> <p>Since f is a function of a single variable, we can just look at all possible boolean functions of a single variable:</p> <p>f1(x) = True, f2(x) = False, f3(x) = x, f4(x) = Not x</p> <p>Both f1 and f2 work fine, since you get True = True or True, and False = False or False.</p> <p>For f3, it doesn't work, because if a = True and b = False, we have False = f(False) = f(True and False) = f(True) or f(False) = True or False = True, a contradiction.</p> <p>f4, on the other hand, surprisingly works.</p> <p>Now, the way Hlog works is that it's supposed to take in elements of U, and each element could have a fixed function of {f1, f2, f4}, and the input is whether it's in Z or not.</p> <p>For the two examples the author gave, the first corresponds with some of the elements of U having the function f1, while the others having f2. For the second, every element has the function f4 applied. There's an edge case that the other avoided, which is where all functions are f2, which means Hlog is identically {}.</p> <p>So, I could have U = {a,b,c}, and each element corresponds with f1, f2, and f4, respectively. So, Hlog({a,b}) = {a,c}, Hlog({a,c}) = {a}, Hlog({b,c}) = {a}, Hlog(U) = {a}. And you can confirm that it works by generating the other possibilities from this one.</p> <p>Notice this one: Hlog(U) = {a}; this contradicts the author. This is because he assumed something incorrect: That Hlog(Z) = Hlog(UZ) = Hlog(Z) + Hlog(U) implies that Hlog(U) = {} by "cancellation". In reality, you cannot cancel a set that is unioned with another. And this shows Hlog(U) could be nonempty. Hlog(U) equals a subset of the biggest subset of all possible outputs.</p> <p>Also, however, Hlog({}) = {a,c} by our construction, so again, it contradicts the author, and it actually equals the union of all possible outputs. (think of it informally like log(0) = infinity, "the biggest thing")</p> <p>And we're done.</p> <p>:</p> <p></p>