lean4-htt/tests/lean/run/ite_dsimproc.lean
2024-06-11 23:36:18 +00:00

21 lines
547 B
Text

open BitVec
example (x : BitVec n) : zeroExtend (if 1#1 = 1#1 then 128 else 64) x = zeroExtend 128 x := by
simp
example (x : BitVec n) : zeroExtend (if 1#1 = 0#1 then 128 else 64) x = zeroExtend 64 x := by
simp
abbrev f (_ : 1#1 = 1#1) := 128
example (h' : 128 = n) : (if h : 1#1 = 1#1 then f h else 20) = n := by
dsimp [-dite_eq_ite]
guard_target = f _ = n
exact h'
abbrev g (_ : 1#1 ≠ 0#1) := 128
example (h' : 128 = m) : (if h : 1#1 = 0#1 then 10 else g h) = m := by
dsimp [-dite_eq_ite]
guard_target = g _ = m
exact h'