Skip to content

Commit

Permalink
Generate rewrite relation (#4745)
Browse files Browse the repository at this point in the history
Closes #4728

Generates an inductive type `Rewrites : GeneratedTopCell ->
GeneratedTopCell -> Prop` where each constructor (except for the first
one which expresses transitivity) encodes a K rewrite rule.

Each constructor has the following signature:
* An implicit binder for each free variable.
* An explicit binder for each function application which expresses
definedness of the function over the arguments.
* An explicit binder for the requires clause.
* The type `Rewrites <lhs> <rhs>`.
  • Loading branch information
tothtamas28 authored Jan 27, 2025
1 parent 6482ee2 commit e85cda0
Show file tree
Hide file tree
Showing 4 changed files with 353 additions and 56 deletions.
2 changes: 1 addition & 1 deletion pyk/src/pyk/k2lean4/Prelude.lean
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ These theorems should be provable directly from the function rules and the seman
-/

-- Basic K types
abbrev SortBool : Type := Int
abbrev SortBool : Type := Bool
abbrev SortBytes : Type := ByteArray
abbrev SortId : Type := String
abbrev SortInt : Type := Int
Expand Down
Loading

0 comments on commit e85cda0

Please sign in to comment.