Theory Nat_Util

theory Nat_Util
  imports Main
begin

section ‹HOL›

lemma duplicate_assms:
  "(P; P  Q)  (P  Q)"
  by simp

section ‹Natural Number Arithmetic›

lemma div_2_eq_Suc:
  "x div 2 = y div 2; x  y  (y = Suc x)  (x = Suc y)"
  by linarith

lemma Suc_m_sub_n_div_2:
  "Suc ((m - n) div 2) > (m - Suc n) div 2"
  by (simp add: div_le_mono le_Suc_eq)

lemma Suc_div_2_less_Suc:
  "Suc x div 2 < Suc x"
  by simp

lemma nat_x_less_y_le_Suc_x:
  "x < y; y  Suc x  y = Suc x"
  by simp

lemma nat_sub_eq_add:
  "(a :: nat) - b = c - d; b < a  a + d = c + b"
  by simp

end