-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Perhaps at some point we want to have symbolic programs with a distinct concrete instruction. A possible way forward could come in the form of the following:
-- For having concolic programs instead of singleton ones
abbrev addBytecode (preCode postCode : Array UInt8) : ByteArray :=
⟨preCode ++ #[(0x01 : UInt8)] ++ postCode⟩
abbrev addInstr (preCode postCode : Array UInt8) : Option (Operation .EVM × Option (UInt256 × Nat)) :=
decode (addBytecode preCode postCode) (.ofNat preCode.size)
theorem array_append_size_comm {α : Type} (a1 a2 : Array α) :
(a1 ++ a2).size <= (a2 ++ a1).size := by sorry
theorem array_append_size_le {α : Type} (a1 a2 : Array α) :
a1.size <= (a1 ++ a2).size := by sorry
theorem addInst_eq (preCode postCode : Array UInt8)
(preCode_size_ok : preCode.size < UInt256.size) :
addInstr preCode postCode = add_instr := by sorry
Metadata
Metadata
Assignees
Labels
No labels