Yeah, I'm beginning to think this may be the root of it all, the zero signal or absence there of. I do agree, though, that we shouldn't have all signals present if they're zero. IMO, it should be that an absence of a signal type should be considered and treated as if that signal type is zero. Provided that Everything and Anything are left to test against only detected signals, they should work fine. The only change would be when there's no signal, they just treat it as an absolute zero and then compare as normal.
I am curious, though, where having Everything default to True and Anything default to False in the absence of a signal is useful that can't be solved in another fashion? I mean, if we're testing for an absence of a signal, but we treat this as 0, then testing as Everything = 0 and Everything <> 0 should yield the same results, shouldn't it?
[Twinsen] [16.7] Circuit Network on belts
-
- Smart Inserter
- Posts: 2767
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: [Twinsen] [16.7] Circuit Network on belts
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
Re: [Twinsen] [16.7] Circuit Network on belts
You should not change the rules of math/logic.
If everything only tests against detected signals, as it does now, then both everything <> 0 and everything = 0 should be true on an empty belt.
Similarly anything = 0 and anything <> 0 ought to be false on an empty belt. This is exactly as it now behaves and thus is consistent.
In other words, no change is required.
<edit>The true and false values for everything and anything are not arbitrary. Everything is a generalisation of the logical AND while anything is a generalisation of the logical OR. The empty domain simply evaluates to the unity element of these operations (true AND x = x, false OR y = y). A useful choice as it allows you to split of terms when doing computations with the logical formula.
</edit>
If everything only tests against detected signals, as it does now, then both everything <> 0 and everything = 0 should be true on an empty belt.
Similarly anything = 0 and anything <> 0 ought to be false on an empty belt. This is exactly as it now behaves and thus is consistent.
In other words, no change is required.
<edit>The true and false values for everything and anything are not arbitrary. Everything is a generalisation of the logical AND while anything is a generalisation of the logical OR. The empty domain simply evaluates to the unity element of these operations (true AND x = x, false OR y = y). A useful choice as it allows you to split of terms when doing computations with the logical formula.
</edit>
Re: [Twinsen] [16.7] Circuit Network on belts
I'll close this now, you can open up a Gameplay Help topic if you need further information.