Skip to content

reimplementation of allperms uncovered EasyCrypt (?) error #972

@alleystoughton

Description

@alleystoughton

PR #970 gives us the following behavior. Seems like a bug in EasyCrypt itself?

require import AllCore List Perms.

print allperms_r.
(*
op allperms_r ['a] (n : unit list)
  (s : 'a list) : 'a list list = 
  with n = "[]" => [[]]
  with n = (::) x n0 => flatten
                          (map
                             (fun (x0 : 'a) =>
                                map ((::) x0) (allperms_r n0 (rem x0 s)))
                             (undup s)).
*)

lemma foo (ns ms : int list) :
  ms \in allperms ns.
proof.
rewrite /allperms.
(* ms \in allperms_r (nseq (size ns) tt) ns *)
smt().
(* Ident Top_Perms_allperms_r is not yet declared *)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    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