Same . It ' s cool , and it can help with ghost runs , but it takes away a big part of the atmosphere for me . <| sep |> update channel got solidly broken by the last dip . Don ' t ask me what this means . I thought why place orders according to this pattern if you don ' t respect it when it gets broken , so I reduced my position by the amount I rebought at this level . If BTC continues pooping its pants though , I can see XMR rebounding here . <| sep |> Wait , when did Sanders supporters want a recount ? <| sep |> As a big Clinton supporter , I ' d absolutely rather know that . At least that would make me feel a bit better about Trump ' s win . <| sep |> Regarding nusensei , especially this AiIDV 3 xHrE Good stuff . <| sep |> In essence , the upper part the dissect function does two things It creates a set of all the atom names ls , type Setstring . It also creates a function that can be called with a mapping of literal names to truth values f , type Mapstring , bool bool , both of which will be used in the second part . The second part creates all possible truth tables for the given atom literal names e . g . if you have names a , b and c it creates 8 maps for all the possible truefalse combinations of the three names . Then it calls f with each of these in succession and if f returns true then it means that the overall proposition can be satisfied with the truth table f was just called with . This means that the proposition cannot be inconsistent since there are values for the atoms that make the proposition true . If you want to actually see the truth table that makes the proposition true , change the last line from Seq . exists f to Seq . tryFind f and replace % b with % A in the printfn call . Then isConsistent returns OptionMapstring , bool None shown as null in the output if the proposition is inconsistent . Some truthTable if the proposition can be satisfied with this truth table .