• MinekPo1@lemmy.ml
    link
    fedilink
    English
    arrow-up
    41
    ·
    11 months ago

    TL;DR: Grid<A,B,C,D,E,F,G,H> simplifies to true, if and only if it is a 3x3 magic square.

    full explanation
    • Fifteen is an array of length 15
    • T<A,B,C> checks if an array of length A+B+C is equivalent to an array of length 15, thus checking if A+B+C is equal to 15
    • And<A,X> is simplifies to X if A is true, else it simplifies to false
    • Df<A,B,X> checks if A and B are Diffrent , simplifying to X if they are
    • Grid<A,B,C,D,E,F,G,H> first checks if every row, column and diagonal is equal to 15, then checks if every item is unique.