chore: prepare to rename default_decreasing_tactic

This commit is contained in:
Leonardo de Moura 2022-01-11 14:42:25 -08:00
parent 2464da0dca
commit ca89da28d0

View file

@ -21,3 +21,18 @@ macro "default_decreasing_tactic" : tactic =>
-- TODO: linearith
-- TODO: improve
))
macro "decreasing_tactic" : tactic =>
`((simp [invImage, InvImage, Prod.lex, sizeOfWFRel, measure, Nat.lt_wfRel];
repeat (first | apply Prod.Lex.right | apply Prod.Lex.left)
repeat (first | apply PSigma.Lex.right | apply PSigma.Lex.left)
first
| apply Nat.lt_succ_self -- i < i+1
| decide -- e.g., 0 < 1
| apply Nat.pred_lt; assumption -- i-1 < i if i ≠ 0
| apply Nat.pred_lt'; assumption -- i-1 < i if j < i
| apply Nat.sub_succ_lt_self; assumption -- a - (i+1) < a - i if i < a
| assumption
-- TODO: linearith
-- TODO: improve
))