← All Duels

gpt-5-mini-2025-08-07_vs_claude-sonnet-4-5-20250929_20260124_014526.jsonl — 10 puzzles

gpt-5-mini-2025-08-07
-3
vs
claude-sonnet-4-5-20250929
-1
#1 Solved
import unicodedata

def mystery(x):
    # Accept either str or number, but all checks are performed on the
    # normalized string representation.
    if not isinstance(x, str):
        return False
    s = unicodedata.normalize("NFKC", x)

    # A sequence of intentionally obfuscated, redundant checks.
    if len(s) != 5:
        return False
    if not s.isalpha() or s.lower() != s:
        return False
    if s[0] != 'a':
        return False
    if s.count('p') != 2:
        return False

    if sum(ord(c) for c in s) != 530:
        return False

    if sum((i + 1) * ord(c) for i, c in enumerate(s)) != 1594:
        return False

    vowels = set('aeiou')
    vowel_positions = [i + 1 for i, c in enumerate(s) if c in vowels]
    prod = 1
    for v in vowel_positions:
        prod *= v
    if prod != 5:
        return False

    if int(''.join(str(ord(c) % 10) for c in s)) != 72281:
        return False

    return True
"apple"
'apple'
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
0 vs 0
#2 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    
    if len(x) != 4:
        return False
    
    # All characters must be lowercase letters
    if not (x.isalpha() and x.islower()):
        return False
    
    # No duplicate characters
    if len(set(x)) != 4:
        return False
    
    # Sum of character values (a=1, z=26)
    char_values = [ord(c) - ord('a') + 1 for c in x]
    if sum(char_values) != 42:
        return False
    
    # Product of character values must be divisible by 20
    product = 1
    for v in char_values:
        product *= v
    if product % 20 != 0:
        return False
    
    # Alternating odd/even pattern in character values
    if not ((char_values[0] % 2 == 1) and (char_values[1] % 2 == 0) and 
            (char_values[2] % 2 == 1) and (char_values[3] % 2 == 0)):
        return False
    
    return True
"ejgt"
"atkj"
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
0 vs 0
#3 Sample Solution Wrong
import unicodedata
import math

def mystery(x):
    # Accept only strings (this puzzle targets strings)
    if not isinstance(x, str):
        return False

    # Normalize to NFKC to avoid weird unicode tricks
    s = unicodedata.normalize("NFKC", x)

    # Many seemingly random checks intended to narrow the space.
    # (They are intentionally redundant and obfuscated.)

    # Basic shape constraints
    if len(s) != 6:
        return False
    if not s.isalpha():
        return False
    if s.lower() != s:
        return False

    # Structural/positional checks
    if s[0] != 'p':
        return False
    if not s.endswith('le'):
        return False
    if s.count('z') != 2:
        return False
    if len(set(s)) != 5:  # exactly one repeated character (the two 'z's)
        return False

    # Numeric transforms on characters
    ords = [ord(c) for c in s]

    # Sum of codepoints
    if sum(ords) != 682:
        return False

    # Weighted sum (position * codepoint)
    if sum((i + 1) * v for i, v in enumerate(ords)) != 2346:
        return False

    # XOR of all codepoints
    xor = 0
    for v in ords:
        xor ^= v
    if xor != 12:
        return False

    # Sum of squares
    if sum(v * v for v in ords) != 77866:
        return False

    # Last-digit concatenation check (ord % 10 for each char, concatenated as integer)
    if int(''.join(str(v % 10) for v in ords)) != 272281:
        return False

    # Alphabet positions (a=1..z=26)
    pos = [v - ord('a') + 1 for v in ords]

    # Product of vowel positions (positions are 1-indexed for humans)
    vowels = set('aeiou')
    vowel_positions = [i + 1 for i, c in enumerate(s) if c in vowels]
    prod = 1
    for p in vowel_positions:
        prod *= p
    if prod != 12:
        return False

    # Digital root of the sum of codepoints is 7
    def digital_root(n):
        while n >= 10:
            s = 0
            while n:
                s += n % 10
                n //= 10
            n = s
        return n
    if digital_root(sum(ords)) != 7:
        return False

    # Product of alphabet positions must be divisible by 10 and by 3
    product = 1
    for v in pos:
        product *= v
    if product % 10 != 0 or product % 3 != 0:
        return False

    # A composite "parity profile" check: odd/even pattern must be [0,1,0,0,0,1]
    # where 0 means even, 1 means odd (just an arbitrary mask)
    mask = [v % 2 for v in pos]
    if mask != [0,1,0,0,0,1]:
        return False

    # Finally, a small mathy checksum mixing characters (intended as last hurdle)
    checksum = 0
    for i, v in enumerate(ords):
        checksum = (checksum * 131 + (v ^ (i + 7))) & 0xFFFFFFFF
    if checksum != 0x0001A2B4:
        return False

    return True
'puzzle'
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
-1 vs 0
#4 Sample Solution Wrong
def mystery(x):
    if not isinstance(x, str):
        return False
    
    if len(x) != 7:
        return False
    
    if not x.isalpha():
        return False
    
    if x.lower() != x:
        return False
    
    # First and last character constraints
    if x[0] != 'c':
        return False
    
    if x[-1] != 't':
        return False
    
    # Count specific character
    if x.count('o') != 2:
        return False
    
    # At least 6 distinct characters
    if len(set(x)) < 6:
        return False
    
    # Sum of ASCII values
    if sum(ord(c) for c in x) != 773:
        return False
    
    # Weighted sum by position
    if sum((i+1) * ord(c) for i, c in enumerate(x)) != 3153:
        return False
    
    # Product of positions where 'o' appears (1-indexed)
    o_positions = [i+1 for i, c in enumerate(x) if c == 'o']
    if len(o_positions) == 2:
        if o_positions[0] * o_positions[1] != 10:
            return False
    
    # XOR of all character codes
    xor_val = 0
    for c in x:
        xor_val ^= ord(c)
    if xor_val != 121:
        return False
    
    # Middle character must be specific letter
    if x[3] != 'p':
        return False
    
    # Sum of squares of ASCII values
    if sum(ord(c)**2 for c in x) != 84815:
        return False
    
    return True
"compost"
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
-1 vs -1
#5 Solved
import unicodedata

def mystery(x):
    # Accept only strings; operate on NFKC-normalized lowercase form.
    if not isinstance(x, str):
        return False
    s = unicodedata.normalize("NFKC", x)
    if s.lower() != s:
        return False

    # Basic shape
    if len(s) != 9:
        return False
    if not s.isalnum():
        return False
    if len(set(s)) != 9:  # all characters distinct
        return False

    # Positional/digit constraints (obfuscated by splitting)
    if s[0] != 'e':
        return False
    if s[-2] != '4' or s[-1] != '2':
        return False
    if s.count('y') != 1:
        return False

    # Character codes and simple aggregates
    ords = [ord(c) for c in s]

    # 1) Sum of codepoints
    if sum(ords) != 887:
        return False

    # 2) Weighted sum (1-indexed positions times codepoint)
    if sum((i + 1) * v for i, v in enumerate(ords)) != 4065:
        return False

    # 3) XOR of all codepoints
    xo = 0
    for v in ords:
        xo ^= v
    if xo != 109:
        return False

    # 4) Sum of squares
    if sum(v * v for v in ords) != 93463:
        return False

    # 5) Last-digit concatenation: ord % 10 for each character, concatenated as int
    if int(''.join(str(v % 10) for v in ords)) != 106412120:
        return False

    # 6) Product of alphabet positions for letters only (used via vowel positions)
    vowels = set('aeiou')
    vowel_positions = [i + 1 for i, c in enumerate(s) if c in vowels]
    prod_vpos = 1
    for p in vowel_positions:
        prod_vpos *= p
    if prod_vpos != 5:  # expects vowels at positions 1 and 5 -> 1*5 = 5
        return False

    # 7) Product of digits in the string (if any) must equal 8 (4*2)
    digit_chars = [int(c) for c in s if c.isdigit()]
    prod_digits = 1
    for d in digit_chars:
        prod_digits *= d
    if prod_digits != 8:
        return False

    # 8) Product of codepoints at prime indices (1-indexed: 2,3,5,7) modulo 997
    prime_indices = [2, 3, 5, 7]
    prod_prime_pos = 1
    for idx in prime_indices:
        prod_prime_pos *= ords[idx - 1]
    if prod_prime_pos % 997 != 245:
        return False

    # 9) Digital root of the sum of codepoints must be 5
    def digital_root(n):
        while n >= 10:
            s = 0
            while n:
                s += n % 10
                n //= 10
            n = s
        return n
    if digital_root(sum(ords)) != 5:
        return False

    # 10) A rolling checksum (32-bit) mixing positions and codepoints
    chk = 0
    for i, v in enumerate(ords):
        chk = (chk * 131 + (v ^ (i + 13))) & 0xFFFFFFFF
    if chk != 3231667270:
        return False

    # Extra obfuscated parity/profile check (makes reverse-engineering noisy)
    mask = [(v - ord('a') + 1) % 2 if chr(v).isalpha() else (v % 2) for v in ords]
    if mask != [1, 0, 0, 0, 1, 0, 1, 0, 0]:
        return False

    return True
"entropy42"
"entropy42"
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
-1 vs -1
#6 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    
    if len(x) != 5:
        return False
    
    if not x.isalpha():
        return False
    
    if x.lower() != x:
        return False
    
    # All characters must be distinct
    if len(set(x)) != 5:
        return False
    
    # First character constraint
    if x[0] != 'b':
        return False
    
    # Last character constraint
    if x[-1] != 'z':
        return False
    
    # Sum of ASCII values
    if sum(ord(c) for c in x) != 549:
        return False
    
    # Weighted sum by position (1-indexed)
    if sum((i+1) * ord(c) for i, c in enumerate(x)) != 1703:
        return False
    
    # XOR of all character codes
    xor_val = 0
    for c in x:
        xor_val ^= ord(c)
    if xor_val != 105:
        return False
    
    # Sum of squares of ASCII values
    if sum(ord(c)**2 for c in x) != 60633:
        return False
    
    # Product of positions where vowels appear (1-indexed)
    vowels = set('aeiou')
    vowel_positions = [i+1 for i, c in enumerate(x) if c in vowels]
    prod = 1
    for p in vowel_positions:
        prod *= p
    if prod != 3:
        return False
    
    # Last digit concatenation check
    if int(''.join(str(ord(c) % 10) for c in x)) != 88562:
        return False
    
    # Middle character must be 'i'
    if x[2] != 'i':
        return False
    
    return True
"blitz"
"blitz"
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
-1 vs -1
#7 Sample Solution Wrong
import unicodedata

def mystery(x):
    # Accept only strings; operate on NFKC-normalized lowercase form.
    if not isinstance(x, str):
        return False
    s = unicodedata.normalize("NFKC", x)
    if s.lower() != s:
        return False

    # Basic shape constraints
    if len(s) != 8:
        return False
    if not s.isalnum():
        return False

    # Positional/digit/char constraints
    if s[0] != 'e':
        return False
    if s[-1] != '7':
        return False
    if sum(1 for c in s if c.isdigit()) != 1:
        return False
    if s.count('z') != 0:
        return False

    # Compute ordinals and simple aggregates
    ords = [ord(c) for c in s]

    # 1) Sum of codepoints
    if sum(ords) != 796:
        return False

    # 2) Weighted sum (1-indexed positions times codepoint)
    if sum((i + 1) * v for i, v in enumerate(ords)) != 3440:
        return False

    # 3) XOR of all codepoints
    xo = 0
    for v in ords:
        xo ^= v
    if xo != 96:
        return False

    # 4) Sum of squares
    if sum(v * v for v in ords) != 81686:
        return False

    # 5) Last-digit concatenation: ord % 10 for each character, concatenated as int
    if int(''.join(str(v % 10) for v in ords)) != 19852515:
        return False

    # 6) Vowel-position product (1-indexed)
    vowels = set('aeiou')
    vpos = [i + 1 for i, c in enumerate(s) if c in vowels]
    prod_vpos = 1
    for p in vpos:
        prod_vpos *= p
    if prod_vpos != 28:
        return False

    # 7) Product of digits present in the string
    digit_chars = [int(c) for c in s if c.isdigit()]
    prod_digits = 1
    for d in digit_chars:
        prod_digits *= d
    if prod_digits != 7:
        return False

    # 8) Digital root of sum of codepoints
    def digital_root(n):
        while n >= 10:
            s_ = 0
            while n:
                s_ += n % 10
                n //= 10
            n = s_
        return n
    if digital_root(sum(ords)) != 4:
        return False

    # 9) Obfuscated per-character parity/profile mask
    mask = [((v - ord('a') + 1) % 2) if chr(v).isalpha() else (v % 2) for v in ords]
    if mask != [1, 1, 0, 1, 0, 1, 1, 1]:
        return False

    # 10) Another tiny mixing/xor check (position-mixed)
    x2 = 0
    for i, v in enumerate(ords):
        x2 ^= (v ^ (i + 1))
    if x2 != 86:
        return False

    # 11) Small sanity checks that make reverse-engineering noisy
    if len(set(s)) != 7:  # exactly one repeated character
        return False
    if sum(1 for c in s if c in vowels) != 3:
        return False

    return True
'eclipse7'
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
-2 vs -1
#8 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    
    if len(x) != 6:
        return False
    
    if not x.isalpha():
        return False
    
    if x.lower() != x:
        return False
    
    # All distinct characters
    if len(set(x)) != 6:
        return False
    
    # First character must be 'j'
    if x[0] != 'j':
        return False
    
    # Last character must be 'e'
    if x[-1] != 'e':
        return False
    
    # Sum of ASCII values
    if sum(ord(c) for c in x) != 645:
        return False
    
    # Weighted sum by position (1-indexed)
    if sum((i+1) * ord(c) for i, c in enumerate(x)) != 2228:
        return False
    
    # XOR of all character codes
    xor_val = 0
    for c in x:
        xor_val ^= ord(c)
    if xor_val != 31:
        return False
    
    # Sum of squares
    if sum(ord(c)**2 for c in x) != 69499:
        return False
    
    # Last digit concatenation
    if int(''.join(str(ord(c) % 10) for c in x)) != 670381:
        return False
    
    # Vowel positions product (1-indexed)
    vowels = set('aeiou')
    vowel_positions = [i+1 for i, c in enumerate(x) if c in vowels]
    prod = 1
    for p in vowel_positions:
        prod *= p
    if prod != 12:
        return False
    
    # Must contain exactly 2 vowels
    if sum(1 for c in x if c in vowels) != 2:
        return False
    
    # Character at position 3 (index 2)
    if x[2] != 'n':
        return False
    
    return True
"jungle"
"jungle"
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
-2 vs -1
#9 Sample Solution Wrong
import unicodedata

def mystery(x):
    # Operate on normalized lowercase strings only.
    if not isinstance(x, str):
        return False
    s = unicodedata.normalize("NFKC", x)
    if s.lower() != s:
        return False

    # Basic shape constraints
    if len(s) != 7:
        return False
    if not s.isalpha():
        return False

    # A couple of easy-to-check frequency/uniqueness constraints
    if s.count('z') != 2:
        return False
    if len(set(s)) != 6:  # exactly one repeated character (the two 'z's)
        return False

    # Numeric transforms on characters
    ords = [ord(c) for c in s]

    # 1) Sum of codepoints
    if sum(ords) != 782:
        return False

    # 2) Weighted sum (1-indexed positions times codepoint)
    if sum((i + 1) * v for i, v in enumerate(ords)) != 3046:
        return False

    # 3) XOR of all codepoints
    xo = 0
    for v in ords:
        xo ^= v
    if xo != 18:
        return False

    # 4) Sum of squares
    if sum(v * v for v in ords) != 87866:
        return False

    # 5) Last-digit concatenation: ord % 10 for each character, concatenated as int
    if int(''.join(str(v % 10) for v in ords)) != 2722810:
        return False

    # 6) Product of vowel positions (1-indexed)
    vowels = set('aeiou')
    vpos = [i + 1 for i, c in enumerate(s) if c in vowels]
    prod_vpos = 1
    for p in vpos:
        prod_vpos *= p
    if prod_vpos != 12:
        return False

    # 7) Exactly two vowels
    if len(vpos) != 2:
        return False

    # 8) Parity/profile mask (alphabet positions parity: a=1..z=26)
    mask = [(ord(c) - ord('a') + 1) % 2 for c in s]
    if mask != [0, 1, 0, 0, 0, 1, 0]:
        return False

    # 9) Product of codepoints at prime indices (1-indexed: 2,3,5,7) modulo 997
    prime_indices = [2, 3, 5, 7]
    prod_prime_pos = 1
    for idx in prime_indices:
        prod_prime_pos *= ords[idx - 1]
    if prod_prime_pos % 997 != 69:
        return False

    # 10) Digital root of the sum of codepoints must be 8
    def digital_root(n):
        while n >= 10:
            ssum = 0
            while n:
                ssum += n % 10
                n //= 10
            n = ssum
        return n
    if digital_root(sum(ords)) != 8:
        return False

    return True
'puzzled'
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
-3 vs -1
#10 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    
    if len(x) != 5:
        return False
    
    if not x.isalpha():
        return False
    
    if x.lower() != x:
        return False
    
    # All characters must be distinct
    if len(set(x)) != 5:
        return False
    
    # First character must be 'm'
    if x[0] != 'm':
        return False
    
    # Last character must be 'c'
    if x[-1] != 'c':
        return False
    
    # Middle character must be 'g'
    if x[2] != 'g':
        return False
    
    # Sum of ASCII values
    if sum(ord(c) for c in x) != 513:
        return False
    
    # Weighted sum by position (1-indexed)
    if sum((i+1) * ord(c) for i, c in enumerate(x)) != 1527:
        return False
    
    # XOR of all character codes
    xor_val = 0
    for c in x:
        xor_val ^= ord(c)
    if xor_val != 97:
        return False
    
    # Sum of squares
    if sum(ord(c)**2 for c in x) != 52725:
        return False
    
    # Last digit concatenation
    if int(''.join(str(ord(c) % 10) for c in x)) != 97359:
        return False
    
    # Vowel positions product (1-indexed)
    vowels = set('aeiou')
    vowel_positions = [i+1 for i, c in enumerate(x) if c in vowels]
    prod = 1
    for p in vowel_positions:
        prod *= p
    if prod != 8:
        return False
    
    # Must contain exactly 2 vowels
    if sum(1 for c in x if c in vowels) != 2:
        return False
    
    return True
"magic"
"magic"
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
-3 vs -1