function 2: is-equal


is-equal:
    description:
        is-equal[value] ket
        returns yes/no if the value in ket == value

    examples:
        is-equal[80] |age: 76>
            |no>

        is-equal[2010] |year: 2010>
            |yes>

        -- if the ket has no float value then return the empty ket |>
        is-equal[13] |the cat>
            |>

    see also:
        is-less-than, is-less-equal-than, is-greater-than, is-greater-equal-than, is-in-range


is-equal:
    description:
        is-equal(one, two)
        returns |yes> if one == two, else |no>
        where one and two are sequences
        the order of the kets in any of the superpositions does not matter
        however, the order of the superpositions in the sequences do matter
        NB: if one and two are both the empty ket, return |no>
        Now implemented as: ( one == two ) 

    examples:
        -- Let's give some abstract examples:

        -- first demonstrate it works with superpositions
        -- and note order of kets in superpositions does not matter:
        sp |one> => rank split |abcd>
        sp |two> => shuffle sp |one>
        is-equal(sp |one>, sp |two>)
            |yes>

        -- now demonstrate it works with sequences:
        seq |one> => rank split |abcd> . rank split |efg> . rank split |hijkl>
        seq |two> => shuffle seq |one>
        is-equal(seq |one>, seq |two>)
            |yes>

        -- now show that the order of the superpositions in the sequences DO matter:
        seq |three> => sshuffle seq |one>
        is-equal(seq |one>, seq |three>)
            |no>

    see also:
        simm, strict-simm, rank, split, shuffle, sshuffle
Home