← All Duels

gpt-5.4-mini_vs_grok-4-fast-reasoning.jsonl — 10 puzzles

gpt-5.4-mini
1
vs
grok-4-fast-reasoning
1
#1 Solved
def mystery(x):
    s = str(x).strip()
    if s[:1] in "+-" or not s.isdecimal() or len(s) != 4:
        return False
    n = int(s)
    mods = [0b111, 0b1011, 0b1101, 0b10001]
    rems = [0b101, 0b100, 0b110, 0b1001]
    return all(n % m == r for m, r in zip(mods, rems))
6571
6571
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
0 vs 0
#2 Solved
def mystery(x):
    s = str(x).strip()
    if not s.isdigit() or len(s) != 5:
        return False
    n = int(s)
    mods = [0b10001, 0b10111, 0b11101, 0b11111]
    rems = [0b11, 0b10001, 0b10100, 0b111]
    return all(n % m == r for m, r in zip(mods, rems))
12345
12345
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
0 vs 0
#3 Solved
def mystery(x):
    s = str(x)
    if len(s) != 6 or not all('a' <= c <= 'z' for c in s):
        return False

    idx = [ord(c) - 97 for c in s]

    if sum(idx) != 97:
        return False

    idx = [idx[4], idx[1], idx[5], idx[0], idx[2], idx[3]]
    idx = [(25 - v + i * i) % 26 for i, v in enumerate(idx)]
    return ''.join(chr(v + 97) for v in idx) == "ggesph"
"quartz"
"quartz"
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
0 vs 0
#4 Solved
def mystery(x):
    s = str(x).strip()
    if not s.isdigit() or len(s) != 6:
        return False
    n = int(s)
    mods = [0b100101, 0b101001, 0b101011, 0b101111, 0b110101]
    rems = [0b11000, 0b101, 0b11, 0b100010, 0b10011]
    return all(n % m == r for m, r in zip(mods, rems))
123456
123456
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
0 vs 0
#5 Solver Failed
def mystery(x):
    s = str(x).strip()
    if len(s) != 8 or any(c < 'a' or c > 'z' for c in s):
        return False

    v = [ord(c) - 97 for c in s]

    if (sum(v) + 0b111 * v[2] + 0b1011 * v[5]) % 0b11010 != 0b10001:
        return False

    v = [v[6], v[1], v[4], v[7], v[0], v[5], v[2], v[3]]
    m = [0b101, 0b111, 0b1001, 0b1011, 0b1101, 0b1111, 0b10001, 0b10011]
    a = [0b1, 0b11, 0b101, 0b111, 0b1001, 0b1011, 0b1101, 0b1111]
    v = [(v[i] * m[i] + a[i]) % 26 for i in range(8)]

    for i in range(1, 8):
        v[i] = (v[i] + 3 * v[i - 1] + i * i) % 26

    return v == [0b1, 0b10010, 0b1100, 0b10011, 0b10001, 0b1, 0b100, 0b1001]
"zjcpdwax"
"fjordwax"
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
1 vs 0
#6 Solver Failed
def mystery(x):
    s = str(x).strip()
    if len(s) != 7 or not all('a' <= c <= 'z' for c in s):
        return False
    v = [ord(c) - 97 for c in s]
    if sum(v) != 0b1010111:
        return False
    v = [v[3], v[0], v[6], v[2], v[5], v[4], v[1]]
    m = [0b11, 0b101, 0b111, 0b1001, 0b1011, 0b1101, 0b1111]
    a = [0b1, 0b10, 0b100, 0b101, 0b110, 0b111, 0b1000]
    v = [(v[i] * m[i] + a[i]) % 26 for i in range(7)]
    for i in range(1, 7):
        v[i] = (v[i] + 0b11 * v[i - 1] + i * i) % 26
    return v == [0b10100, 0b10101, 0b111, 0b10001, 0b101, 0b1000, 0b1011]
None
"cryptic"
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
1 vs 1
#7 Solved
def mystery(x):
    s = str(x).strip()
    if len(s) != 9 or s[0] == "0" or not s.isdigit():
        return False

    d = [ord(c) - 48 for c in s]

    # First gate: a weighted checksum on the original digits.
    if (sum(d) + 0b11 * d[2] + 0b101 * d[5] + 0b111 * d[8]) % 0b1011 != 0b100:
        return False

    # Second gate: another checksum to make the search space less friendly.
    if sum((i + 1) * v for i, v in enumerate(d)) % 0b100101 != 0b11100:
        return False

    # Permutation, then an affine scramble mod 10.
    d = [d[0b111], d[0], d[0b100], d[0b1000], d[0b10], d[0b101], d[0b1], d[0b110], d[0b11]]
    m = [0b11, 0b111, 0b1001, 0b1, 0b11, 0b111, 0b1001, 0b1, 0b11]
    a = [0b1, 0b100, 0b10, 0b1000, 0b101, 0b111, 0b0, 0b110, 0b1001]
    d = [(d[i] * m[i] + a[i]) % 10 for i in range(9)]

    # Feedback pass: each digit depends on the previous transformed digit.
    for i in range(1, 9):
        d[i] = (d[i] + 2 * d[i - 1] + i) % 10

    return d == [0b111, 0b111, 0b11, 0b11, 0b100, 0b110, 0b1, 0b110, 0b110]
473958126
473958126
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
1 vs 1
#8 Solved
def mystery(x):
    s = str(x).strip()
    if len(s) != 8 or not all('a' <= c <= 'z' for c in s):
        return False
    v = [ord(c) - 97 for c in s]
    if sum(v) != 0b1111011:
        return False
    v = [v[0b11], v[0b111], v[0b1], v[0b101], v[0b0], v[0b100], v[0b110], v[0b10]]
    m = [0b11, 0b101, 0b111, 0b1011, 0b1101, 0b10001, 0b10011, 0b10111]
    a = [0b1, 0b10, 0b100, 0b101, 0b110, 0b111, 0b1000, 0b1001]
    v = [(v[i] * m[i] + a[i]) % 26 for i in range(8)]
    for i in range(1, 8):
        v[i] = (v[i] + 0b101 * v[i - 1] + i * i) % 26
    return v == [0b11000, 0b10111, 0b11, 0b1101, 0b10110, 0b10001, 0b1100, 0b10001]
"puzzling"
"puzzling"
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
1 vs 1
#9 Solved
def mystery(x):
    s = str(x).strip().lower()
    if len(s) != 8 or any(c < 'a' or c > 'z' for c in s):
        return False

    v = [ord(c) - 97 for c in s]

    if (sum(v) + 0b101 * v[2] + 0b1001 * v[5] + 0b1101 * v[7]) % 0b100101 != 0b110:
        return False

    if (v[0] + (v[1] << 1) + (v[3] << 2) + (v[4] << 3) + (v[6] << 4)) % 0b101001 != 0b101:
        return False

    v = [v[5], v[0], v[7], v[2], v[6], v[1], v[4], v[3]]
    m = [0b11, 0b101, 0b111, 0b1001, 0b1011, 0b1111, 0b10001, 0b10011]
    a = [0b1, 0b10, 0b11, 0b100, 0b101, 0b110, 0b111, 0b1000]
    v = [(v[i] * m[i] + a[i]) % 26 for i in range(8)]
    v = [((v[i] * v[i]) + ((i << 1) | 1)) % 26 for i in range(8)]

    for i in range(1, 8):
        v[i] = (v[i] + 3 * v[i - 1] + i * i) % 26

    return v == [0b1101, 0b10101, 0b10101, 0b1110, 0b11, 0b10110, 0b10, 0b1000]
"azbycxdw"
"azbycxdw"
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
1 vs 1
#10 Solved
def mystery(x):
    s = str(x).strip().lower()
    if len(s) != 9 or any(c < 'a' or c > 'z' for c in s):
        return False
    v = [ord(c) - 97 for c in s]
    if sum(v) != 0b1111101:
        return False
    if sum(i * vv for i, vv in enumerate(v)) % 0b100101 != 0b100010:
        return False
    v = [v[0b10], v[0b0], v[0b110], v[0b1], v[0b1000], v[0b101], v[0b11], v[0b111], v[0b100]]
    m = [0b11, 0b101, 0b111, 0b10, 0b1011, 0b1101, 0b1, 0b100, 0b110]
    a = [0b1, 0b10, 0b11, 0b100, 0b101, 0b110, 0b111, 0b1000, 0b1001]
    v = [(v[i] * m[i] + a[i]) % 26 for i in range(9)]
    for i in range(1, 9):
        v[i] = (v[i] + 0b100 * v[i - 1] + i * i) % 26
    return v == [0b11, 0b1100, 0b10010, 0b111, 0b1101, 0b101, 0b11, 0b11, 0b1001]
"passwords"
"passwords"
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
1 vs 1