Skip to content

Frontend.Dim assertion failure #180

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions