Logs: liberachat/#haskell
| 2021-07-09 09:26:34 | <tomsmeding> | well \x _ -> x and \_ y -> y are also in S |
| 2021-07-09 09:27:10 | <viluon> | yeah true that, you have the projections |
| 2021-07-09 09:28:01 | <viluon> | it's really the set of ℝ × ℝ → ℝ, for some definition of ℝ, I don't think you get much from partial application here |
| 2021-07-09 09:28:19 | <viluon> | (the subset of*) |
| 2021-07-09 09:28:27 | <viluon> | (a subset of*) |
| 2021-07-09 09:28:38 | <tomsmeding> | problem is that S is not at all closed under + or * |
| 2021-07-09 09:29:01 | <viluon> | hmm |
| 2021-07-09 09:30:43 | × | kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Quit: WeeChat info:version) |
| 2021-07-09 09:42:10 | → | neceve joins (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
| 2021-07-09 09:44:07 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-99a5-f36d-ee14-d92.fixed6.kpn.net) |
| 2021-07-09 09:44:36 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 2021-07-09 09:48:29 | × | chomwitt quits (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) (Ping timeout: 255 seconds) |
| 2021-07-09 09:49:42 | × | trattue quits (~trattue@152.70.182.158) (Remote host closed the connection) |
| 2021-07-09 09:51:18 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2021-07-09 09:51:30 | → | Trattue joins (~Trattue@152.70.182.158) |
| 2021-07-09 09:59:07 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 2021-07-09 09:59:37 | <viluon> | what are the desired properties for + and * on functions? |
| 2021-07-09 10:00:13 | <tomsmeding> | I'm not even sure I need the set to be closed under particular operations specifically |
| 2021-07-09 10:00:35 | <tomsmeding> | I just want a large set of functions, parametrised in some way that I can randomly generate them, that are all associative |
| 2021-07-09 10:01:21 | <viluon> | btw here's a notion of function composition that works, but isn't very revealing `f . g = \ x y -> let z = g x y in f z z` |
| 2021-07-09 10:01:23 | <tomsmeding> | but (\x y -> f x y) + (\a b -> g a b) can only really mean \x y -> f x y + g x y |
| 2021-07-09 10:01:46 | <viluon> | I'm struggling to find the "point" at which the associativity is lost |
| 2021-07-09 10:01:54 | <tomsmeding> | :D |
| 2021-07-09 10:02:18 | <tomsmeding> | that function composition also doesn't preserve associativity I believe |
| 2021-07-09 10:02:19 | → | fef joins (~thedawn@user/thedawn) |
| 2021-07-09 10:05:15 | × | Trattue quits (~Trattue@152.70.182.158) (Quit: bye) |
| 2021-07-09 10:05:30 | → | Trattue joins (~Trattue@152.70.182.158) |
| 2021-07-09 10:08:07 | <viluon> | ah, you may be right! |
| 2021-07-09 10:08:21 | <viluon> | it's associative if `g (let q = g x y in f q q) z ≟ g x (let q = g y z in f q q)` |
| 2021-07-09 10:10:30 | <tomsmeding> | not associative for f = g = (+) :p |
| 2021-07-09 10:10:40 | <tomsmeding> | because \x y -> 2 * x * y is not associative |
| 2021-07-09 10:10:54 | <tomsmeding> | uh correction, \x y -> 2 * (x + y) |
| 2021-07-09 10:11:13 | → | wqsz7xn joins (~wqsz7xn@202.36.244.28) |
| 2021-07-09 10:11:42 | <tomsmeding> | I feel like the only things that really compose here are \x _ -> x and \_ y -> y |
| 2021-07-09 10:13:24 | <viluon> | associativity is way more elusive than I thought |
| 2021-07-09 10:14:18 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2021-07-09 10:14:29 | <viluon> | hmm, *just* multiplication or *just* addition would work though, wouldn't it? |
| 2021-07-09 10:14:36 | <viluon> | that'd give you a group, right? |
| 2021-07-09 10:14:38 | <tomsmeding> | yes, also c*x*y |
| 2021-07-09 10:14:47 | <tomsmeding> | would it? |
| 2021-07-09 10:14:59 | <viluon> | oh, group has inverses |
| 2021-07-09 10:15:09 | <tomsmeding> | monoid rather |
| 2021-07-09 10:15:20 | <viluon> | semigroup? |
| 2021-07-09 10:15:28 | <viluon> | associative binary operation |
| 2021-07-09 10:15:53 | <viluon> | oh monoid is a semigroup plus identity, fair enough |
| 2021-07-09 10:17:12 | × | fluffyballoon quits (~fluffybal@199.204.58.62) (Quit: Client closed) |
| 2021-07-09 10:17:29 | → | fluffyballoon joins (~fluffybal@199.204.58.62) |
| 2021-07-09 10:18:32 | <viluon> | so it's the interactions between + and * that screw it up |
| 2021-07-09 10:18:46 | <tomsmeding> | yeah |
| 2021-07-09 10:24:26 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) |
| 2021-07-09 10:26:28 | <viluon> | tomsmeding: I think you can get quite far with just the two separate monoids, plus multiplication by a scalar on each (although that has to be on the "top-level" I believe, without further composition via + or *). There may be functions that mix + and * in other ways that this doesn't cover, but I don't know how to find them :/ |
| 2021-07-09 10:28:54 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) (Ping timeout: 252 seconds) |
| 2021-07-09 10:29:22 | × | nsilv quits (~nsilv@212.103.198.210) (Quit: WeeChat 3.0.1) |
| 2021-07-09 10:34:56 | × | luna_ quits (~luna2021@124.205.197.98) (Remote host closed the connection) |
| 2021-07-09 10:39:08 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2021-07-09 10:39:47 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 252 seconds) |
| 2021-07-09 10:45:02 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-09 10:54:23 | → | luna_ joins (~luna2021@124.205.197.98) |
| 2021-07-09 10:54:50 | → | zcombinator joins (~zcombinat@host-87-7-58-35.retail.telecomitalia.it) |
| 2021-07-09 10:56:21 | → | chris-the-slurpa joins (~chris@81.96.113.213) |
| 2021-07-09 10:56:53 | × | andreabedini quits (~andreabed@8s8kj6nl13s474s8p7bh.ip6.superloop.com) (Ping timeout: 255 seconds) |
| 2021-07-09 10:57:11 | × | ray quits (~ray@user/re) (Quit: WeeChat 3.2) |
| 2021-07-09 10:58:02 | → | s__ joins (~s@50.34.81.185) |
| 2021-07-09 10:58:16 | × | azeem quits (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Ping timeout: 258 seconds) |
| 2021-07-09 10:59:03 | × | fluffyballoon quits (~fluffybal@199.204.58.62) (Quit: Client closed) |
| 2021-07-09 10:59:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-09 10:59:15 | × | s_ quits (~s@50.34.81.185) (Read error: Connection reset by peer) |
| 2021-07-09 10:59:21 | → | fluffyballoon joins (~fluffybal@199.204.58.62) |
| 2021-07-09 11:00:34 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 240 seconds) |
| 2021-07-09 11:02:19 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-09 11:03:00 | → | vpan joins (~vilius@212.117.1.172) |
| 2021-07-09 11:03:34 | → | luna__ joins (~luna2021@124.205.197.98) |
| 2021-07-09 11:06:18 | × | luna_ quits (~luna2021@124.205.197.98) (Ping timeout: 252 seconds) |
| 2021-07-09 11:06:44 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 2021-07-09 11:08:41 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-07-09 11:08:53 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 2021-07-09 11:11:34 | × | luna__ quits (~luna2021@124.205.197.98) () |
| 2021-07-09 11:12:46 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-99a5-f36d-ee14-d92.fixed6.kpn.net) (Remote host closed the connection) |
| 2021-07-09 11:13:02 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-e2b1-5b1f-ad9a-57c9.fixed6.kpn.net) |
| 2021-07-09 11:16:27 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 2021-07-09 11:18:14 | → | azeem joins (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) |
| 2021-07-09 11:22:09 | → | andreabedini joins (~andreabed@8s8kj6n9tyzc511tnjb7.ip6.superloop.com) |
| 2021-07-09 11:22:10 | <dminuoso> | 11:08:15 tomsmeding | Does anyone happen to know a class of numerical two-argument functions that 1. are associative, and 2. can be randomly generated? |
| 2021-07-09 11:23:11 | <dminuoso> | Elliptic curves come to mind |
| 2021-07-09 11:23:43 | <dminuoso> | (e.g. elliptic curves over Galois fields) |
| 2021-07-09 11:23:58 | <dminuoso> | Or.. is that even associative I wonder? |
| 2021-07-09 11:25:38 | <tomsmeding> | "An elliptic curve is an abelian variety – that is, it has a group law defined algebraically, with respect to which it is an abelian group – and O99,99 serves as the identity element." |
| 2021-07-09 11:25:52 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) |
| 2021-07-09 11:26:04 | <tomsmeding> | dminuoso: sounds like it should be associative; but it's also commutative, right? |
| 2021-07-09 11:26:18 | <tomsmeding> | Suboptimal but quite interesting example |
| 2021-07-09 11:26:47 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija) |
| 2021-07-09 11:28:16 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 246 seconds) |
| 2021-07-09 11:28:30 | <tomsmeding> | Looks like you really need more than one-dimensional arguments to get interesting behaviour |
| 2021-07-09 11:28:51 | → | ishutin_ joins (~ishutin@87-97-88-250.pool.digikabel.hu) |
| 2021-07-09 11:30:28 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 2021-07-09 11:30:30 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:44e3:e9f0:ea4d:f039) (Ping timeout: 252 seconds) |
| 2021-07-09 11:32:20 | × | ishutin quits (~ishutin@79.120.162.129) (Ping timeout: 272 seconds) |
| 2021-07-09 11:33:08 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-07-09 11:34:52 | × | yauhsien quits (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Read error: Connection reset by peer) |
| 2021-07-09 11:35:08 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
All times are in UTC.