00:00:24 Sort of since physics is more complex. 00:01:55 so, is this formulation equivalent to the other one, or does it implement a different notion of transitivity? 00:02:21 It is equivalent. 00:02:34 oh ok 00:02:45 *aranhoide* gears spinning... 00:03:01 I told you that it is trickier. 00:03:31 -!- peterhil [~peterhil@dsl-hkibrasgw3-58c156-108.dhcp.inet.fi] has quit [Quit: Must not waste too much time here...] 00:03:51 Recall that the only way to get non-transitive graph is a cycle. 00:04:24 Transform graph of strict order to a graph based on non-strict order. 00:05:00 This transformation preserves arrows and adds direction to those edges that weren't directed. 00:06:25 a->b=c->a is wrong, it becomes a->b->c->a where a/=b. 00:07:07 a->b->c->a is non-transitive either, same as above. 00:07:40 a->b-c-a cannot happen due to antisymmetry. 00:09:03 I'm trying to relate it to jcowan's sign(r(a, b) + r(b, c)) = r(a, c) 00:09:11 just as a thought exercise 00:09:36 Hasn't he found a counterexample? 00:10:01 Yes, two. It works for seven of the nine cases, but fails on the other two 00:10:09 yes, I don't mean they should be equivalent 00:10:48 I'm just trying to put that in terms more similar to your c(a,b)+c(b,c)+c(c,a) belongs to {-1, 0, +1} 00:12:39 -!- joneshf-laptop [~joneshf@086.112-30-64.ftth.swbr.surewest.net] has quit [Ping timeout: 260 seconds] 00:13:52 -!- jcowan [~John@earth.ccil.org] has quit [Remote host closed the connection] 00:14:20 jcowan [~John@earth.ccil.org] has joined #scheme 00:22:42 pnkfelix [~Adium@bas75-2-88-170-201-21.fbx.proxad.net] has joined #scheme 00:23:18 -!- Cromulent [~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 00:26:07 joneshf-laptop [~joneshf@086.112-30-64.ftth.swbr.surewest.net] has joined #scheme 00:26:51 -!- pnkfelix [~Adium@bas75-2-88-170-201-21.fbx.proxad.net] has quit [Ping timeout: 252 seconds] 00:28:45 -!- oxum [~oxum@122.164.105.247] has quit [Ping timeout: 245 seconds] 00:32:41 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 00:37:54 -!- civodul [~user@gateway/tor-sasl/civodul] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:43:51 -!- jcowan [~John@earth.ccil.org] has quit [Remote host closed the connection] 00:44:21 -!- kobain [~sambio@unaffiliated/kobain] has quit [Ping timeout: 252 seconds] 00:44:37 kobain [~sambio@unaffiliated/kobain] has joined #scheme 00:44:39 ASau: doesn't your latest formulations assume something like c(a, b) = -c(b, a) for all a and b? that should perhaps be checked separately for the inputs, right? 00:45:09 otherwise you're not checking anything about c(b,a), c(c,b), or c(a,c) 00:45:54 s/formulations/formulation/ 00:46:42 although the next-to-latest one also suffers from not checking the well-behavedness of c(b,a), c(c,b) or c(a,c) at all 00:47:39 then again, I suppose that's implied in jcowan's description of the problem 00:49:06 -!- tenq|away is now known as tenq 00:54:13 anyway, that latest formulation would allow a comparator that says a=b, b=c, and c aranhoide: that's the definition. 01:11:58 c(a, b) = -1 for ab. 01:12:54 Or sign flipped, it doesn't matter. 01:12:59 yes, ignore that part of my objection 01:13:09 Well... 01:13:35 Of course, my test assumes that c, <=, and < are sane enough already. 01:14:31 anyway, your latest formulation does violate the same expectation that a=b, b=c then c should be equal, not less or more than, a 01:14:33 c as above, <= is pre-order (reflexive and antisymmetric in your sense), < is strict pre-order (nonreflexive, strictly antisymmetric). 01:15:34 That follows from reflexive property. 01:16:08 -!- nisstyre [~yours@oftn/member/Nisstyre] has quit [Read error: Connection reset by peer] 01:16:27 (Or should follow.) 01:17:32 nisstyre [~yours@oftn/member/Nisstyre] has joined #scheme 01:18:05 your test passes a=b=ca as transitive: |c(a,b)+c(b,c)+c(c,a)| = |0+0+(+/-)1| = 1 01:18:06 Though you may be right. 01:18:25 I didn't check that formulation well enough. 01:20:08 In any case the previous one with <= is definitly correct and better. 01:20:35 I think the other one is right, yes, but I feel you still need to check all the permutations of a,b,c with it 01:20:40 (I'm not 100% sure) 01:21:29 No, you don't need to check all permutations. 01:21:57 It is invariant to cyclic substitutions. 01:22:32 At most you need to check two cases: going forward and backward in some arbitrarily fixed order. 01:22:51 -!- alexei [~amgarchin@p4FD60932.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 01:23:02 pnkfelix [~Adium@88.170.201.21] has joined #scheme 01:24:03 And that's why I have rewritten it using =, so that this could be avoided. 01:24:52 sstrickl_ [~sstrickl@racket/sstrickl] has joined #scheme 01:27:26 -!- pnkfelix [~Adium@88.170.201.21] has quit [Ping timeout: 240 seconds] 01:35:13 ASau: I think that's right. and I don't think we need to check the "going backwards" part if the comparators are well behaved (c(a,b) = -c(b,a), as we said before) 01:37:02 In any case it depends on what you want it for. 01:37:29 If it is test case, then you should write permutations down by hand, there're only six of them, 01:37:36 and use the definition directly. 01:38:00 If it is some sort of run time assertion that should go fast, then it's another question. 01:38:11 -!- sstrickl_ [~sstrickl@racket/sstrickl] has left #scheme 01:40:41 for each of the 6 permutations there are 7 combinations of r(a,b) and r(b,c) to consider in order to apply the straightforward check 01:41:49 because the concept of 'transitivity' with a <=> comparator is not as simple as with <= 01:43:21 No, only <= should be considered. 01:43:47 oh I see what you mean now 01:43:56 yes, that would work too 01:44:39 All this talk has arisen from the fact that jcowan has either forgotten or just didn't know properties of order relations. 01:45:59 If you think a little bit, then you may find a way to reuse linearity of <=. 01:46:07 This should reduce the number of cases to 3. 01:46:21 The idea is this: 01:46:55 since comparator c is total, it should infer total order on 3 points. 01:47:01 That is linear order. 01:47:25 In this case each point breaks the space into two cones: one above, one below. 01:47:54 cones? 01:48:39 {x | x<=a} and {x | a<=x}. 01:49:29 I see 01:49:56 What you need to test is that there exists a point that other two belong to two different cones. 01:50:36 And perhaps check that those in the cone below is less than the one in the cone above. 01:51:27 Geometrically it means that it cannot happen that for any point other two lie to the right or to the left. 01:51:56 Care should be taken to accomodate for coinciding points. 01:52:25 These points are on a straight line. That's why the order is called linear. :) 01:53:24 I don't know if it is possible. 01:54:04 See how I had to lift it to the level of graphs to explain this my intuition here. 01:55:18 the (implies (and (<= a b) (<= b c) (<= c a)) (and (= a b) (= b c) (= c a))) looks simpler :) 01:56:34 Yes. 01:57:05 The cycle in the graph means exactly that whatever point you pick other two lie in the above-cone. 01:57:21 upper cone. 01:57:33 and the consequent clause is checking for coinciding points 01:57:54 This can only happen when points coincide. 01:57:57 Yes. 01:59:37 nice food for thought, thanks a lot! 01:59:55 It may be easier to do it the other way around. 01:59:58 With strict order. 02:00:31 In that case, you just cannot have points that do neither a (not (or (and (< a b) (< b c) (< c a)) (and (< a c) (< c b) (< b a)))) 02:02:28 -!- mrowe is now known as mrowe_away 02:03:17 that incorrectly passes a (passes: accepts as transitive) 02:04:35 Ah, right. 02:05:21 It demonstrates again that strict order is more inconvenient to work with. :) 02:05:54 :) 02:05:55 *ASau* has just realised that last time he worked with all such stuff seriously was more than half his life ago. 02:09:03 Either my brain has started rusting or it is just a bit late here. 02:23:17 pnkfelix [~Adium@bas75-2-88-170-201-21.fbx.proxad.net] has joined #scheme 02:30:11 -!- pnkfelix [~Adium@bas75-2-88-170-201-21.fbx.proxad.net] has quit [Ping timeout: 245 seconds] 02:34:21 -!- edw [~edw@cpe-69-204-234-195.nyc.res.rr.com] has quit [Ping timeout: 245 seconds] 02:40:22 edw [~edw@cpe-98-14-44-130.nyc.res.rr.com] has joined #scheme 02:40:46 alexei [~amgarchin@p4FD60932.dip0.t-ipconnect.de] has joined #scheme 02:43:12 -!- Giomancer [~gio@107.201.206.230] has quit [Quit: Leaving] 02:43:34 Giomancer [~gio@107.201.206.230] has joined #scheme 02:45:50 -!- Giomancer [~gio@107.201.206.230] has quit [Client Quit] 02:46:08 Giomancer [~gio@107.201.206.230] has joined #scheme 03:07:13 -!- davexunit [~user@fsf/member/davexunit] has quit [Quit: Later] 03:18:50 Fare [~fare@cpe-72-229-109-116.nyc.res.rr.com] has joined #scheme 03:19:55 -!- leppie [~lolcow@105-236-193-167.access.mtnbusiness.co.za] has quit [Ping timeout: 272 seconds] 03:23:41 leppie [~lolcow@105-236-193-167.access.mtnbusiness.co.za] has joined #scheme 03:23:58 pnkfelix [~Adium@bas75-2-88-170-201-21.fbx.proxad.net] has joined #scheme 03:28:20 -!- pnkfelix [~Adium@bas75-2-88-170-201-21.fbx.proxad.net] has quit [Ping timeout: 245 seconds] 03:33:03 -!- edw [~edw@cpe-98-14-44-130.nyc.res.rr.com] has quit [Ping timeout: 246 seconds] 03:34:21 edw [~edw@cpe-98-14-44-130.nyc.res.rr.com] has joined #scheme 03:39:17 -!- acarrico [~acarrico@hunt-sting-2-234.greenmountainaccess.net] has quit [Ping timeout: 248 seconds] 03:41:15 -!- zzach [~zzach@dslb-084-063-146-118.pools.arcor-ip.net] has quit [Ping timeout: 260 seconds] 03:41:43 zzach [~zzach@dslb-094-220-198-006.pools.arcor-ip.net] has joined #scheme