Skip to content

Case expression prints badly #1086

Open
@mn200

Description

@mn200

The definition

Definition a_def:
  a x =
  case x of
  | y::ys => if y = T then SOME y else SOME F
  | [] => NONE
End

parses correctly, but prints as

val a_def =
   ⊢ ∀x. a x = case x of [] => NONE | T::ys => SOME y | y::ys => SOME F: thm

where the y in the second clause is printed as a free variable (just as it appears), even though it’s actually the y of the first branch of the definition, and thus bound.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions