Patrick R. Michaud wrote:
No, upon closer looking, you're right that it should both evaluate false, and that they are not equivalent in what I meant to be asking.none(none($a,$b),none($c,$d)) == none($a,$b,$c,$d)True.
Hmmmm...
-> none(none($a,$b) == none($a,$b,$c,$d), none($c,$d) == none($a,$b,$c,$d))
-> none(none($a == none($a,$b,$c,$d), $b == none($a,$b,$c,$d)), none($c == none($a,$b,$c,$d), $d == none($a,$b,$c,$d)))
-> none(none(none($a==$a, $a==$b, $a==$c, $a==$d), none($b==$a, $b==$b, $b==$c, $b==$d)), none(none($c==$a, $c==$b, $c==$c, $c==$d), none($d==$a, $d==$b, $d==$c, $d==$d)))
-> none(none(none(1, 0, 0, 0), none(0, 1, 0, 0)), none(none(0, 0, 1, 0), none(0, 0, 0, 1)))
-> none(none(0, 0), none(0, 0))
-> none(1,1)
-> false
Ummm, what am I missing? To state it another way... we can show that none($a,$b) == none($a, $b, $c, $d) is true, so
none( none($a,$b), none($c,$d) ) == none($a, $b, $c, $d)
is equivalent to
none( none($a,$b) == none($a, $b, $c, $d), none($c,$d) == none($a, $b, $c, $d))
which is none(1, 1), or false. Did I autothread wrongly here?
none(none($a,$b),none($c,$d)) ? all(any($a,$b),any($c,$d))
Should work, though. Not that it helps simplify matters at all.
In essence, what I'm doing is attempting to create a set of rules whereby one can simplify a junction, by removing the nestedness of it, or removing terms outright. In the process, I'm making sure that I understand what they mean.
-- Rod Adams