mathlib documentation

tactic.​omega.​misc

tactic.​omega.​misc

theorem omega.​fun_mono_2 {α β γ : Type} {p : α → β → γ} {a1 a2 : α} {b1 b2 : β} :
a1 = a2 → b1 = b2 → p a1 b1 = p a2 b2

theorem omega.​pred_mono_2 {α β : Type} {p : α → β → Prop} {a1 a2 : α} {b1 b2 : β} :
a1 = a2 → b1 = b2 → (p a1 b1 ↔ p a2 b2)

theorem omega.​pred_mono_2' {c : Prop → Prop → Prop} {a1 a2 b1 b2 : Prop} :
(a1 ↔ a2) → (b1 ↔ b2) → (c a1 b1 ↔ c a2 b2)

def omega.​update {α : Type} :
ℕ → α → (ℕ → α) → ℕ → α

Update variable assignment for a specific variable and leave everything else unchanged

Equations
theorem omega.​update_eq {α : Type} (m : ℕ) (a : α) (v : ℕ → α) :
omega.update m a v m = a

theorem omega.​update_eq_of_ne {α : Type} {m : ℕ} {a : α} {v : ℕ → α} (k : ℕ) :
k ≠ m → omega.update m a v k = v k

def omega.​update_zero {α : Type} :
α → (ℕ → α) → ℕ → α

Assign a new value to the zeroth variable, and push all other assignments up by 1

Equations

Intro with a fresh name

meta def omega.​revert_cond  :
(expr → tactic unit) → expr → tactic unit

Revert an expr if it passes the given test

Revert all exprs in the context that pass the given test

meta def omega.​app_first {α β : Type} :
(α → tactic β) → list α → tactic β

Try applying a tactic to each of the element in a list until success, and return the first successful result