google-deepmind / google-deepmind/alphageometry
code error!
- Dominant language
- Python
- Stars
- 4.9k
- Forks
- 572
- PR merge metrics
- No merged PRs in 30d
Description
in alphageometry.py try_translate_constrained_to_construct()
```
for prem in prems:
name, *args = prem
if point not in args:
return f'ERROR: {point} not found in predicate args.'
if not check_valid_args(pt.map_symbol(name), args):
return 'ERROR: Invalid predicate ' + name + ' ' + ' '.join(args)
for a in args:
if a != point and a not in existing_points:
return f'ERROR: point {a} does not exist.'
try:
name, args = translate_constrained_to_constructive(point, name, args)
except: # pylint: disable=bare-except
return 'ERROR: Invalid predicate ' + name + ' ' + ' '.join(args)
if name == 'on_aline':
if args.count(point) > 1:
return f'ERROR: on_aline involves twice {point}'
constructions += [name + ' ' + ' '.join(args)]
```
in check_valid_args(pt.map_symbol(name), args):
```
elif name == 'eqangle':
if len(args) != 8:
return False
a, b, c, d, e, f, g, h = args
if len({a, b, c, d}) < 3:
return False
if len({e, f, g, h}) < 3:
return False
```
in translate_constrained_to_constructive(point, name, args):
```
elif name in ['^', 'eqangle']:
a, b, c, d, e, f = args
if point in [d, e, f]:
a, b, c, d, e, f = d, e, f, a, b, c
x, b, y, c, d = b, c, e, d, f
if point == b:
a, b, c, d = b, a, d, c
if point == d and x == y: # x p x b = x c x p
return 'angle_bisector', [point, b, x, c]
if point == x:
return 'eqangle3', [x, a, b, y, c, d]
return 'on_aline', [a, x, b, c, y, d]
```
In the displayed check_valid_args(pt.map_symbol(name), args), the code content contradicts that of translate_constrained_to_constructive(point, name, args). The error in the latter would prevent the language model from ever outputting the three auxiliary constructions during testing. Has anyone reproduced the results in the paper? Could this issue in the code affect the test results?
Contributor guide
Assessment
This issue has not been assessed yet.