Skip to content

Method only verifies with --useOldAxiomatization #855

@superaxander

Description

@superaxander

The following method only seems to verify if I use --useOldAxiomatization:

method lemmaUniquenessPrefix(s1: Seq[Bool], s2: Seq[Bool],
  prefix: Seq[Bool])
  ensures (s1 == s2) == (prefix ++ s1 == prefix ++ s2)
{
  var s3: Seq[Bool]
  var s4: Seq[Bool]
  if (|s1| == |s2|) {
    s3 := prefix ++ s1
    s4 := prefix ++ s2
    inhale (forall y: Int ::
        { s1[y] }
        0 <= y && y < |s1| ==>
        (s1[y] == s2[y]) == (s3[|prefix| + y] == s4[|prefix| + y]))
  }
}

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