Skip to content

Possible implies endpoint not giving correct result #3605

Open
@nwatson22

Description

@nwatson22

I have a simple configuration with just a k cell and a Map.

  configuration <T color="yellow">
                  <k> $PGM:Pgm </k>
                  <state> .Map </state>
                </T>

And am passing in something that looks like this (before being converted to kore)

antecedent: <generatedTop>
  <T>
    <k>
      K_CELL
    </k>
    <state>
      STATE_CELL
    </state>
  </T>
  <generatedCounter>
    GENERATEDCOUNTER_CELL
  </generatedCounter>
</generatedTop>
consequent: #Exists X . #Exists Y . <generatedTop>
  <T>
    <k>
      K_CELL
    </k>
    <state>
      STATE_CELL
    </state>
  </T>
  <generatedCounter>
    GENERATEDCOUNTER_CELL
  </generatedCounter>
</generatedTop>
#And { true #Equals 0 >Int Y }
#And { true #Equals 0 <=Int X }

with the goal of figuring out if { true #Equals 0 >Int Y } #And { true #Equals 0 <=Int X } is satisfiable, and the endpoint returns satisfiable=false. In #3601 it is mentioned that this satisfiable field should actually be called "valid", but I thought this implication should actually be valid because { true #Equals 0 >Int Y } #And { true #Equals 0 <=Int X } is satisfiable and the variables X and Y are existentially quantified. It's possible I'm just not using the endpoint correctly or am not understanding something matching-logic related.

bug_report.tar.gz

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions