runtimeverification / k

K Framework Tools 7.0
BSD 3-Clause "New" or "Revised" License
442 stars 145 forks source link

Encoding symbolic and concrete in Kore #3406

Open ana-pantilie opened 1 year ago

ana-pantilie commented 1 year ago

K currently allows users to mark function definition rules as symbolic or concrete. Since function definitions have semantic value, the symbolic and concrete attribute need to have an encoding in Kore/ML. We need to figure out if our main semantics use this feature, and if they do, to figure out if such an encoding exists.

Note: this is for function definition rules not simplification rules

Related #3385

ehildenb commented 1 year ago

concrete is only used on some function rules in KEVM, and there we do actually use it. The one restriction that is (loosely) enforced is that all the rules for that production must be marked as concrete, which I think is sufficient to allow us to not make an ML encoding for it. So instead, I would suggest:

These should be enforced by the frontend.

ehildenb commented 1 year ago

Will have to update KEVM to do this.