Skip to content

Frontend.Dim assertion failure #180

@zilinc

Description

@zilinc
def $f(nat**): nat*
def $f((n^(i<k))^j) = l^j  -- (if l = |n^k|)^j

results in a crash:

./spectec: uncaught exception File "src/frontend/dim.ml", line 504, characters 8-14: Assertion failed

Backtrace:
Raised at Frontend__Dim.annot_iterexp.(fun) in file "src/frontend/dim.ml", line 504, characters 8-55
Called from Stdlib__List.filter_map in file "list.ml", line 280, characters 12-15
Called from Frontend__Dim.annot_iterexp in file "src/frontend/dim.ml", line 500, characters 4-281
Called from Stdlib__List.map in file "list.ml", line 83, characters 15-19
Called from Frontend__Dim.annot_iter in file "src/frontend/dim.ml", line 365, characters 12-114
Called from Frontend__Dim.annot_iterexp in file "src/frontend/dim.ml", line 498, characters 32-51
Called from Frontend__Dim.annot_exp in file "src/frontend/dim.ml", line 433, characters 26-60
Called from Frontend__Dim.annot_exp in file "src/frontend/dim.ml", line 432, characters 24-40
Called from Frontend__Dim.annot_arg in file "src/frontend/dim.ml", line 549, characters 23-38
Called from Frontend__Dim.annot_top in file "src/frontend/dim.ml", line 581, characters 19-32
Called from Stdlib__List.map in file "list.ml", line 83, characters 15-19
Called from Frontend__Elab.elab_def in file "src/frontend/elab.ml", line 2584, characters 14-48
Called from Stdlib__List.concat_map in file "list.ml", line 286, characters 32-37
Called from Stdlib__List.prepend_concat_map in file "list.ml", line 290, characters 20-46
Called from Frontend__Elab.elab in file "src/frontend/elab.ml", line 2722, characters 12-45
Called from Dune__exe__Main in file "src/exe-spectec/main.ml", line 180, characters 23-44

Workaround is to change the iterator from n^(i<k) to n^k.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions