Skip to content

Commit

Permalink
Merge branch 'main' into rename-sym-debug
Browse files Browse the repository at this point in the history
  • Loading branch information
shigoel authored Oct 13, 2024
2 parents 1b2f627 + 3b8f5f1 commit 8d9c69e
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
3 changes: 1 addition & 2 deletions Proofs/SHA512/SHA512Prelude.lean
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,8 @@ theorem sha512_block_armv8_prelude (s0 sf : ArmState)
-- cse (config := { processHyps := .allHyps })
simp only [SHA512.prelude, bitvec_rules, minimal_theory]
-- Opening up `prelude`:
-- (FIXME @alex) Why does `s16.program = program` remain even after aggregation?
sym_aggregate
simp only [h_s16_program, ←add_eq_sub_16, minimal_theory]
simp only [←add_eq_sub_16, minimal_theory]
-- The following discharges
-- InputBase + 0x40#64 + 0x40#64 =
-- InputBase + 0x80#64
Expand Down
9 changes: 9 additions & 0 deletions Tactics/Aggregate.lean
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,15 @@ elab "sym_aggregate" simpConfig?:(config)? loc?:(location)? : tactic => withMain
(expectedType := do
let state ← mkFreshExprMVar mkArmState
return mkApp (mkConst ``CheckSPAlignment) state)
-- `?state.program = ?program`
searchLCtxFor (whenFound := whenFound)
(expectedType := do
let mkProgramTy := mkConst ``Program
let state ← mkFreshExprMVar mkArmState
let program ← mkFreshExprMVar mkProgramTy
return mkApp3 (.const ``Eq [1]) mkProgramTy
(mkApp (mkConst ``ArmState.program) state)
program)

let loc := (loc?.map expandLocation).getD (.targets #[] true)
aggregate axHyps loc simpConfig?

0 comments on commit 8d9c69e

Please sign in to comment.